[IGSTK-Users] Viewer Problem due to TransformPhysicalPointToIndex
Patrick Cheng
cheng at isis.georgetown.edu
Sun Jun 18 14:47:29 EDT 2006
Hi Fucang,
I fixed the problem in the IGSTK main repository, by adding
TransformPhysicalPointToContinuousIndex() function, into the
igstkImageSpatialObject class.
But the example application you are running is in the Sandbox.
You might need to check on two things:
First, after you update the IGSTK main repository, you have to CMake
the Sandbox again, this way, the Sandbox will get the latest source
from main repository,
Second, you have updated the FourViewsTrackingWithCT application in
the Sandbox. You can double check by looking into the
DrawPickedPoint() function in the FourViewsTrackingWithCT .cxx file.
See whether it's using the continuous index.
I will send you the executables in another separate email, because
this email goes to the mailing list.
Patrick
Fucang Jia wrote:
> Hi Patrick,
>
> Thank you very much!
>
> But I am not keep clicking on the same point. Would you like to share me
> with
> a Win32 executable FourViewsTrackingWithCT app for me to have a test?
>
> Thanks!
>
> Fucang
>
> ------------------------------------------------------------------------
> On 2006-06-18 06:10:51 Patrick Cheng
> Subject: Re: [IGSTK-Users] Viewer Problem due to
> TransformPhysicalPointToIndex
>
> Hi Fucang,
>
> I guess the problem is you keep clicking on the same point:
> The first
> time you click on a point, vtk's z buffer store the value,
> where the
> ray intersects with the image plane. but NOTICE here, we put
> an sphere
> on that clicking point, if you do not moving the mouse, the
> second
> time you click again, it actually will return the point on
> the sphere
> you have clicked. that's why the slice is still jumping. if
> you move
> you mouse a little bit, and click on the same image plane, it
> shouldn't have an jumping, i have tested here without any problem.
>
> By default, all the spatial object in the view is pickable in
> IGSTK.
>
> Patrick
>
> Fucang Jia wrote:
> >
> > Hi Patrick,
> >
> > I found that another vtk dlls exists in the default path,
> which
> > cause the fltk app can not execute, when
> > I copy the compiled vtk dlls into the path of fltk app,
> which works well.
> >
> > But on the slice index jumping problem, it seems that it
> exists. If you
> > launch the app
> > FourViewTrackingWithCT compiled in debug mode( I have not
> tried in
> > release mode),
> > and load dataset IGSTK/Testing/Data/Input/E000192
> > then let left mouse click on the sagittal view plane, you
> will see that.
> > I first change the sagittal
> > index to 511, then click once, the index is 511, then I
> click it again,
> > the index changes to 510.
> > When I continue click left mouse on it, it will change to
> 509, 508, ...
> > When it change to 464, it
> > will never change. When I change the sagittal slice to
> another slice,
> > then click, the slice changes
> > again.
> >
> > I found this is not due to TransformPhysicalPointToIndex
> function, but
> > in igstkView.cxx
> > m_PointPicker- >GetPickPosition( data );
> > which compute z buffer depth from vtkOpenGLRenderWindow.cxx
> > int vtkOpenGLRenderWindow::GetZbufferData( int x1, int y1, int
> x2, int y2,
> >
> float* z_data )
> > glReadPixels( x_low, y_low,
> > width, height,
> > GL_DEPTH_COMPONENT, GL_FLOAT,
> > z_data );
> >
> > I add a line
> > std::cout < <"z_data is " < <*z_data < <std::endl;
> >
> > when I click the mouse at one position, the z_data
> changes. I think this
> > may be the cause. But
> > I can not figure out why now.
> >
> > Thanks!
> >
> > Fucang
> >
> >
> > ------------------------------------------------------------------------
> > On 2006-06-15 22:55:33 Patrick Cheng
> > Subject: Re: [IGSTK-Users] Viewer Problem due to
> > TransformPhysicalPointToIndex
> >
> > Hi Fucang,
> >
> > 1. You should update both IGSTK and
> IGSTKSandbox (bug fix is
> > in the
> > IGSTK, I have also changed the example app
> in IGSTKSandbox to
> > use the
> > ContinuousIndex)
> >
> > 2. You might need to cmake the IGSTKSandbox
> again, this will
> > take the
> > latest code from IGSTK to IGSTKSandbox build
> directory, and
> > then compile
> > the IGSTKSandbox. (You have to run the cmake
> on IGSTKSandbox
> > again,
> > after you update the IGSTK)
> >
> > I have tested this on the same platform
> here, it works out
> > fine here. If
> > you still have problem with this. Can you be
> more specific on
> > the error
> > and difficulty you have encountered?
> >
> > Patrick
> >
> > Fucang Jia wrote:
> > > Hi Patrick,
> > >
> > > Thank you for your rapid reply.
> > >
> > > But after I synchronized with CVS version,
> I found that
> > all fltk app can
> > > not run ( this app
> > > is compiled in debug mode, VC.Net2003
> fltk-1-1.7 or
> > fltk-1.1.12-16-05).
> > >
> > > Then I switched to VC6 and compiled it.
> But I found that
> > jumping problem
> > > still exists.
> > > and m_CTImageObserver- >GetCTImage()- >IsInside( p
> ) will
> > incorrectly
> > > report to 0 when
> > > sagittal slice is 0, so it will report
> "Picked point
> > outside image".
> > >
> > > Thanks !
> > >
> > > Fucang
> > >
> > >
> > >
> ------------------------------------------------------------------------
> > > On 2006-06-15 01:10:05 Patrick Cheng
> > > Subject: Re: [IGSTK-Users] Viewer
> Problem due to
> > > TransformPhysicalPointToIndex
> > >
> > > Hi Fucang,
> > >
> > > A new
> TransformPhysicalPointToContinuousIndex(p,index)
> > function and a
> > > ContinuousIndexType is being added
> to the
> > ImageSpatialObject's API.
> > >
> > > Now if you take the pick
> position and use
> > the continuous
> > > index to
> > > reslice the image, it will
> be much smoother
> > and won't jump.
> > >
> > > Please update your IGSTK main
> and Sandbox
> > repository code.
> > >
> > > Thank you,
> > >
> > > Patrick
> > >
> > > Fucang Jia wrote:
> > > > Hi, Patrick,
> > > >
> > > > There is a problem
> due to
> > TransformPhysicalPointToIndex
> > > function, which
> > > > belongs to Bug# 738,
> > > > but it seems that
> this critial bug has
> > not been fixed.
> > > >
> > > > When I load
> > IGSTK\Sandbox-Release-8\Testing\Data\E000192,
> > > > press the left mouse
> button on the
> > sagittal view in
> > > > FourViewsTrackingWithCT app
> continuously,
> > > > then the index changes
> little bye one,
> > when the index of
> > > sagittal viewer
> > > > was changed to 0,
> I press the
> > > > mouse button onto the
> sagittal image, it
> > says "Picked point
> > > outside
> > > > image". I tracked this
> bug,
> > > > and found that it
> is due to index
> > round up problem.
> > > >
> > > > For example, the origin
> is -153.6640625,
> > > > the spacing is 0.671875
> > > > the physical coordinate
> is 16.3203
> > > > so the according index
> is
> > > > (16.3203+153.6640625)/0.671875 =
> 252.9999813953,
> > > > it was truncated to
> 252.
> > > >
> > > > Then resliceImage function
> will change the
> > orthogonal image
> > > slice.
> > > >
> > > > I also found this
> behaviour will occur
> > when certain DICOM
> > > dataset is
> > > > loaded. When I load
> other DICOM dataset,
> > > > the axial and coronal
> slice will have
> > problem, but sagittal
> > > view does
> > > > not change when mouse
> pressed. It is
> > because
> > > > that certain origin and
> spacing parameters
> > trigger this problem.
> > > >
> > > > Thanks!
> > > >
> > > > Fucang
> > > >
> > > >
> > > >
> >
> ------------------------------------------------------------------------
> > > >
> > > > _______________________________________________
> > > > IGSTK-Users mailing list
> > > > IGSTK-Users at public.kitware.com
> > > >
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users
> > >
> >
>
> --
> Patrick Cheng
> Work phone: 202-687-2902
> Software Engineer
> Work fax: 202-784-3479
> Email: cheng at isis.georgetown.edu
>
> Imaging Science and Information Systems (ISIS) Center
> Department of Radiology, Georgetown University Medical Center
> 2115 Wisconsin Avenue, Suite 603, Washington, DC, 20007
>
--
Patrick Cheng Work phone: 202-687-2902
Software Engineer Work fax: 202-784-3479
Email: cheng at isis.georgetown.edu
Imaging Science and Information Systems (ISIS) Center
Department of Radiology, Georgetown University Medical Center
2115 Wisconsin Avenue, Suite 603, Washington, DC, 20007
More information about the IGSTK-Users
mailing list