[IGSTK-Users] Viewer Problem due to TransformPhysicalPointToIndex
Patrick Cheng
cheng at isis.georgetown.edu
Sun Jun 18 21:32:55 EDT 2006
Hi Fucang,
Thank you very much for your patience and detailed report including
the video you send to me.
I am sorry that I didn't look carefully enough on this. I tested it
carefully on axial view, and very briefly on the other two views
windows. Now I do realize that the sagittal view still has the old
problem.
This is a very interesting bug. I wonder why it only shows in the
sagittal view. I will take a close look into it. I will get back to
you ASAP.
Thank you,
Patrick
Fucang Jia wrote:
> Hi Patrick,
>
> I synchronized the IGSTK and Sandbox cvs and recompiled it from scratch.
> The DrawPickedPoint is using continuous index now.
>
> But I can reproduce the problem with the executable you sent me. I just
> sent
> you an animation to picture this problem.
>
> Thanks a lot!
>
> Fucang
>
> ------------------------------------------------------------------------
> On 2006-06-19 02:50:55 Patrick Cheng
> Subject: Re: [IGSTK-Users] Viewer Problem due to
> TransformPhysicalPointToIndex
>
> 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
>
--
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