[Insight-users] little double about the output of Geodesic Active Contours Segmentation with Shape Guidance

Juan Cardelino juan.cardelino at gmail.com
Wed May 19 16:41:11 EDT 2010


Actually I think what I was saying was redudant. If I did understand
correctly, the following chunk of code, which starts at line 958
already does the transformation. Meaning that in
"GeodesicActiveContourShapePriorImageFilterOutput6.png" i should see
the output shap registered with the input image.
Would you agree with this?
Regards,
              Juan

--------------------- BEGIN CODE ---------------------
  // Also write out the initial and final best fit shape
  typedef itk::SpatialFunctionImageEvaluatorFilter<
                              ShapeFunctionType,
                              InternalImageType,
                              InternalImageType >  EvaluatorFilterType;

  EvaluatorFilterType::Pointer evaluator = EvaluatorFilterType::New();
  evaluator->SetInput( geodesicActiveContour->GetOutput() );
  evaluator->SetFunction( shape );
  shape->SetParameters( geodesicActiveContour->GetInitialParameters() );

  thresholder->SetInput( evaluator->GetOutput() );
  writer->SetFileName(
"GeodesicActiveContourShapePriorImageFilterOutput5.png" );
  writer->Update();

  shape->SetParameters( geodesicActiveContour->GetCurrentParameters() );
  evaluator->Modified();
  writer->SetFileName(
"GeodesicActiveContourShapePriorImageFilterOutput6.png" );
  writer->Update();

--------------------- END CODE ---------------------



On Wed, May 19, 2010 at 4:40 PM, Juan Cardelino
<juan.cardelino at gmail.com> wrote:
> Hey Haiyong,
>         Thanks for answering so quickly. I've just realized that I
> misspelled doubt in the title :(
>
> On Wed, May 19, 2010 at 11:56 AM, Haiyong Xu <haiyeong at gmail.com> wrote:
>> Hi Juan,
>>
>> I assumed you are using
>> itk::GeodesicActiveContourShapePriorLevelSetImageFilter< >. In brief,
>> the transform parameters given in output are to define a
>> itk::Transform object (translation and rotation) that will transform
>> the target shape to the source shape.
>>
>
> Yes, you are right, I'm using
> itk::GeodesicActiveContourShapePriorLevelSetImageFilter. However, I
> always find the ITK learning curve too steep, particularly in trivial
> things like a transform. For that reason,  I was doing the transform
> in matlab, with the resulting parameters of the filter. I was lazy to
> learn to use the itk::Transform. I'm in a evaluation stage of my
> project, meaning that I'm deciding whether to use this filter or not.
>
>> To use this filter, it's really important to understand how
>> itk::Transform works. This object transforms a point from target to
>> source, very important, ** not** from source to target. Thinking in
>> the feature image coordinate system, the source is the original pose
>> of shape model, which is located at the coordinate origin (0,0) and
>> rotated by 0 radius. The target is the final pose of shape model,
>> which is probably located at some position, say (10, 15), and rotated
>> by pi/4 radius, clockwise. In this example, the output transform
>> parameters from the ITK program would be: translation (-10, -15),
>> rotation (-pi/4). In your case, you may need inverse the transform in
>> order to register the final shape with the image.
>>
>
> So, what your are saying is that I should create a Transform, plug the
> output shape (of the GeodesicBlahBlahFilter) as source, the target
> will be the registered shape, and the set parameters of the transform
> to the inverse of those given by the GeodesicBlahBlahFilter.
> Am I getting it right?
>
>> There is probably a bug in itk's GeodesicActiveContour segmentation
>> with Shape Prior framework. I think it mess up with the order of
>> rotation/translation in itk::Transform object, and still waiting for
>> the confirmation from ITK developer community. That will cause an
>> invalid segmentation output. Please see the bug report in
>> http://www.itk.org/Bug/view.php?id=10617.
>>
>
> I see, Is there any way I can get your fix? Because the bug seems to
> be unanswered.
>
>> Regards,
>> Haiyong
>>
>
> Thanks again. Best regards,
>                                             Juan
>


More information about the Insight-users mailing list