[IGSTK-Users] Viewer Problem due to TransformPhysicalPointToIndex
Fucang Jia
jiafucang at asisz.com
Sat Jun 17 06:18:14 EDT 2006
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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/igstk-users/attachments/20060617/a38b5d28/attachment-0001.html>
More information about the IGSTK-Users
mailing list