<div dir="ltr">Since you're already using vtk-dicom, you can use vtkDICOMApplyRescale<div>to convert your CT image to Hounsfield units (if you use this filter, you should</div><div>also call AutoRescaleOff() on the reader).</div><div><br></div><div>After the image has been converted to Hounsfield units, you can use the</div><div>"Window Center" and "Window Width" presets that are stored in the meta</div><div>data to set the range for the lookup table.</div><div><br></div><div>However, I usually ignore these presets, and instead use the VTK class</div><div>vtkImageHistogramStatistics to compute the range.  Its GetAutoRange()</div><div>computes a range by doing some simple histogram analysis.</div><div><br></div><div>If you enjoy doing a lot of reading, the relevant parts the DICOM standard</div><div>are here:</div><div><a href="http://dicom.nema.org/MEDICAL/Dicom/current/output/chtml/part03/sect_C.11.html">http://dicom.nema.org/MEDICAL/Dicom/current/output/chtml/part03/sect_C.11.html</a></div><div class="gmail_extra"><br></div><div class="gmail_extra">After the image goes through vtkImageMapToColors, how are you</div><div class="gmail_extra">rendering it?</div><div class="gmail_extra"><br></div><div class="gmail_extra"> - David</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 11, 2016 at 6:19 AM, Flaviu2 <span dir="ltr"><<a href="mailto:flaviu2@yahoo.com" target="_blank">flaviu2@yahoo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"><div><span>I have tried this:</span></div><div><span><raw></span></div><span><font color="#808080"><div>       // Create a greyscale lookup m_pLUTAxial</div><div>
m_pLUTAxial->SetValueRange(0.0, 1.0); // from black to white</div><div>
m_pLUTAxial->SetSaturationRange(0.0, 0.0); // no color saturation</div><div>
double dRange[2];</div><div dir="ltr">m_pDICOMReader->Update();</div><div>
m_pDICOMReader->GetOutput()->GetScalarRange(dRange);</div><div>
m_pLUTAxial->SetRange(dRange); // image intensity range</div><div>
m_pLUTAxial->SetRampToLinear();</div><div>
m_pLUTAxial->Build();</div><div>
m_pColorAxial->SetLookupTable(m_pLUTAxial);</div><div><font color="#000000"></raw></font></div><div dir="ltr"><font color="#000000">The trouble is that image m_pColorAxial which is vtkMapImageToColors, is still whiter ... I noticed that dRange is between 0 and 3913 ...</font></div><div dir="ltr"><font color="#000000"></font><br></div><div dir="ltr"><font color="#000000">I guess that is more than that ... I will try to dig into converting pixels to Hounsfield units ... aIs nybody done this before ?</font></div><div dir="ltr"><font color="#000000"></font><br></div><div dir="ltr"><font color="#000000">Flaviu.</font></div></font><div><br></div></span><div><div class="h5"><div dir="ltr"><br></div> <div><br><br></div><div style="display:block"> <div style="font-family:Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div dir="ltr"><font face="Arial" size="2"> On Tuesday, May 10, 2016 5:15 PM, David Gobbi <<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>> wrote:<br></font></div>  <br><br> <div><div><div><div dir="ltr"><div><div><div>On Tue, May 10, 2016 at 7:37 AM, Flaviu2 <<a href="mailto:flaviu2@yahoo.com" rel="nofollow" shape="rect" target="_blank">flaviu2@yahoo.com</a>> wrote:<br clear="none">><br clear="none">> Very useful your comments ! I have learned something here.<br clear="none">><br clear="none">> The line<br clear="none">><br clear="none">> > table->SetRange(0, 2047)<br clear="none"><br clear="none">Try something like the code below, it is simple but it often works fine.</div><div>If it doesn't work for your image, there are more sophisticated methods</div><div>that can be used, but they involve computing some statistics on the</div><div>image and using the metadata to convert pixels to Hounsfield units.</div><div><br clear="none">m_pDICOMReader->Update();<br clear="none">double range[2];<br clear="none">m_pDICOMReader->GetOutput()->GetScalarRange(range);</div><div>table->SetRange(range);</div><div><div><br clear="none"></div><div> - David</div></div></div></div></div></div></div><br><br></div>  </div> </div>  </div></div></div></div></div></blockquote></div><br></div></div>