[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