[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