OpenDose3D YouTube channel

Hello

I want to announce the start of OpenDose3D YouTube channel.

OpenDose3D is a 3DSlicer extension for Patient dosimetry in internal radiotherapy. Please subscribe and leave us your comments.

3 Likes

Hi!

I was following the video tutorial 02 Testing OD3D and am facing a weird issue when I select the Utilities → Run Test. I receive the following message on the Python console:

[Python] DICOM test data dir: /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/OpenDose3D/lib/Slicer-5.6/qt-scripted-modules/Resources/DICOM/A_Cycle3-6848MBq-9h57
[Python] Successfully loaded patient 1 with StudyInstanceUID: 1.2.752.37.5.626934496.20171125.26473.4.1934 and SeriesInstanceUID: 1.3.6.1.4.1.33868.20191002120418.51247
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 48HR
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 4HR
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 1HR
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 24HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 1HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 96HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 24HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 48HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 4HR
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 96HR
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 48HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 4HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 1HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 24HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 96HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
Traceback (most recent call last):
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/OpenDose3D/lib/Slicer-5.6/qt-scripted-modules/OpenDose3D.py”, line 1228, in onRunTestButton
self.test.FullTest_positive()
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/OpenDose3D/lib/Slicer-5.6/qt-scripted-modules/Logic/OpenDose3DTest.py”, line 542, in FullTest_positive
self.logic.createTransforms(referenceNode.data)
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/OpenDose3D/lib/Slicer-5.6/qt-scripted-modules/Logic/OpenDose3DLogic.py”, line 919, in createTransforms
Elastix.RegistrationPresets_ParameterFilenames
AttributeError: module ‘Elastix’ has no attribute ‘RegistrationPresets_ParameterFilenames’
[Python] Cannot load preset. Loading failed with error: [Errno 2] No such file or directory: ‘/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerElastix/lib/Slicer-5.6/qt-scripted-modules/Resources/RegistrationParameters/par0013Powell_NGC_singleImage.txt’
[Qt] An OpenGL Core Profile was requested, but it is not supported on the current platform. Falling back to a non-Core profile. Note that this might cause rendering issues.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://wiki.slicer.org/slicerWiki/images/2/2a/CarreraSliceEffect.png’. This content should also be served over HTTPS.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://www.slicer.org/slicerWiki/images/b/b7/CurveMakerIcon.png’. This content should also be served over HTTPS.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://www.slicer.org/slicerWiki/images/a/ac/ErodeDilateLabelIcon.png’. This content should also be served over HTTPS.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://www.slicer.org/slicerWiki/images/a/a7/GyroGuide.png’. This content should also be served over HTTPS.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://www.slicer.org/slicerWiki/images/e/e5/QuickToolsLogo.png’. This content should also be served over HTTPS.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://wiki.slicer.org/slicerWiki/images/f/f6/IntensitySegmenterIcon.png’. This content should also be served over HTTPS.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://www.slicer.org/slicerWiki/images/a/ac/PAAlogo-small.png’. This content should also be served over HTTPS.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://www.slicer.org/slicerWiki/images/b/ba/SegAidedRegSquareFocus128.png’. This content should also be served over HTTPS.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://www.example.com/Slicer/Extensions/SlicerSurfaceLearner.png’. This content should also be served over HTTPS.
[Qt] Mixed Content: The page at ‘@KitwareMedical/slicer-extensions-webapp’ was loaded over HTTPS, but requested an insecure image ‘http://slicer.org/slicerWiki/images/3/32/T1_Mapping_Logo_Resized.png’. This content should also be served over HTTPS.
[Qt] A cookie associated with a cross-site resource at http://www.nitrc.org/ was set without the SameSite attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with SameSite=None and Secure. You can review cookies in developer tools under Application>Storage>Cookies and see more details at Chrome Platform Status and Chrome Platform Status.

Could you help me with what could be causing this?

Thank you!

Greetings,
Beatriz

Is the Elastix extension installed? There is an error about not finding the directory:

AttributeError: module ‘Elastix’ has no attribute ‘RegistrationPresets_ParameterFilenames’
[Python] Cannot load preset. Loading failed with error: [Errno 2] No such file or directory: ‘/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerElastix/lib/Slicer-5.6/qt-scripted-modules/Resources/RegistrationParameters/

Hi,

I checked and it is installed. The name of the module tho that appears to me is SlicerElastix.

It is not finding the registration presets. That looks like an issue with Elastix to me. Perhaps try running the Elastix by itself to register a dataset and see if it is correctly installed?

Hi,

I tried running Elastix by itself and it shows me this message on the python console:

[Python] Cannot load preset. Loading failed with error: [Errno 2] No such file or directory: ‘/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerElastix/lib/Slicer-5.6/qt-scripted-modules/Resources/RegistrationParameters/par0013Powell_NGC_singleImage.txt’

I am confused because the file exists and it’s present in that directory.

At least you know the issue with Elastix. I am not familiar with unfortunately.
So in the shell window if you do

ls -l /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerElastix/lib/Slicer-5.6/qt-scripted-modules/Resources/RegistrationParameters/par0013Powell_NGC_singleImage.txt

you see a file?

Yes I see. I even went to the directory itself and opened it.

administrator@Pacheca-IBEB:~$ ls -l /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerElastix/lib/Slicer-5.6/qt-scripted-modules/Resources/RegistrationParameters/Par0013Powell_NGC_singleImage.txt
-rw-r–r-- 1 administrator administrator 1796 Jan 22 16:39 /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/SlicerElastix/lib/Slicer-5.6/qt-scripted-modules/Resources/RegistrationParameters/Par0013Powell_NGC_singleImage.txt

I think I see what is wrong. My file is called Par0013Powell_NGC_singleImage.txt while the one 3d Slicer is trying to find is par0013Powell_NGC_singleImage.txt. it’s all because of the letter P.
I just changed to a small letter p the name of the file and I don’t get the error for Elastix.

1 Like

I still get this extensive error when I try to do the run test of OpenDose3D tho.

[Python] DICOM test data dir: /home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/OpenDose3D/lib/Slicer-5.6/qt-scripted-modules/Resources/DICOM/A_Cycle3-6848MBq-9h57
[Python] Successfully loaded patient 1 with StudyInstanceUID: 1.2.752.37.5.626934496.20171125.26473.4.1934 and SeriesInstanceUID: 1.3.6.1.4.1.33868.20191002120418.51247
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 48HR
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 4HR
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 1HR
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 24HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 1HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 96HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 24HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 48HR
[Python] Cannot get DICOM slice positions for volume 1: CT SPECT-CT 4HR
[Python] Cannot get DICOM slice positions for volume 1: ACSC SPECT-CT 96HR
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 48HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 4HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 1HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 24HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] Failed to read DICOM attribute ‘DICOM.AcquisitionFramesDuration’
[Python] Attribute ‘DICOM.Acquisition.Duration’ is empty
[Python] No injection time and no timestamp in name for node 1: ACSC SPECT-CT 96HR
[Python] Failed to retrieve DICOM attribute: DICOM.Injection.Date
Traceback (most recent call last):
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/OpenDose3D/lib/Slicer-5.6/qt-scripted-modules/OpenDose3D.py”, line 1228, in onRunTestButton
self.test.FullTest_positive()
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/OpenDose3D/lib/Slicer-5.6/qt-scripted-modules/Logic/OpenDose3DTest.py”, line 542, in FullTest_positive
self.logic.createTransforms(referenceNode.data)
File “/home/administrator/Software/Slicer-5.6.2-linux-amd64/slicer.org/Extensions-32448/OpenDose3D/lib/Slicer-5.6/qt-scripted-modules/Logic/OpenDose3DLogic.py”, line 919, in createTransforms
Elastix.RegistrationPresets_ParameterFilenames
AttributeError: module ‘Elastix’ has no attribute ‘RegistrationPresets_ParameterFilenames’

This has already been fixed in the latest update of OpenDose3D (2025-01-24).

2 Likes

Dear @imbeatriz ,

For version 5.8.0, its more better for OpenDose3D. Perhaps you try it. Especially in OAR segmentation, very nice.

1 Like

Hi,

I tried and it’s working perfectly!

Thank you!

2 Likes