[Insight-users] Gradient of Vector Image

Bing Jian bjian at cise . ufl . edu
Tue, 7 Oct 2003 20:02:33 -0400 (EDT)


Thanks Luis. I will try to implement such jacobian filter
using ITK. Your suggestion is very helpful.

-- 
Best wishes,
Bing Jian
bjian at cise . ufl . edu


On Tue, 7 Oct 2003, Luis Ibanez wrote:

>
> Hi Jian,
>
> It will not be easy, but it will be fun  :-)
>
>
> 1) Create an ImageAdaptor that will
>     extract the components of the Offset
>     and present it as a scalar image.
>
>     follow the example in the SoftwareGuide
>     http://www . itk . org/ItkSoftwareGuide . pdf
>     Section 12.3, pdf-page 526, paper-page 500.
>
> 2) Instantiate three of these ImageAdaptors and
>     set them to extract the components {0,1,2}
>     of the Offset respectively.
>
> 3) Instantiate three GradientRecursiveImageFilters
>     and connect each one to one of the ImageAdaptors.
>
> 4) When you execute these three image filters
>     you will get as output of each one, the values
>     along the ROWS of the Jacobian matrix of the Offset.
>
> 5) Take a deep breath and decide how do you want
>     to represent this in an image. For example as
>     an image of pixel type = itkMatrix<double3,3>  ?
>     or as a vector with 9 elements ?
>     or as 9 parallel scalar images ?
>
> 6) Once you decide about the final representation,
>     you have basically two options for moving the
>     jacobian elements into your representation
>
>
>    6A) Use an ImageIterator loop for visiting the output
>        of the three GradientGaussianRecursiveImageFilters
>        and copy the elements into your final Jacobian image.
>
>
>    6B) Use the JoinImage filter
>
> http://www . itk . org/Insight/Doxygen/html/classitk_1_1JoinImageFilter . html
>
>      that will concatenate the elements of the vector
>      images produced by each Gradient vector.  Since
>      this filter only have two inputs, you will have to
>      use two of them. Join first two of the Jacobian
>      rows to get a 6D vector, and then join the third
>      row to get a 9D vector.
>
>
>
>
>
>    Regards,
>
>
>
>     Luis
>
>
>
> -----------------
> Bing Jian wrote:
> > Suppose I have a VectorDistanceMap image, the pixel type
> > is Offset<3>, say <u(x,y,z),v(x,y,z),w(x,y,z)>. How do I
> > get the Jacobian of Offset?
> >
> >     du/dx  du/dy  du/dz
> >     dv/dx  dv/dy  dv/dz
> >     dw/dx  dw/dy  dw/dz
> >
> > Thanks!
> >
> >
>
>
>
>
>