[IGSTK-Users] Viewer Problem due to TransformPhysicalPointToIndex
Fucang Jia
jiafucang at asisz.com
Sun Jun 18 21:55:38 EDT 2006
Hi Patrick,
Thank you very much!
The problem of the app depends on the loaded dataset, maybe the spacing, origin
combination trigger the problem. The axial and coronal view will also have this
problem. I will send you a CT model DICOM data which will demonstrate this problem.
Thanks!
Fucang
On 2006-06-19 09:36:22 Patrick Cheng
Subject: Re: [IGSTK-Users] Viewer Problem due to TransformPhysicalPointToIndex
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/igstk-users/attachments/20060619/ba2704de/attachment-0001.html>
More information about the IGSTK-Users
mailing list