<span class="gmail_quote"></span>I am using EZDicom to visualize my result.<br>and discovering the value of intensity is full -32768.<br>it seems like overflow.<br><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br><div><span class="gmail_quote">2007/3/27, Luis Ibanez <<a href="mailto:luis.ibanez@kitware.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
luis.ibanez@kitware.com</a>>:</span><div><span class="e" id="q_11193f7f28ce9745_1"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>Hi Goo:
<br><br><br>A couple of comments:<br><br><br>
1) What are you using for visualizing the images ?<br><br> e.g. what is the viewer that leads you to conclude<br> that your float images are "full white". ?<br><br><br><br>2) If you get to a case where the Gradient Magnitude
<br> looks fine, and the Sigmoid looks "full white", then<br> you need to *REDUCE* the value of the Beta parameter<br> in the Sigmoid filter.<br><br> In order to find an appropriate value for Beta, you
<br> should study the values of the Gradient Magnitude image<br> on the edges of the structures that you intend to segment.<br><br><br><br> Please read the ITK Software Guide:<br><br> <a href="http://www.itk.org/ItkSoftwareGuide.pdf" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://www.itk.org/ItkSoftwareGuide.pdf</a><br><br> advice on how to set up the Alpha and Beta parameters<br> in the context of the LevelSets framework is given in<br> sections:<br><br><br> 9.3.1 "Fast Marching Segmentation" in pdf-page 565.
<br> Please read attentively pdf-page 569 and the<br> discussion about K1 and K2 values.<br><br> and, of course, please read section:<br><br> 6.3.2. "Non linear mappings", in pdf-page 181-183.
<br><br><br><br><br>Regards,<br><br><br> Luis<br><br><br><br>-------------<br>Goo wrote:<br>> notice something:<br>><br>> (1)<br>> if the ExternalImageType used as float, the image of result will be white<br>
> entirely in every step (smooth,gradient and sigmoid).<br>><br>> (2)<br>> And if both ExternalImageType and InternalImageType are signed short,<br>><br>> the image of smooth and gradient are fine but sigmoid image is whole white.
<br>><br>> (3) Unfortunately , the format for level set must be float.<br>> How do I solve this problem???<br>><br>><br>> 2007/3/27, Goo <<a href="mailto:gtshowtime@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
gtshowtime@gmail.com</a>
<mailto:<a href="mailto:gtshowtime@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">gtshowtime@gmail.com</a>>>:<br>><br>> Hi All:<br>><br>> This question is so confused to me.
<br>> The output of sigmoid image is shown white entirely but gradient
<br>> image fine.<br>><br>> The following are my programs:<br>> if the ExternalImageType used as float, the image of result will be<br>> white entirely in smooth,gradient and sigmoid.<br>>
<br>> Please give me some guidance.<br>> Regards.<br>><br>> //----------------------------------CODE-------------------------------------------<br>><br>> typedef itk::Image< signed short, 3 > InternalImageType;
<br>> typedef itk::Image< signed short, 3 > ExternalImageType;<br>><br>> typedef itk::RescaleIntensityImageFilter<ExternalImageType,<br>> InternalImageType> InputCastType;<br>
> typedef itk::RescaleIntensityImageFilter<InternalImageType,
<br>> ExternalImageType> OutputCastType;<br>><br>> OutputCastType::Pointer m_SmoothObserver;<br>> OutputCastType::Pointer m_GradientObserver;<br>> OutputCastType::Pointer m_SigmoidObserver;
<br>><br>> typedef itk::ResampleImageFilter<<br>> InternalImageType , InternalImageType ><br>> FilterType;<br>> FilterType::Pointer SubSample = FilterType::New();
<br>><br>> typedef itk::AffineTransform< double, 3 > TransformType;<br>> TransformType::Pointer transform = TransformType::New();<br>><br>> typedef itk::NearestNeighborInterpolateImageFunction<
<br>> InternalImageType, double ><br>> InterpolatorType;<br>> InterpolatorType::Pointer interpolator =<br>> InterpolatorType::New();<br>><br>> SubSample->SetInterpolator( interpolator );
<br>> SubSample->SetDefaultPixelValue( 50 );<br>><br>> double spacing[ 3 ];<br>> spacing[0] = InputCaster->GetOutput()->GetSpacing()[0];<br>> spacing[1] = InputCaster->GetOutput()->GetSpacing()[1];
<br>> spacing[2] = InputCaster->GetOutput()->GetSpacing()[2];<br>> SubSample->SetOutputSpacing( spacing );<br>><br>> double origin [3];<br>> origin[0] = 80*spacing[0];
<br>> origin[1] = 80*spacing[1];<br>> origin[2] = 15*spacing[2];<br>> SubSample->SetOutputOrigin(origin);<br>><br>> InternalImageType::SizeType size;<br>
><br>> size[0] = 100;<br>> size[1] = 100;<br>> size[2] = 5;<br>><br>> SubSample->SetSize( size );<br>> SubSample->SetInput( InputCaster->GetOutput() );
<br>> SubSample->SetTransform( transform );<br>> transform->SetIdentity();<br>><br>> SubSample->Update();<br>><br>><br>> typedef itk::CurvatureAnisotropicDiffusionImageFilter
<br>> < InternalImageType,InternalImageType ><br>> SmoothingFilterType;<br>><br>> typedef itk::GradientMagnitudeRecursiveGaussianImageFilter<br>> < InternalImageType,InternalImageType >
<br>> GradientFilterType;<br>><br>> typedef itk::SigmoidImageFilter<br>> < InternalImageType,InternalImageType ><br>> SigmoidFilterType;<br>><br>> SmoothingFilterType::Pointer m_smoothing =
<br>> SmoothingFilterType::New();<br>> GradientFilterType::Pointer m_gradientMagnitude =<br>> GradientFilterType::New();<br>> SigmoidFilterType::Pointer m_sigmoid =
<br>> SigmoidFilterType::New();<br>><br>> m_smoothing->SetNumberOfIterations( m_SmoothIter );<br>> m_smoothing->SetConductanceParameter( m_SmoothConductance );<br>> m_smoothing->SetTimeStep( m_TimeStep );
<br>><br>> m_gradientMagnitude->SetSigma( m_sigma );<br>><br>> m_sigmoid->SetOutputMinimum( m_SigmoidOutMin );<br>> m_sigmoid->SetOutputMaximum( m_SigmoidOutMax );
<br>> m_sigmoid->SetAlpha( m_alpha );<br>> m_sigmoid->SetBeta( m_beta );<br>><br>> m_smoothing->SetInput( SubSample->GetOutput() );<br>> m_gradientMagnitude->SetInput( m_smoothing->GetOutput() );
<br>> m_sigmoid->SetInput( m_gradientMagnitude->GetOutput() );<br>><br>> m_SmoothObserver->SetInput(m_smoothing->GetOutput());<br>> m_GradientObserver->SetInput(m_gradientMagnitude->GetOutput());
<br>> m_SigmoidObserver->SetInput(m_sigmoid->GetOutput());<br>><br>> m_SmoothObserver->Update();<br>> m_GradientObserver->Update();<br>> m_SigmoidObserver->Update();
<br>><br>><br>><br>> ------------------------------------------------------------------------<br>><br>> _______________________________________________<br>> Insight-users mailing list<br>> <a href="mailto:Insight-users@itk.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Insight-users@itk.org</a><br>> <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.itk.org/mailman/listinfo/insight-users</a><br>
</blockquote></span></div></div><br>
</blockquote></div><br>