No subject
Thu May 27 11:52:52 EDT 2010
Thanks
Luis
-----------------------------------------------------------
On Fri, Oct 8, 2010 at 4:01 PM, Cory Quammen <cquammen at cs.unc.edu> wrote:
> On Fri, Oct 8, 2010 at 1:38 PM, Michael Stauffer (Circular Logic)
> <mstauff at verizon.net> wrote:
> > We're not interested in shearing (at least at this point, Brian might
> > have some ideas about that for down the road). Initially we'd like to be
> > able to orient sets of images to a common orientation before batch
> > processing, so should need just rotation and/or reflection. The idea, if
> > I understand fully, is to account for different orientations between or
> > within data sets, possibly due to operator error. Thus, we'll probably
> > have to manually set the transforms per image.
> >
> > The goal with doing this via the image header is to avoid preprocessing
> > the image data itself and introducing unnecessary interpolation noise.
>
> I see.
>
> > It seems from what we've looked at so far that the Image::m_Direction
> > matrix is expected to be rigid, and if it is not, it is decomposed to
> > use only the rigid part? At least, this seems to be how itk snap
> > behaves.
>
> Your understanding of the direction matrix matches mine, but I could be
> wrong.
>
> Perhaps someone more familiar with the assumed properties of the
> direction matrix could chime in.
>
> Cory
>
>
> >
> >>-----Original Message-----
> >>From: cquammen at gmail.com [mailto:cquammen at gmail.com] On Behalf
> >>Of Cory Quammen
> >>Sent: Friday, October 08, 2010 1:10 PM
> >>To: Michael Stauffer (Circular Logic)
> >>Cc: Insight Developers
> >>Subject: Re: [Insight-developers] compose affine with header filter?
> >>
> >>Hi Michael,
> >>
> >>I don't know of a filter that does what you describe, but it sounds
> >>like you want this filter to essentially produce an image on a
> >>potentially sheared grid. Does this correctly characterize what you
> >>want the filter to produce?
> >>
> >>An image defined on a sheared grid fits in with a recent discussion on
> >>this list about supporting images whose samples do not lie at regular
> >>intervals along orthogonal directions, so I'm interested in knowing
> >>more about what you are trying to do with this filter.
> >>
> >>Thanks,
> >>Cory
> >>
> >>
> >>On Fri, Oct 8, 2010 at 11:28 AM, Michael Stauffer (Circular Logic)
> >><mstauff at verizon.net> wrote:
> >>> Hi all,
> >>>
> >>> I'm new to ITK. I started working with Brian Avants and the
> >>reset of the
> >>> ANTS team a few weeks ago. I'm about to start on my first
> >>ITK filter, a
> >>> simple one to learn the ropes. It may or may not end up being useful.
> >>> But first we wanted to check if someone else has already
> >>implemented the
> >>> follow functionality, but not integrated it with itk.
> >>>
> >>> The filter will accept an image and an affine transform, compose the
> >>> input transform with the transform stored in the image's header (via
> >>> m_Direction and m_Origin), then output a new image with the composed
> >>> transform in its header.
> >>>
> >>> Cheers,
> >>> Michael
> >>>
>
--0016364266f91ce0560492800185
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div class=3D"gmail_quote">Cory,<br><br>You are right,<br><br>The implicit =
transform that is stored in the itkImage<br>metadata can only describe a co=
mbination of:<br><br>1) Translation (via the origin)<br>2) Rotation / Refle=
ction (via the Direction matrix)<br>
3) Anisotropic scaling (via the spacing)<br><br><br>Combining these three m=
odifications, it is not possible<br>to represent a generic Affine Transform=
.<br><br>In particular, as you pointed out, we can't represent<br>shear=
ing (at least not for a generic case).<br>
<br><br>--<br><br><br>Michael:<br><br><br>The filter that you are describin=
g will have to be<br>limited to composing the existing image grid with<br>o=
nly the following operations:<br><br><br>1) Translations<br>2) Rigid rotati=
ons & Reflections (flipping)<br>
3) Anisotropic scaling parallel to the grid.<br><br><br>I'll be happy t=
o have a phone /skype conversation<br>if you want to go about the details.<=
br><br>---<br><br>Also,<br><br>if you are writing your first ITK, you may f=
ind<br>
useful to look at this presentation:<br><a href=3D"http://www.na-mic.org/Wi=
ki/images/b/bc/Insight-Writing-a-New-Filter.ppt">http://www.na-mic.org/Wiki=
/images/b/bc/Insight-Writing-a-New-Filter.ppt</a><br><br>From the EPFL work=
shop in ITK development:<br>
<a href=3D"http://www.na-mic.org/Wiki/index.php/Dissemination:EPFL_Workshop=
_2005">http://www.na-mic.org/Wiki/index.php/Dissemination:EPFL_Workshop_200=
5</a><br><br><br>=C2=A0=C2=A0 Thanks<br><br><br>=C2=A0 =C2=A0 =C2=A0=C2=A0=
=C2=A0=C2=A0 Luis<br><br><br>----------------------------------------------=
-------------<br>
On Fri, Oct 8, 2010 at 4:01 PM, Cory Quammen <span dir=3D"ltr"><<a href=
=3D"mailto:cquammen at cs.unc.edu">cquammen at cs.unc.edu</a>></span> wrote:<b=
r><blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; bor=
der-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class=3D"im">On Fri, Oct 8, 2010 at 1:38 PM, Michael Stauffer (Circula=
r Logic)<br>
<<a href=3D"mailto:mstauff at verizon.net">mstauff at verizon.net</a>> wrot=
e:<br>
> We're not interested in shearing (at least at this point, Brian mi=
ght<br>
> have some ideas about that for down the road). Initially we'd like=
to be<br>
> able to orient sets of images to a common orientation before batch<br>
> processing, so should need just rotation and/or reflection. The idea, =
if<br>
> I understand fully, is to account for different orientations between o=
r<br>
> within data sets, possibly due to operator error. Thus, we'll prob=
ably<br>
> have to manually set the transforms per image.<br>
><br>
> The goal with doing this via the image header is to avoid preprocessin=
g<br>
> the image data itself and introducing unnecessary interpolation noise.=
<br>
<br>
</div>I see.<br>
<div class=3D"im"><br>
> It seems from what we've looked at so far that the Image::m_Direct=
ion<br>
> matrix is expected to be rigid, and if it is not, it is decomposed to<=
br>
> use only the rigid part? At least, this seems to be how itk snap<br>
> behaves.<br>
<br>
</div>Your understanding of the direction matrix matches mine, but I could =
be wrong.<br>
<br>
Perhaps someone more familiar with the assumed properties of the<br>
direction matrix could chime in.<br>
<font color=3D"#888888"><br>
Cory<br>
</font><div><div></div><div class=3D"h5"><br>
<br>
><br>
>>-----Original Message-----<br>
>>From: <a href=3D"mailto:cquammen at gmail.com">cquammen at gmail.com</a> =
[mailto:<a href=3D"mailto:cquammen at gmail.com">cquammen at gmail.com</a>] On Be=
half<br>
>>Of Cory Quammen<br>
>>Sent: Friday, October 08, 2010 1:10 PM<br>
>>To: Michael Stauffer (Circular Logic)<br>
>>Cc: Insight Developers<br>
>>Subject: Re: [Insight-developers] compose affine with header filter=
?<br>
>><br>
>>Hi Michael,<br>
>><br>
>>I don't know of a filter that does what you describe, but it so=
unds<br>
>>like you want this filter to essentially produce an image on a<br>
>>potentially sheared grid. Does this correctly characterize what you=
<br>
>>want the filter to produce?<br>
>><br>
>>An image defined on a sheared grid fits in with a recent discussion=
on<br>
>>this list about supporting images whose samples do not lie at regul=
ar<br>
>>intervals along orthogonal directions, so I'm interested in kno=
wing<br>
>>more about what you are trying to do with this filter.<br>
>><br>
>>Thanks,<br>
>>Cory<br>
>><br>
>><br>
>>On Fri, Oct 8, 2010 at 11:28 AM, Michael Stauffer (Circular Logic)<=
br>
>><<a href=3D"mailto:mstauff at verizon.net">mstauff at verizon.net</a>&=
gt; wrote:<br>
>>> Hi all,<br>
>>><br>
>>> I'm new to ITK. I started working with Brian Avants and th=
e<br>
>>reset of the<br>
>>> ANTS team a few weeks ago. I'm about to start on my first<=
br>
>>ITK filter, a<br>
>>> simple one to learn the ropes. It may or may not end up being =
useful.<br>
>>> But first we wanted to check if someone else has already<br>
>>implemented the<br>
>>> follow functionality, but not integrated it with itk.<br>
>>><br>
>>> The filter will accept an image and an affine transform, compo=
se the<br>
>>> input transform with the transform stored in the image's h=
eader (via<br>
>>> m_Direction and m_Origin), then output a new image with the co=
mposed<br>
>>> transform in its header.<br>
>>><br>
>>> Cheers,<br>
>>> Michael<br>
>>><br></div></div></blockquote></div><br>
--0016364266f91ce0560492800185--
More information about the Insight-developers
mailing list