[Insight-users] How to define/work with custom structure of itkPoints?

Parag Chandra pchandra@radonc.unc.edu
Tue, 31 Dec 2002 10:54:28 -0500


This is a multi-part message in MIME format.

------=_NextPart_000_0039_01C2B0BA.FDCA3B90
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi,

I currently have a data structure defined like this:

std::vector<itkPoint> AxisSet;
std::vector<AxisSet> LeafSet;
std::vector<LeafSet> IntersectionSet;

to store points of interest. This data structure will be passed around =
as the input/output of ProcessObjects. Currently, this structure is =
encapsulated in a class called PointsOfInterest derived from Object, and =
I am abusing ImageToImageFilter to derive classes which produce and =
consume PointsOfInterest objects.=20

My questions are:

1) Is it possible to use PointSet with a custom MeshTraits class to =
represent this nested hierarchy? I just need to be able to =
set/get/address individual points like so: pointsOfInterest[set #][leaf =
#][axis #][point #]. If not, how would I go about deriving my own custom =
DataObject class? In other words, what 'blanks' need to be filled in?

2) Given that PointsOfInterest is now a full-fledged DataObject, what =
would be the best way to define filters that produce and/or consume =
these PointsOfInterest objects? I am trying to use ImageToImageFilter as =
an example, but for one thing, the input type may be completely =
different from the output type (input Image --> output =
PointsOfInterest). There is also a lot of code in there for handling =
regions, but I will always guarantee that the entire PointsOfInterest =
object is available to a filter, so it should be simpler to derive an =
appropriate filter class.

By the way, I am using the 1.0 release under VC++6.=20

Thanks in advance.
-Parag Chandra
------=_NextPart_000_0039_01C2B0BA.FDCA3B90
Content-Type: text/html;
	charset="iso-8859-1"
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=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1126" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV>
<DIV><FONT face=3DArial size=3D2>Hi,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I currently have a data structure =
defined like=20
this:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>std::vector&lt;itkPoint&gt; =
AxisSet;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>std::vector&lt;AxisSet&gt; =
LeafSet;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>std::vector&lt;LeafSet&gt;=20
IntersectionSet;</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>to store points of interest. This data =
structure=20
will be passed around as the input/output of ProcessObjects. Currently, =
this=20
structure is encapsulated in a class called PointsOfInterest derived =
from=20
Object, and I am abusing ImageToImageFilter to derive classes which =
produce and=20
consume PointsOfInterest objects. </FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>My questions are:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>1) Is it possible to use PointSet with =
a custom=20
MeshTraits class to represent this nested hierarchy? I just need to be =
able to=20
set/get/address individual points like so: pointsOfInterest[set #][leaf =
#][axis=20
#][point #]. If not, how would I go about deriving my own custom =
DataObject=20
class? In other words, what 'blanks' need to be filled in?</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>2) Given that PointsOfInterest is now a =

full-fledged DataObject, what would be the best way to define filters =
that=20
produce and/or consume these PointsOfInterest objects? I am trying to =
use=20
ImageToImageFilter as an example, but for one thing, the input type may =
be=20
completely different from the output type (input Image --&gt; output=20
PointsOfInterest). There is also a lot of code in there for handling =
regions,=20
but I will always guarantee that the entire PointsOfInterest object is =
available=20
to a filter, so it should be simpler to derive an appropriate filter=20
class.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>By the way, I am using the 1.0 release =
under VC++6.=20
</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Thanks in advance.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>-Parag =
Chandra</FONT></DIV></DIV></BODY></HTML>

------=_NextPart_000_0039_01C2B0BA.FDCA3B90--