View Issue Details

IDProjectCategoryView StatusLast Update
0003847Slicer4Module DICOMpublic2017-06-10 08:51
ReporterSKAAssigned Tomehrtash 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionno change required 
Product VersionSlicer 4.3.1-2 
Target VersionFixed in Version 
Summary0003847: DICOM Import -- reverses left and right
Description

If I import I HEAD CT -- the volume rendering is correct. See attached file (left image).

If I import a CT temporal bones of the LEFT ear (only the left hemicranium) - the volume rendering is reversed (see attached photo on the right side). It renders a RIGHT ear even though the DICOM stack is for a left. You can see it is a left axial ear in the RED panel on the top right.

The same patient's full head is loaded in the first picture, which is volume rendered correctly.

I tried this on multiple axial CTs -- if I load the full head, no problem. If I load the individual RIGHT or LEFT temporal bones, the whole model in mirror imaged.

TagsNo tags attached.

Activities

2014-09-16 21:30

 

pieper

pieper

2014-09-17 03:20

administrator   ~0012519

Thanks for reporting this.

Can you review these suggestions and see if you can provide more debugging information (e.g. ability to reproduce the data without sharing PHI)

http://www.slicer.org/slicerWiki/index.php/Documentation/Nightly/FAQ/DICOM

Also, can you add information to the report saying exactly how you load the individual bones? It's not clear from the report how you load only part of the axial series. Do you do this through some external software?

SKA

SKA

2014-09-17 08:35

reporter   ~0012525

Hello Pieper,

Thanks for the response!

The CT temporal bones are straight from the CD from the CT scanner. NO post-processing or cropping on my part. The DICOM images were straight from the CD. Typically, they will do the entire head, and then high-resolution 0.625mm cuts through the right and left temporal bones. These are shown as separate series on the CD.

I have anonymized the DICOM stacks for you to see in the following link. There is the whole head as well as the RIGHT temporal bone -- both are on the same patient from the same scan CD.

The volume rendering on the right temporal bone shows a LEFT ear (even though the images are for the right). The whole head volume rendering seems to work well, but the coronal and saggital planes do not show up.

https://onedrive.live.com/redir?resid=997D1677213982DB!3857&authkey=!AIavkW0R_icTyOc&ithint=file%2czip

Thanks!

pieper

pieper

2014-09-17 12:18

administrator   ~0012526

Hi -

Thanks for providing the data - the issue makes sense now. This exposed a logic error and also a user interface issue.

Let me start by describing the situation I see in the data:

  • it appears that the RT Temporal lobe series was generated by some process either on the scanner or a workstation to create a derived series.

  • one instance in the series has a different orientation and is a coronal map of where the new slices are. It arguably should be labeled as a secondary capture, but let's say it's valid.

Slicer correctly warns that there are geometry issues with the data. However the issue with slicer's logic was that the option was not exposed to load only the files with matching orientations. This is fixed as of r23697, and now it is possible to select the correct load option.

The GUI issue is multifold. First the correct volume is buried at the bottom of the list and not selected by default even though it is the best interpretation of the data. Perhaps the logic should be: confidence of a loadable is the one that has no warnings but includes the largest number of files.

The second GUI issue is that the warning only shows when you are in Advanced mode, so users may not see it. The solution to this is probably to add a popup when the non-Advanced mode causes a volume to load that includes a warning.

A third GUI issue is smaller, but still important and has been addressed in the ScalarVolumePlugin, which is that only the last warning would be displayed. As of r23697 this has been changed so each warning is concatenated to the end of the warning string. This could lead to a long string, but that's probably better than missing data.

I believe the remaining issues will require some thought so I will keep the bug open and re-assign it to Alireza to review and comment on.

pieper

pieper

2014-09-17 12:20

administrator   ~0012527

For the record, the workaround is to remove the following file from the dicom data tree:

DICOM - Anonymous/Temporal Bone/DICOM/I00

The contents of this file are shown in the attached image "extra_instance.png" and it is clearly not usable as part of a series.

2014-09-17 12:21

 

extra-instance.png (721,993 bytes)
extra-instance.png (721,993 bytes)
SKA

SKA

2014-09-18 14:23

reporter   ~0012577

Thank you Pieper -- removing the file allowed the volume to work perfectly.

I will make sure I check for this from now on.

mehrtash

mehrtash

2015-05-22 10:47

developer   ~0013094

Please re-open if it is not fixed or close if you think this is resolved.

Thanks

Related Changesets

Import 2017-06-07 23:51:09: master 7329f08d

2014-09-17 15:59:41

pieper

Details Diff
BUG: 0003847 create subseries based on image orientation in DICOM

Because the image orientation patient value can include a
comma, the logic to track the distinct values in a collection
of files failed to recognize different orientation values.
This led the only available loading option in slicer being one
with a mix of orientations, leading to incorrect geometry.
This fix allows the plugin to generate independent loadables
for each orientation, thus removing the incorrect behavior.

The issue remains that the loadable with the geometry warning
is still the highest confidence loadable which could lead
to errors. Will address that independently.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23696 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Scripted/DICOMPlugins/DICOMScalarVolumePlugin.py Diff File

Issue History

Date Modified Username Field Change
2014-09-16 21:30 SKA New Issue
2014-09-16 21:30 SKA Status new => assigned
2014-09-16 21:30 SKA Assigned To => pieper
2014-09-16 21:30 SKA File Added: Placement - correct and error.jpg
2014-09-17 03:20 pieper Note Added: 0012519
2014-09-17 03:20 pieper Status assigned => feedback
2014-09-17 08:35 SKA Note Added: 0012525
2014-09-17 12:18 pieper Note Added: 0012526
2014-09-17 12:20 pieper Note Added: 0012527
2014-09-17 12:21 pieper File Added: extra-instance.png
2014-09-17 12:21 pieper Status feedback => assigned
2014-09-17 12:21 pieper Assigned To pieper => mehrtash
2014-09-18 14:23 SKA Note Added: 0012577
2015-05-22 10:47 mehrtash Note Added: 0013094
2015-05-22 10:47 mehrtash Status assigned => resolved
2015-05-22 10:47 mehrtash Resolution open => no change required
2017-06-10 08:51 pieper Changeset attached => Slicer master 7329f08d