[Insight-users] Cycles in SpatialObject possible
Julien Jomier
jjomier at cs.unc.edu
Thu Mar 17 11:12:41 EST 2005
This is correct, the SpatialObject scene structure is a Tree and not a
DAG. Keeping the transform and the SO together was easier to design and
also to use.
> A tree is certainly an easier design. However, it is up to the
> user to ensure the scene structure is indeed a tree (correct?).
Yes that is correct, no checking is done to ensure that the scene
structure is a tree. It should be easy to add a function at the scene
level to test it. I'll put a feature request.
Julien
Miller, James V (Research) wrote:
> That's fine. I just wanted to be clear as to whether the scene
> structure was indeed a tree or a DAG. Most scene descriptions
> support DAGs by traversing from the root to the child to build
> the object to world transformation, with the parent-child
> transformation stored on the link between the parent and child.
> We talked about this once at one of the quarterly meetings but
> I guess it never got into the SpatialObject design.
>
> Storing the transformation on the "link" between the parent and
> child allows you to have one child object that is "replicated"
> by adding the child multiple times to the parent and associating
> a different transformation with each link from the parent to the
> child. This is how you would put 4 wheels on a car using only
> a single instance of a wheel. This is how scene descriptions
> were done all the way back in the days of PHIGS. (Not sure how
> many people remember the days of PHIGS.)
>
> A tree is certainly an easier design. However, it is up to the
> user to ensure the scene structure is indeed a tree (correct?).
>
> Jim
>
>
>
>
>
> -----Original Message-----
> From: Stephen R. Aylward [mailto:aylward at unc.edu]
> Sent: Thursday, March 17, 2005 9:18 AM
> To: Miller, James V (Research)
> Cc: Julien Jomier; insight-users at itk.org; Dominique Belhachemi
> Subject: Re: [Insight-users] Cycles in SpatialObject possible
>
>
> Hi,
>
> Julien will be able to give more info, but basically, a scene cannot be
> stored as a DAG. SpatialObjects allow only one parent per object since
> each child object has a transform that positions it in its parent
> object's space... If we allowed multiple parents, it would be
> problematic to define an object-to-world transform that is composed of
> all of the child-to-parent transforms from an object to the root. We
> could support duplication as is done in some scene representations -
> creating "virtual" copies of an object, but I don't think the complexity
> they add is justified given the rare utility of them.
>
> SpatialObjects specifically use the itkTree datastructure - contributed
> by MITK developers.
>
> Stephen
>
> Miller, James V (Research) wrote:
>
>>Julien,
>>
>>Do the SpatialObjects support a directed acyclic graph?
>>
>>Jim
>>
>>-----Original Message-----
>>From: Julien Jomier [mailto:jjomier at cs.unc.edu]
>>Sent: Wednesday, March 16, 2005 5:38 PM
>>To: Miller, James V (Research)
>>Cc: Dominique Belhachemi; insight-users at itk.org
>>Subject: Re: [Insight-users] Cycles in SpatialObject possible
>>
>>
>>Yes you cannot have cycles with SpatialObjects. SpatialObject hierarchy
>>is a designed as a tree.
>>
>>Julien
>>
>>Miller, James V (Research) wrote:
>>
>>
>>>Stephen and Julien could probably answer this better, but I assume that
>>>SpatialObjects are "expected" to be either a directed acyclic graph or a
>>>tree.
>>>
>>>Jim
>>>
>>> -----Original Message-----
>>> *From:* insight-users-bounces at itk.org
>>> [mailto:insight-users-bounces at itk.org]*On Behalf Of *Dominique
>>> Belhachemi
>>> *Sent:* Wednesday, March 16, 2005 4:41 PM
>>> *To:* insight-users at itk.org
>>> *Subject:* [Insight-users] Cycles in SpatialObject possible
>>>
>>> Hello,
>>>
>>> can i assume that each instance of itk::SpatialObject is cycle free
>>> in respect of the function itk::SpatialObject::GetChildren(....) ?
>>>
>>> Can i imagine a itk::SpatialObject rather than tree or as graph?
>>>
>>> I need to know this because i want to map an itk::SpatialObject to a
>>> list of SpatialObject-Pointers. For later calculations it is easier
>>> for me to work with a list.
>>>
>>>
>>> Dominique
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>------------------------------------------------------------------------
>>>
>>>_______________________________________________
>>>Insight-users mailing list
>>>Insight-users at itk.org
>>>http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk.org
>>http://www.itk.org/mailman/listinfo/insight-users
>
>
More information about the Insight-users
mailing list