[IGSTK-Developers] View refactoring- Camera control
Luis Ibanez
luis.ibanez at kitware.com
Wed Jul 11 11:18:25 EDT 2007
Hi Frank,
A synchronization between multiple orthogonal slices should probably
be implemented between multiple image representation classes, instead
of the View class itself.
The View class is just the abstraction of the RenderWindow, where
many objects beside images may be displayed.
Luis
-------------------------
Frank Lindseth wrote:
> Hi Andinet,
>
> This looks very good.
> Ideally the re-factoring of the ImageSliceRep. should be done first in
> order to see the needed functionality to display oblique slices in an
> optimal way for example, but I guess most things can be done using these
> methods.
>
> Just a little note, in our present system the surgeon can "set" the view
> in the 3D scene using a tool/pointer: The view follows the tool (or
> guide wire) in real time, and when a good view is found the view can be
> "freezed" or saved. In order to do this (just by using the axes of the
> tool) it would be nice to have a RequestSetViewDirection too.
>
> And while talking about the view class re-factoring:
> I'm hoping that a good synchronization scheme can be build into the
> view-class (for croshair positioning for example) :
> - Synchronization between the three different views (e.g. axial, coronal
> and sagital) for a single volume.
> - Synchronization between corresponding views from different volumes.
> - Synchronization between the "2D and 3D display" of the same slice.
> - etc.
>
> Regards,
> Frank
>
>
> On Jul 5, 2007, at 9:02 PM, Andinet Enquobahrie wrote:
>
>> Team,
>>
>> One of the main weaknesses of the view classes is lack of camera
>> control as
>> pointed out by several people. As part of the view class refactoring
>> effort,
>> I will be adding Request methods that provide control of some of the
>> camera
>> parameters to the user.
>>
>> I am proposing to add the following methods
>>
>> // Set camera position
>> RequestSetPosition(double x., double y, double z);
>>
>> //Set focal point coordinates
>> RequestSetFocalPoint( double x, double y, double z);
>>
>> //Set view vector up
>> RequestSetViewUp( double vx, double vy, double vz);
>>
>> //Set clipping range
>> RequestSetClippingRange( double dNear, double dFar);
>>
>> //Set parallel projection on
>> RequestSetParallelProjectionOn( );
>>
>> //Set perspective projection on
>> RequestSetPerspectiveProjectionOn()
>>
>> Let me know if you see the need to have control of
>> other parameters of the camera.
>>
>> Thanks
>>
>> -Andinet
>>
>> --
>> ==========================================================
>> Andinet A. Enquobahrie, PhD
>> R&D Engineer
>> Kitware Inc.
>>
>> 28 Corporate Drive
>> Clifton Park, NY 12065-8662
>> Phone: 518-371-3971 x124
>> www.kitware.com
>>
>>
>> _______________________________________________
>> IGSTK-Developers mailing list
>> IGSTK-Developers at public.kitware.com
>> <mailto:IGSTK-Developers at public.kitware.com>
>> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
>
>
>
>
> ------------------------------
> Frank Lindseth
> Research Scientist (PhD)
>
> SINTEF Health Research
> Dept. Medical Technology
> N-7465 Trondheim, Norway
> Location: Olav Kyrres gt. 9, 4th floor, Trondheim
>
> E-mail: Frank.Lindseth at sintef.no <mailto:thomas.lango at sintef.no>
> Telephone: +47 928 09 372
> Telefax: +47 930 70 800
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> IGSTK-Developers mailing list
> IGSTK-Developers at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
More information about the IGSTK-Developers
mailing list