Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Try importing and loading all sample datasets #49

Closed
cpinter opened this issue Sep 17, 2017 · 3 comments
Closed

Try importing and loading all sample datasets #49

cpinter opened this issue Sep 17, 2017 · 3 comments
Milestone

Comments

@cpinter
Copy link
Member

cpinter commented Sep 17, 2017

Datasets: https://pocus.cs.queensu.ca/#collection/5cc8811601d4930406c40465

Fix errors that may occur.

Migrated from https://app.assembla.com/spaces/slicerrt/tickets/402-try-importing-and-loading-all-sample-datasets/details

@cpinter cpinter added this to the SlicerRT 1.0 milestone Sep 17, 2017
@cpinter
Copy link
Member Author

cpinter commented Aug 9, 2019

All the datasets have been tested for loading

  • Failed to read
    • Non-issue:
      • Unsupported data types in general: ion plans, beams containing multi-leaf collimators
      • Empty datasets: in some studies the RTPLAN contained no beams or the RTSTRUCT no contours
    • Need to be fixed
      • ITK scalar image reading fails (none of the ITK readers are able to read the actual image data):
        aw-4.4-foot (CT, scout), corvus-6.2.2-phantom (CT, dose, RT images), xio-4.33.02-phantom-chest, xio-4.60.00-phantom-chest/t50, (CT, dose), xio-4.60.00-* (CT, dose, RT image), xio-4.64-phantom-prostate-beams-* (CT, dose)
  • Loaded fine, but issues when processing:
    • Triangulation issues when converting from planar contours to closed surface:
      xio-4.64-phantom-prostate-beams-ap10*, xio-4.64-phantom-prostate-beams-iao10, xio-4.64-phantom-prostate-beams-llat10

cpinter added a commit that referenced this issue Aug 9, 2019
cpinter added a commit that referenced this issue Aug 9, 2019
cpinter added a commit to cpinter/ITK that referenced this issue Aug 9, 2019
The fix consists of two parts:
- In DCMTK and GDCM ImageIO there are two duplicate functions called readNoPreambleDicom. Its implementation was faulty, as it did not consider the two bytes that were already read but rejected as it was not a VR (value representation). These two bytes are now reused for the length, which is now correctly read, which confirms that the order of information in the DICOM header is correct. This function was fixed both places
- In DCMTK file reader CanReadFile function the loadFile call confirms that the file is valid despite not having a preamble, in which case it returns an EC_FileMetaInfoHeaderMissing value instead of an EC_Normal. This value needs to be accepted as well

This change can be tested on the datasets mentioned in this SlicerRT issue: SlicerRt/SlicerRT#49
The datasets in question are: aw-4.4-foot (CT, scout), corvus-6.2.2-phantom (CT, dose, RT images), xio-4.33.02-phantom-chest, xio-4.60.00-phantom-chest/t50, (CT, dose), xio-4.60.00-* (CT, dose, RT image), xio-4.64-phantom-prostate-beams-* (CT, dose)
Which can be found here: https://pocus.cs.queensu.ca/#collection/5cc8811601d4930406c40465 or here https://github.com/SlicerRt/SlicerRtData/tree/master
@cpinter
Copy link
Member Author

cpinter commented Aug 9, 2019

The abovementioned ITK issue has been fixed in this PR: InsightSoftwareConsortium/ITK#1153
Issue can be closed if PR is integrated and Slicer updated to include the fix.

cpinter added a commit to cpinter/ITK that referenced this issue Aug 9, 2019
The fix consists of two parts:
- In DCMTK and GDCM ImageIO there are two duplicate functions called readNoPreambleDicom. Its implementation was faulty, as it did not consider the two bytes that were already read but rejected as it was not a VR (value representation). These two bytes are now reused for the length, which is now correctly read, which confirms that the order of information in the DICOM header is correct. This function was fixed both places
- In DCMTK file reader CanReadFile function the loadFile call confirms that the file is valid despite not having a preamble, in which case it returns an EC_FileMetaInfoHeaderMissing value instead of an EC_Normal. This value needs to be accepted as well

This change can be tested on the datasets mentioned in this SlicerRT issue: SlicerRt/SlicerRT#49
The datasets in question are: aw-4.4-foot (CT, scout), corvus-6.2.2-phantom (CT, dose, RT images), xio-4.33.02-phantom-chest, xio-4.60.00-phantom-chest/t50, (CT, dose), xio-4.60.00-* (CT, dose, RT image), xio-4.64-phantom-prostate-beams-* (CT, dose)
Which can be found here: https://pocus.cs.queensu.ca/#collection/5cc8811601d4930406c40465 or here https://github.com/SlicerRt/SlicerRtData/tree/master
dzenanz pushed a commit to InsightSoftwareConsortium/ITK that referenced this issue Aug 13, 2019
The fix consists of two parts:
- In DCMTK and GDCM ImageIO there are two duplicate functions called readNoPreambleDicom. Its implementation was faulty, as it did not consider the two bytes that were already read but rejected as it was not a VR (value representation). These two bytes are now reused for the length, which is now correctly read, which confirms that the order of information in the DICOM header is correct. This function was fixed both places
- In DCMTK file reader CanReadFile function the loadFile call confirms that the file is valid despite not having a preamble, in which case it returns an EC_FileMetaInfoHeaderMissing value instead of an EC_Normal. This value needs to be accepted as well

This change can be tested on the datasets mentioned in this SlicerRT issue: SlicerRt/SlicerRT#49
The datasets in question are: aw-4.4-foot (CT, scout), corvus-6.2.2-phantom (CT, dose, RT images), xio-4.33.02-phantom-chest, xio-4.60.00-phantom-chest/t50, (CT, dose), xio-4.60.00-* (CT, dose, RT image), xio-4.64-phantom-prostate-beams-* (CT, dose)
Which can be found here: https://pocus.cs.queensu.ca/#collection/5cc8811601d4930406c40465 or here https://github.com/SlicerRt/SlicerRtData/tree/master
@cpinter cpinter closed this as completed Aug 14, 2019
@cpinter
Copy link
Member Author

cpinter commented Aug 29, 2019

The ITK changes are now included in the Slicer build and I confirmed that the problematic datasets now load fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant