Availability of Slicer 5.0 on ArchLinux

Manjaro here (from AUR, so I asume the same for all pacman based linux)

:: 1 Packages to upgrade.
1  aur/3dslicer-nightly-bin  4.13.0.r20220113-1 -> 20220501.071714-1
==> Packages to exclude: (eg: "1 2 3", "1-3", "^4" or repo name)
==> 
:: Checking for conflicts...
:: Checking for inner conflicts...
[Aur:1]  3dslicer-nightly-bin-20220501.071714-1

  1 3dslicer-nightly-bin                     (Installed) (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
:: PKGBUILD up to date, Skipping (1/0): 3dslicer-nightly-bin
  1 3dslicer-nightly-bin                     (Installed) (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==> 
:: (1/1) Parsing SRCINFO: 3dslicer-nightly-bin
==> Making package: 3dslicer-nightly-bin 20220501.071714-1 (lun 02 may 2022 14:09:59)
==> Retrieving sources...
  -> Found 3dslicer-20220501.071714.tar.gz
  -> Found 3dslicer.svg
==> Validating source files with sha512sums...
    3dslicer-20220501.071714.tar.gz ... FAILED
    3dslicer.svg ... Passed
==> ERROR: One or more files did not pass the validity check!
 -> error downloading sources: 3dslicer-nightly-bin 
         context: exit status 1 
         

==> Making package: 3dslicer-nightly-bin 20220501.071714-1 (lun 02 may 2022 14:10:04)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found 3dslicer-20220501.071714.tar.gz
  -> Found 3dslicer.svg
==> Validating source files with sha512sums...
    3dslicer-20220501.071714.tar.gz ... FAILED
    3dslicer.svg ... Passed
==> ERROR: One or more files did not pass the validity check!
 -> error making: 3dslicer-nightly-bin

so searching in aur

pamac search 3dslicer
3dslicer-nightly-bin                                                                                                     20220501.071714-1    AUR 
    A free, open source and multi-platform software package widely used for medical, biomedical, and related imaging
    research (nightly build)
3dslicer-nightly                                                                                                         4.11.0_2019_03_06-1  AUR 
    A free, open source software package for image analysis and scientific visualization.
3dslicer-bin                                                                                                 [Installed] 5.0.1-1              AUR 
    A free, open source and multi-platform software package widely used for medical, biomedical, and related imaging
    research
3dslicer                                                                                                                 5.0.1-1              AUR 
    A free, open source and multi-platform software package widely used for medical, biomedical, and related imaging
    research

But the Slicer executable installed is still 4.11

Based on comment associated with issue #5546, it looks like we should update https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=3dslicer-bin to include the SHA of the latest release.

Looking at the history (see here), it has been updated :pray:

That said, the list of sha512sums seems to have been untouched.

cc: @ButuiHu

The only thing working so far is to add the archlinuxcn repository from this comment

This way is working, however there shows these errors after installing slicerrt:

My module is running but the test are failing since the coverage package is not working because of missing sqlite3 package

Something is broken now in brainsresample module, it is not working anymore

this code used to work fine in 4.13

            parameters = {'inputVolume': nodeCT.data, 'referenceVolume': nodeSPECT.data, 'outputVolume': CTRSNode,
                          'interpolationMode': 'Lanczos', 'defaultValue': minCT}

            slicer.cli.run(slicer.modules.brainsresample,
                           None, parameters, wait_for_completion=True, update_display=False)

Now it produces a volume without voxel data

The same version of my module runs fine in MacOS, there is no problem with sqlite, no problem with coverage, and the resample is working as expected:

OpenDose3D works fine on 3D Slicer 5.1.0-2022-05-01 on CentOS


7

I’m on Arch too, let me know if I can run some tests.

Paolo

Please, just enable developper mode and run the tests. they are automatic, so you just need to report if something goes wrong. Just be sure to report the specific Slicer version and how did you installed it.

Current status (04/05/2022):

from AUR:

3dslicer fails to build
3dslicer-bin installs 4.11
3dslicer-nightly installs 4.11

from archlinuxcn:

3dslicer installs 5.0.1 but basic stuffs are not working
3dslicer-bin installs 5.0.1 but basic stuffs are not working
3dslicer-nightly-bin installs 5.0.0 and it is working fine

What and where are these tests? I just built 5.1.0-2022-05-04 r30818 / 68a506f on Arch,which is working seamlessly in my workflow. If there are some standardized tests available, I’ll be happy to contribute.

First of all, thank you very much for your interest.

Please, enable developper mode

Then install my module OpenDose3D, remember to restart Slicer

Finally do the tests and report any error. The module uses extensively the Slicer API, so anything wrong shall be reported in the specific section in the test output.
image

If everything is ok you will have in the python interpreter the following

Unfortunately the tests did not succeed :


***** vtkmrmlutils Module Testing *****

DICOM test data dir: /home/user/Documents/Slicer_Ext/opendose3d/OpenDose3D/Resources/DICOM/A_Cycle3-6848MBq-9h57
Successfully loaded patient 599 with StudyInstanceUID: 1.2.752.37.5.626934496.20171125.26473.4.1934 and SeriesInstanceUID: 1.3.6.1.4.1.33868.20191002120418.51247
Test isDICOM_false_positive started!
Test isDICOM_false_positive passed!
Test isDICOM_true_positive started!
Could not load dicom files from database
Reload and Test failed.


Traceback (most recent call last):
  File "/home/user/bin/Slicer_Ext/opendose3d/OpenDose3D/Logic/testbuilder.py", line 84, in setupDICOM
    _ = DICOMUtils.loadPatientByName(dicomValues.patientName)
  File "/home/user/programs/Slicer/lib/Slicer-5.1/qt-scripted-modules/DICOMLib/DICOMUtils.py", line 104, in loadPatientByName
    raise OSError('Patient not found by name %s' % patientName)
OSError: Patient not found by name Patient1^Cycle3

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/programs/Slicer/bin/Python/slicer/ScriptedLoadableModule.py", line 216, in onReloadAndTest
    test(msec=int(slicer.app.userSettings().value("Developer/SelfTestDisplayMessageDelay")), **kwargs)
  File "/home/user/bin/Slicer_Ext/opendose3d/OpenDose3D/OpenDose3D.py", line 107, in runTest
    testCase.runTest(**kwargs)
  File "/home/user/bin/Slicer_Ext/opendose3d/OpenDose3D/Logic/vtkmrmlutilsTest.py", line 49, in runTest
    self.isDICOM_true_positive()
  File "/home/user/bin/Slicer_Ext/opendose3d/OpenDose3D/Logic/vtkmrmlutilsTest.py", line 106, in isDICOM_true_positive
    itemIDs = setupDICOM()
  File "/home/user/bin/Slicer_Ext/opendose3d/OpenDose3D/Logic/testbuilder.py", line 87, in setupDICOM
    raise Error('Unable to load series from database')
Logic.errors.Error

Please note it’s self-built Slicer without any customization.

do you have a valid dicom database? if not, please create one first

Hi all,
here is my output (too long for pasting it here):

Let me know if I can help with other tests.

Paolo

Yes, there is a valid database :

sqlite3 /home/user/Documents/SlicerDICOMDatabase_1/ctkDICOM.sql
SQLite version 3.38.2 2022-03-26 13:51:10
Enter ".help" for usage hints.
sqlite> .tables
ColumnDisplayProperties       Patients                    
Directories                   SchemaInfo                  
DisplayedFieldGeneratorRules  Series                      
Images                        Studies                     
sqlite>

Thanks for testing, OpenDose3D is working correctly in your system. May you tell something about your 3DSlicer installation method.

Inside Slicer please check this is not shown. If it is shown, then create a new database or upgrade the existing one.

This is definitely not shown, no database warning is issued at any time. I’ll still try with a new one tomorrow when I get back to work.

Slicer is built from source (not from PKGBUILD), packaged, then unpacked in a usual location. OpenDose3D is cloned from gitlab, and loaded in Slicer with –additional-module-paths pointing to the OpenDose3D/ directory. Nothing exotic in here.