[Insight-users] Question about itk::ThresholdSegmentationLevelSetImageFilter
Joshua Cates
cates at sci.utah.edu
Wed, 28 Jan 2004 10:09:53 -0700 (MST)
Hello Chunyan,
There is probably something in the casting of your image types that is
causing the differences, but I cannot tell from your description how your
pipeline is constructed. Note that the
ThresholdSegmenationLevelSetImageFilter will automatically cast the
FeatureImage input to a floating point type. All of the level-set filters
requires floating point precision for correct results. Explicitly casting
the image to float before setting it as the input should not change the
result but is not required.
Josh.
______________________________
Josh Cates
Scientific Computing and Imaging Institute
University of Utah
Email: cates at sci.utah.edu
Phone: (801) 587-7697
URL: http://www.sci.utah.edu/~cates
On Wed, 28 Jan 2004, jiang wrote:
> Dear ITK-users,
> I tried to do image segmentation by
> itk::ThresholdSegmentationLevelSetImageFilter. It can work now. Firstly, I
> set m_thresholdSegmentation->SetFeatureImage() by read a .png file. Then I
> try to set m_thresholdSegmentation->SetFeatureImage() by one
> InputImageType::Pointer. But the result is not same as before. The other
> settings are totally same. The following is the detail:
> In the first case:
> typedef signed short PixelType;
> typedef itk::Image<PixelType, 2> ImageType;
>
> itk::PNGImageIO::Pointer io;
> io = itk::PNGImageIO::New();
> itk::ImageFileWriter<ImageType>::Pointer writer;
>
> typedef float InputPixelType;
> typedef itk::Image< InputPixelType, 2 > InputImageType;
> typedef itk::ImageFileReader<InputImageType > ReaderType;
> ReaderType::Pointer reader;
>
> ImageType::Pointer --> writer("ImageFile.png") --> reader
> m_thresholdSegmentation->SetFeatureImage(reader->GetOutput())
>
> In the second case:
> typedef itk::CastImageFilter<ImageType,InputImageType> CasterType;
> CasterType1::Pointer Caster;
>
> ImageType::Pointer --> Caster
> m_thresholdSegmentation->SetFeatureImage(Caster->GetOutput())
>
>
> The result of second case is not what I want. How can I get the same result
> as first case, but not use "writer" and "reader", directly by Pointer?
>
>
> Thanks a lot!
>
>
> Chunyan
>
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
>