View Issue Details

IDProjectCategoryView StatusLast Update
0003467Slicer4Module DICOMpublic2017-11-22 09:02
Reporterpinter Assigned Topinter  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Product Version 
Target VersionFixed in VersionSlicer 4.5.0-1 
Summary0003467: Read and apply window/level settings defined in DICOM images
Description

Many DICOM files containing image data specifies a window/level setting for the image (e.g. CT). It would be great if the generic scalar volume plugin tried to find this tag ( (0028,1050) WindowCenter and (0028,1051) WindowWidth ) and apply it upon loading.

TagsNo tags attached.

Relationships

has duplicate 0003594 resolvedjcfr WindowCenter and WindowWidth values are not initialized correctly when reading volumes 
has duplicate 0003182 closedpieper Slicer ignores WindowCenterUID and WindowWidthUID intensity window 

Activities

pieper

pieper

2014-02-24 09:10

administrator   ~0010621

Yes, we should really wrap that one up - basically we just need to look for the WindowCenter/WindowWidth tags in the dicom header and put them in the display node. It should go in the slicer4 DICOMScalarVolumePlugin (and maybe other plugins?).

Here's the slicer3 code for that around line 676:

http://viewvc.slicer.org/viewvc.cgi/Slicer3/trunk/Base/GUI/Tcl/LoadVolume.tcl?revision=16853&view=markup

I'll add this note to the issues.

-Steve

pinter

pinter

2015-05-01 06:16

developer   ~0013032

Steve: "It might be good to look if we should add this to the volume storage node instead of the dicom module (so dicom data loaded via Add Data would also have the presets)."

pinter

pinter

2015-07-10 11:01

developer   ~0013176

I implemented the window/level read and apply in the scalar volume plugin as originally discussed, see
https://github.com/cpinter/Slicer/tree/3467-read-and-apply-windowlevel-from-dicom

I looked at the volume storage node, but there was no trace of using any DICOM information there, so it was far from straightforward to add this. If it's needed then we have to discuss it more. Otherwise we can just integrate the above branch.

pieper

pieper

2015-07-10 14:08

administrator   ~0013178

What you did makes sense to me. I made one in-line comment to the code which you can either ignore or turn into a comment if you don't think it's worth addressing (I don't think it's a high priority - what you have done so far should handle > 99.9% of cases.)

pinter

pinter

2015-07-14 08:46

developer   ~0013180

Thanks Steve! I added your comment and committed the changes
http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=24407

jcfr

jcfr

2015-07-14 20:51

administrator   ~0013182

Fixed in r24407

See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=24407

Related Changesets

Import 2017-06-07 23:51:09: master 37bb0df6

2015-07-14 12:15:46

pinter

Details Diff
ENH: Read and apply window/level found in DICOM volumes

The first window/level pair that is found in a DICOM volume file is applied to the display node.
Topic branch: https://github.com/cpinter/Slicer/tree/3467-read-and-apply-windowlevel-from-dicom

Fixes 0003467

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

Issue History

Date Modified Username Field Change
2013-10-29 11:11 pinter New Issue
2013-10-29 11:11 pinter Status new => assigned
2013-10-29 11:11 pinter Assigned To => pieper
2014-02-24 08:44 lassoan Relationship added related to 0003594
2014-02-24 09:10 pieper Note Added: 0010621
2015-05-01 06:16 pinter Note Added: 0013032
2015-07-10 11:01 pinter Note Added: 0013176
2015-07-10 14:08 pieper Note Added: 0013178
2015-07-14 08:46 pinter Note Added: 0013180
2015-07-14 08:46 pinter Status assigned => closed
2015-07-14 08:46 pinter Resolution open => fixed
2015-07-14 08:46 pinter Fixed in Version => Slicer 4.4.1
2015-07-14 08:46 pinter Status closed => assigned
2015-07-14 08:46 pinter Assigned To pieper => pinter
2015-07-14 20:51 jcfr Note Added: 0013182
2015-07-14 20:51 jcfr Status assigned => resolved
2015-08-03 22:57 jcfr Relationship replaced has duplicate 0003594
2015-08-03 23:07 jcfr Relationship added has duplicate 0003182
2015-09-09 08:29 jcfr Fixed in Version Slicer 4.4.1 => Slicer 4.5.0-1
2017-06-10 08:51 pinter Changeset attached => Slicer master 37bb0df6
2017-11-22 09:02 pinter Status resolved => closed