No subject
Thu May 27 11:52:52 EDT 2010
B B Thanks
B B B B B B 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
>>>
------=_NextPart_000_00DD_01CB6ACF.193E9F20
Content-Type: text/html;
charset="US-ASCII"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<META content=3D"MSHTML 6.00.6000.17080" name=3DGENERATOR></HEAD>
<BODY>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D371060316-13102010><FONT =
face=3DVerdana=20
size=3D2>Luis, thanks for the clarification. That's exactly what we were =
suspecting.</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D371060316-13102010><FONT =
face=3DVerdana=20
size=3D2></FONT></SPAN> </DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D371060316-13102010><FONT =
face=3DVerdana=20
size=3D2>I'm working now from some code from Hans that performs the =
operation. If we run into trouble I'll take you up on your offer to=20
help.</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D371060316-13102010><FONT =
face=3DVerdana=20
size=3D2></FONT></SPAN> </DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D371060316-13102010><FONT =
face=3DVerdana=20
size=3D2>Cheers,</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D371060316-13102010><FONT =
face=3DVerdana=20
size=3D2>Michael</FONT></SPAN></DIV><BR>
<BLOCKQUOTE=20
style=3D"PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px =
solid; MARGIN-RIGHT: 0px">
<DIV class=3DOutlookMessageHeader lang=3Den-us dir=3Dltr align=3Dleft>
<HR tabIndex=3D-1>
<FONT face=3DTahoma size=3D2><B>From:</B> Luis Ibanez=20
[mailto:luis.ibanez at kitware.com] <BR><B>Sent:</B> Wednesday, October =
13, 2010=20
10:00 AM<BR><B>To:</B> Cory Quammen<BR><B>Cc:</B> Michael Stauffer =
(Circular=20
Logic); Insight Developers<BR><B>Subject:</B> Re: [Insight-developers] =
compose=20
affine with header filter?<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=3Dgmail_quote>Cory,<BR><BR>You are right,<BR><BR>The =
implicit=20
transform that is stored in the itkImage<BR>metadata can only describe =
a=20
combination of:<BR><BR>1) Translation (via the origin)<BR>2) Rotation =
/=20
Reflection (via the Direction matrix)<BR>3) Anisotropic scaling (via =
the=20
spacing)<BR><BR><BR>Combining these three modifications, it is not=20
possible<BR>to represent a generic Affine Transform.<BR><BR>In =
particular, as=20
you pointed out, we can't represent<BR>shearing (at least not for a =
generic=20
case).<BR><BR><BR>--<BR><BR><BR>Michael:<BR><BR><BR>The filter that =
you are=20
describing will have to be<BR>limited to composing the existing image =
grid=20
with<BR>only the following operations:<BR><BR><BR>1) =
Translations<BR>2) Rigid=20
rotations & Reflections (flipping)<BR>3) Anisotropic scaling =
parallel to=20
the grid.<BR><BR><BR>I'll be happy to have a phone /skype =
conversation<BR>if=20
you want to go about the details.<BR><BR>---<BR><BR>Also,<BR><BR>if =
you are=20
writing your first ITK, you may find<BR>useful to look at this=20
presentation:<BR><A=20
=
href=3D"http://www.na-mic.org/Wiki/images/b/bc/Insight-Writing-a-New-Filt=
er.ppt">http://www.na-mic.org/Wiki/images/b/bc/Insight-Writing-a-New-Filt=
er.ppt</A><BR><BR>From=20
the EPFL workshop in ITK development:<BR><A=20
=
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_20=
05</A><BR><BR><BR>B=20
B Thanks<BR><BR><BR>B B B B B B=20
=
Luis<BR><BR><BR>---------------------------------------------------------=
--<BR>On=20
Fri, Oct 8, 2010 at 4:01 PM, Cory Quammen <SPAN dir=3Dltr><<A=20
href=3D"mailto:cquammen at cs.unc.edu">cquammen at cs.unc.edu</A>></SPAN> =
wrote:<BR>
<BLOCKQUOTE class=3Dgmail_quote=20
style=3D"PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: =
rgb(204,204,204) 1px solid">
<DIV class=3Dim>On Fri, Oct 8, 2010 at 1:38 PM, Michael Stauffer =
(Circular=20
Logic)<BR><<A=20
href=3D"mailto:mstauff at verizon.net">mstauff at verizon.net</A>> =
wrote:<BR>>=20
We're not interested in shearing (at least at this point, Brian=20
might<BR>> have some ideas about that for down the road). =
Initially we'd=20
like to be<BR>> able to orient sets of images to a common =
orientation=20
before batch<BR>> processing, so should need just rotation and/or =
reflection. The idea, if<BR>> I understand fully, is to account =
for=20
different orientations between or<BR>> within data sets, possibly =
due to=20
operator error. Thus, we'll probably<BR>> have to manually set =
the=20
transforms per image.<BR>><BR>> The goal with doing this via =
the image=20
header is to avoid preprocessing<BR>> the image data itself and=20
introducing unnecessary interpolation noise.<BR><BR></DIV>I see.<BR>
<DIV class=3Dim><BR>> It seems from what we've looked at so far =
that the=20
Image::m_Direction<BR>> matrix is expected to be rigid, and if it =
is not,=20
it is decomposed to<BR>> use only the rigid part? At least, this =
seems to=20
be how itk snap<BR>> behaves.<BR><BR></DIV>Your understanding of =
the=20
direction matrix matches mine, but I could be wrong.<BR><BR>Perhaps =
someone=20
more familiar with the assumed properties of the<BR>direction matrix =
could=20
chime in.<BR><FONT color=3D#888888><BR>Cory<BR></FONT>
<DIV>
<DIV></DIV>
<DIV class=3Dh5><BR><BR>><BR>>>-----Original=20
Message-----<BR>>>From: <A=20
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=20
Behalf<BR>>>Of Cory Quammen<BR>>>Sent: Friday, October =
08, 2010=20
1:10 PM<BR>>>To: Michael Stauffer (Circular =
Logic)<BR>>>Cc:=20
Insight Developers<BR>>>Subject: Re: [Insight-developers] =
compose=20
affine with header filter?<BR>>><BR>>>Hi=20
Michael,<BR>>><BR>>>I don't know of a filter that does =
what you=20
describe, but it sounds<BR>>>like you want this filter to =
essentially=20
produce an image on a<BR>>>potentially sheared grid. Does this =
correctly characterize what you<BR>>>want the filter to=20
produce?<BR>>><BR>>>An image defined on a sheared grid =
fits in=20
with a recent discussion on<BR>>>this list about supporting =
images=20
whose samples do not lie at regular<BR>>>intervals along =
orthogonal=20
directions, so I'm interested in knowing<BR>>>more about what =
you are=20
trying to do with this=20
=
filter.<BR>>><BR>>>Thanks,<BR>>>Cory<BR>>><BR>>=
;><BR>>>On=20
Fri, Oct 8, 2010 at 11:28 AM, Michael Stauffer (Circular=20
Logic)<BR>>><<A=20
href=3D"mailto:mstauff at verizon.net">mstauff at verizon.net</A>>=20
wrote:<BR>>>> Hi all,<BR>>>><BR>>>> I'm =
new to=20
ITK. I started working with Brian Avants and the<BR>>>reset of =
the<BR>>>> ANTS team a few weeks ago. I'm about to start on =
my=20
first<BR>>>ITK filter, a<BR>>>> simple one to learn =
the=20
ropes. It may or may not end up being useful.<BR>>>> But =
first we=20
wanted to check if someone else has already<BR>>>implemented=20
the<BR>>>> follow functionality, but not integrated it with =
itk.<BR>>>><BR>>>> The filter will accept an image =
and an=20
affine transform, compose the<BR>>>> input transform with =
the=20
transform stored in the image's header (via<BR>>>> =
m_Direction and=20
m_Origin), then output a new image with the composed<BR>>>> =
transform in its header.<BR>>>><BR>>>>=20
Cheers,<BR>>>>=20
=
Michael<BR>>>><BR></DIV></DIV></BLOCKQUOTE></DIV><BR></BLOCKQUOT=
E></BODY></HTML>
------=_NextPart_000_00DD_01CB6ACF.193E9F20--
More information about the Insight-developers
mailing list