[ITK-users] [ITK] Writing my own registration metric

Bradley Lowekamp blowekamp at mail.nih.gov
Mon Jun 15 10:00:21 EDT 2015


Hello,

You should look into the ANTSNeighborhoodCorrelationImageToImageMetricv4 [1] and the reference paper on the method. This is another neighborhood based metric.

From an ITK design perspective, the sample of the image is independent of the metric. For your subdividing, you may find that the regular grid sampling in the ImageToImageRegistrationMethodv4 to be suitable, or you may want to try a random sampling.

HTH,
Brad

[1] http://www.itk.org/Doxygen/html/classitk_1_1ANTSNeighborhoodCorrelationImageToImageMetricv4.html

On Jun 15, 2015, at 9:50 AM, Abu-Sammour, Denis <Denis.Abu-Sammour at medma.uni-heidelberg.de> wrote:

> Hello,
>  
> Thank you for your time in advance.
>  
> I am trying to implement a new registration metric which is based on a patch-based  computation of gradient orientations i.e. subdividing images into sub-regions or cells and compute a histogram based on the orientations of the gradients inside each patch. I was told that the best way to proceed is to sneak into one of the implemented metrics in itk (to use the power of the source!).
> Accordingly I looked into one of the easiest  metrics available namely “itkMeanSquaresImageToImageMetricv4” and found out that it is implemented using 4 different header files namely: “itkMeanSquaresImageToImageMetricv4.h”,“itkMeanSquaresImageToImageMetricv4.hxx”, “itkMeanSquaresImageToImageMetricv4GetValueAndDerivativeThreader.h”, and “itkMeanSquaresImageToImageMetricv4GetValueAndDerivativeThreader.hxx”.
>  
> The 1st header file says: “see MeanSquaresImageToImageMetricv4GetValueAndDerivativeThreader::ProcessPoint for algorithm implementation”. When looking into that file it is noted that the values passed to that method are image pixel types (“movingImageValue” and “fixedImageValue”) and NOT the images themselves. Unfortunately, in my case –as described above- the metric computation depends on patches (cells) rather than on single pixel values. Therefore, Is there a way to pass on the images themselves to the ProcessPoint method? Or alternatively is there another metric that also depends on patch-based computation where the images themselves are getting passed on to the ProcessPoint method?
>  
> Any suggestion would be appreciated.
>  
> Kind regards
>  
> Denis
>  
> _____________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-users
> _______________________________________________
> Community mailing list
> Community at itk.org
> http://public.kitware.com/mailman/listinfo/community

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/insight-users/attachments/20150615/9cb94fa7/attachment.html>


More information about the Insight-users mailing list