[Insight-users] Some Questions About the virtual domain in the ImageToimageMetricv4
brian avants
stnava at gmail.com
Thu Jan 24 14:29:33 EST 2013
hi fred
that bit of code is , far as i know , the same as in itkv3 - however,
not sure if the sampling points are computed in the same way. is
worth checking.
i dont think the virtual domain image needs to be used in any special
way for your case.
anyway, if you look at the code a bit , i am sure you can figure out
how to get it working. i only have guesses.
brian
On Thu, Jan 24, 2013 at 3:32 AM, Champ Frédéric <champ at unistra.fr> wrote:
> Hi Brian,
>
> Thanks for your reponse.
>
> I asked this question about the virtual domin because I'm trying to
> registrer a 3D volume M, on a slice of an other 3D volume F, e.g a 3D image
> with size[2]=1
> I use the Mattes Mutual Information because it's the one that gives the most
> accurate results in my case.
> But, it always return an error message because I never fulfill this
> condition in itkMattesMutualInformationImageToImageMetricv4.hxx :
>
> if( this->GetNumberOfValidPoints() < numberOfPoints / 16 )
> {
> itkExceptionMacro("Too many samples map outside moving image buffer.
> There are only "
> << this->m_NumberOfValidPoints << " valid points out
> of "
> << numberOfPoints << " total points. The images do not
> sufficiently "
> "overlap. They need to be initialized to have more
> overlap before this "
> "metric will work. For instance, you can align the
> image centers by translation."
> << std::endl);
> }
>
> M size is 42*42*21 = 37044 points and 37044 / 16 = 2 315,25 but F size is
> only 42*42*1 = 1764 points.
>
> With the old registration framework this registration was possible but not
> thread safe...
>
> Is there another way to perform a slice by slice registration with the
> framework v4 ?
>
> Thanks a lot,
>
> Fred
>
>
> Le 22/01/2013 18:33, brian avants a écrit :
>
> briefly, the virtual domain evaluates an image difference metric as:
>
> J - fixed image
>
> K - moving image
>
> x - a point in the virtual domain
>
> \| J ( T_fixed( x ) ) - K ( T_moving(x) ) \|^2
>
> By default T_fixed( x ) is the identity and T_moving is what you
> optimize. Other metrics are implemented in the same way.
>
> This lets the user :
>
> 1 ) control the resolution @ which registration is performed ... e.g.
> to implement multi-resolution approaches by setting the virtual domain
> to be smaller than the domain of J.
>
> 2 ) allows the fixed image to have a transform as well. for
> instance, when the image registration is performed in an unbiased
> space.
>
> This also lets one minimize the number of interpolation / downsampling
> operations.
>
> brian
>
>
>
>
> On Tue, Jan 22, 2013 at 5:02 AM, Champ Frédéric <champ at unistra.fr> wrote:
>
>
> Hi,
>
> For a 3D registrations with the framework v4:
>
> - What exactly does the virtual domain ?
> - Does it necessary to specify it if the moving and fixed regions are
> different ?
>
> Fred
>
> _____________________________________
> 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://www.itk.org/mailman/listinfo/insight-users
>
>
>
More information about the Insight-users
mailing list