[IGSTK-Users] Coordinate system framework for picking events
Vincent Gratsac
vincent.gratsac at irisa.fr
Wed Apr 2 11:40:29 EDT 2008
Hi all,
I'm sorry to pick out this point again, but something is still not clear
to me...
I well understood the process described by Luis the last time but, in my
point of view, a problem is persistant :
At point (2), How can I get the ImageSpatialObject pixel data coordinate
system if the software stores many ImageSpatialObjects (UltraSound, MRI,
etc...) ?
That's why I thought it would be useful to be able to get each
coordinate system directly from the ImageSpatialObjectRepresentations
which are stored by the View.
Do you want me to log a bug for this precise point?
Thank you,
Vincent
Luis Ibanez wrote:
>
> Hi Vincent,
>
> You will need a single ImageSpatialObject, and you will need
> one ImageObjectRepresentation *for each* View where you want
> to display the image.
>
> About creating bug,
> please create your account in the MANTIS bug tracker
> (just need to provide your email)
>
> http://public.kitware.com/Bug/my_view_page.php
>
>
> Then do the following:
>
> * Login in the NANTIS system
> * Select the IGSTK project on the upper right menu
> * Click on "Report Issue"
>
>
>
> Please let us know if you run into any difficulty while
> reporting the bug.
>
>
> Thanks
>
>
> Luis
>
>
>
> ------------------------
> Vincent Gratsac wrote:
>> Hi Luis,
>>
>> Thank you for your help.
>>
>> The solutions you described here seems to be a right way to do.
>> However, this means that we still have to store the corresponding
>> ImageSpatialObject for each ImageObjectRepresentation, isn't it ?
>>
>> I don't know where to log it as a bug. Could you tell me how to do ?
>>
>> Vincent.
>>
>> Luis Ibanez wrote:
>>
>>>
>>>
>>> Hi Vincent,
>>>
>>>
>>> Thanks for pointing this out.
>>>
>>>
>>> What we are planning to do here is the following:
>>>
>>> 1) Views, in response to picking events will throw
>>> IGSTK PointEvents, that will contain both a Point
>>> and a reference to a coordinate system (the one
>>> of the View).
>>>
>>> 2) You will be able to request the Transform between
>>> the View CoordinateSystem and the ImageSpatialObject
>>> pixel data coordinate system.
>>>
>>> 3) With the Transform you will get from (2), you will
>>> be able to convert the point from the View coordinate
>>> system to the ImageSpatialObject pixel data coordinate
>>> system
>>>
>>> 4) Once you have the point in image space, you will be
>>> able to map it to pixel indices and access (read only)
>>> pixel data.
>>>
>>>
>>> Pieces (1),(3) and (4) need to be implemented.
>>> Piece (2) is currently functional
>>>
>>>
>>> Could you please log a bug, for this topic ?
>>>
>>> You could describe it as "fixing the coordinate system
>>> framework for picking events".
>>>
>>> ... or something along those lines...
>>>
>>>
>>> BTW: Breaking the encapsulation of the ImageObjectRepresentation
>>> is probably not the best way to solve this issue.
>>>
>>>
>>>
>>> Thanks
>>>
>>>
>>> Luis
>>>
>>>
>>>
>>> ---------------------
>>> Vincent Gratsac wrote:
>>>
>>>> Hi all,
>>>>
>>>> First of all, thanks for the great effort of the IGSTK team to
>>>> bring us this new release !
>>>>
>>>> I did not receive any answer to my last mail about how to get the
>>>> ImageSpatialObject from an ImageObjectRepresentation.
>>>>
>>>> Did you understand my problem, and do you think that adding a
>>>> RequestGetImageSpatialObject() method to the
>>>> ImageObjectRepresentation class would be possible ?
>>>>
>>>> Vincent
>>>>
>>>>> Hi all,
>>>>>
>>>>> I'm currently working on slicing of displayed objects by giving a
>>>>> picked point.
>>>>> The NeedleBiopsy example is helpful to learn how to do that !
>>>>> Here is my problem : my software can display some
>>>>> ObjectRepresentations for more than one SpatialObjects, but I'm
>>>>> not able to know to which ImageSpatialObject an
>>>>> ImageSpatialObjectRepresentation is related.
>>>>>
>>>>> This is a problem when we try to convert a physical point to image
>>>>> indexes ( that's why I submitted the idea to add a
>>>>> ResliceToPhysicalPoint method in the
>>>>> ImageSpatialObjectRepresentation class).
>>>>>
>>>>> This is also a problem if the transformation between one of the
>>>>> ImageSpatialObjects and the View object differs from Identity. In
>>>>> this case, I need to get this transformation and multiply its
>>>>> inverse to the picked point's coordinates, in order to express the
>>>>> picked point's coordinates in the ImageSpatialObject coordinate
>>>>> system. Next, I will have to convert the physical point to image
>>>>> index.
>>>>>
>>>>> To conclude, I found some cases in which getting the
>>>>> ImageSpatialObject from an ImageSpatialObjectRepresentation is
>>>>> very useful. Is there a way to do it , or would it be unsafe to
>>>>> add such a method ?
>>>>>
>>>>> Vincent
>>>>
>>>>
>>>>
>>
--
Vincent Gratsac
----------------------------------------------------
Unité/Projet VisAGeS U746
INSERM/INRIA/CNRS/U. de Rennes I
IRISA
Campus de Beaulieu, 35042 Rennes Cedex, France
Ph: +33 (0) 2 23 23 49 20/ Fax: +33/0 2 99 84 71 71
email: Vincent.Gratsac at irisa.fr
http://www.irisa.fr/visages/
-----------------------------------------------------
More information about the IGSTK-Users
mailing list