[Insight-developers] passing ghost data

Andriy Kot andriy.kot at gmail.com
Wed Sep 21 10:05:47 EDT 2011


Hi Matt,

I asked the person who does the solver part explain what tensors we
compute and what we do with them:

> The tensor is a 3 by 3 matrix, which statistically measures the edge distribution within an image block.
> By multiplying the tensor with the displacement recovered by block matching, the original displacement is projected onto the norm direction of the main edge.
> The solver will attempt to find the solution, which minimizes the projected displacements.

Yes, this question is related to the patch, the
MaskFeaturePointSelection3D is the feature selection filter.
Since minor thing might need to be changed here and there we will be
submitting other filter once MaskFeaturePointSelection3D is in. Next
in line is GPUBlockMatching3DFilter.

The end result will be PBMNRRegistrationFilter which takes fixed and
floating images and a mesh and produces a deformation field.
Inside PBMNRRegistrationFilter calculations are carried in the
following order: feature selection -> block matching -> solver.

Hope this answer your question. Thank you.

--
Andriy


On Tue, Sep 20, 2011 at 5:08 PM, Matthew McCormick (thewtex)
<matt at mmmccormick.com> wrote:
> Hi Andriy,
>
> What type of tensors are these?  How is the solver using them?  What
> does the architecture look like?  Is it related to this patch?  Are
> there other patches?
>
> http://review.source.kitware.com/#change,2688
>
> Thanks,
> Matt
>
> On Mon, Sep 19, 2011 at 5:12 PM, Andriy Kot <andriy.kot at gmail.com> wrote:
>>  Greetings,
>>
>> there is a feature selection filter which selects a fraction of image
>> pixels. Block matching filter takes those pixels and computes an
>> initial displacement field. The displacement field is then passed to
>> solver to compute the final displacement field. Among other things,
>> the solver needs tensors for the selected pixels but block matching
>> does not.
>>
>> When this projects was a single black-box application the perfect
>> place to compute tensors was at feature selection phase. With the
>> application being broken into several components it is not so clear
>> anymore.
>> Right now the tensors are computed in feature selection filter and
>> stored with selected points. Inside block matching filter tensors are
>> copied over and stored with the output displacement field.
>> While it works, a user is unaware tensors and being computed and
>> passed between filters.
>>
>> I was wondering what people in ITK community would suggest. What would
>> be a proper place to compute tensors and how to properly pass it to
>> the solver?
>>
>> Thanks
>>
>> --
>> Andriy
>> _______________________________________________
>> 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://kitware.com/products/protraining.html
>>
>> 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://www.itk.org/mailman/listinfo/insight-developers
>>
>


More information about the Insight-developers mailing list