[Insight-developers] passing ghost data

Matt McCormick matt.mccormick at kitware.com
Wed Sep 21 16:06:45 EDT 2011


Thanks, Andriy.  That is helpful.

A patch showing the solver/tensor code would probably be the best explanation.

Thanks,
Matt

On Wed, Sep 21, 2011 at 9:05 AM, Andriy Kot <andriy.kot at gmail.com> wrote:
> 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
>>>
>>
> _______________________________________________
> 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