<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt"><div>Hi,<br><br>I'm on the same problem (using vtkSeedWidget and points does not disappear after slice change), and after a lot of google search, this message appears ( :) ). But I have some questions:<br><br></div><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">From Karthik: What is the output display bounds of the result of vtkImageReslice. I<br>presume you are passing it through to vtkImageActor. If the display<br>bounds, as you scroll through slices do change, the seeds should<br>appear and disappear automatically.<br>Since the ImageActor doesn't have a SetBounds() method and ImageReslice doesn't have a GetBounds() method, how to do this? . <br><br>Another question:<br>When I call a the following on my callback, on Execute(vtkObject*,&nbsp; unsigned long,
 void*) method:<br>if( event == vtkCommand::PlacePointEvent)<br>&nbsp; {<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; "A point are placed!"&lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; cout &lt;&lt; "Point placed, total of:" &lt;&lt; this-&gt;SeedRepresentation-&gt;GetNumberOfSeeds() &lt;&lt; "\n";<br>&nbsp;&nbsp;&nbsp; double vc[3];<br>&nbsp;&nbsp;&nbsp; double wc[3];<br>&nbsp;&nbsp;&nbsp; this-&gt;SeedRepresentation-&gt;GetSeedWorldPosition(this-&gt;SeedRepresentation-&gt;GetNumberOfSeeds() - 1, vc);<br>&nbsp;&nbsp;&nbsp; this-&gt;SeedRepresentation-&gt;GetSeedDisplayPosition(this-&gt;SeedRepresentation-&gt;GetNumberOfSeeds() - 1, wc);<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; "Printing the word coordinate: " &lt;&lt; vc[0] &lt;&lt; ", " &lt;&lt; vc[1] &lt;&lt; ", " &lt;&lt; vc[2] &lt;&lt; std::endl;<br>&nbsp;&nbsp;&nbsp; std::cout &lt;&lt; "Printing the display coordinate: " &lt;&lt; wc[0] &lt;&lt; ", " &lt;&lt; wc[1] &lt;&lt; ", " &lt;&lt; wc[2] &lt;&lt;
 std::endl;<br>&nbsp;&nbsp; }<br>The output never show a valid Z value. If are in display coordinate, are every times 0 ( which I think are correct, since I'm are using a 2D viewer ).<br>But and in world coordinate? My access of this value of course are wrong. Can someone help me with these?<br><br>Sorry by the newbie question and thanks in advance,<br><br>Wagner Sales<br><br><br><div style="font-family: arial,helvetica,sans-serif; font-size: 13px;">----- Mensagem original ----<br>De: Ken Urish &lt;ken.urish@gmail.com&gt;<br>Para: Karthik Krishnan &lt;karthik.krishnan@kitware.com&gt;; vtkusers@vtk.org<br>Enviadas: Terça-feira, 29 de Abril de 2008 13:44:07<br>Assunto: Re: [vtkusers] vtkSeedWidget<br><br>Karthik<br><br>Yes I am passing vtkImageReslice through an actor.<br>No, I am not declaring any bounds on the reslice. I am using the<br>example based off the ImageReslice test file. I assume I should set<br>the bounds in the Reslice callback (below).
 Could you offer me what<br>command to use? I dont see object that looks like it will set bounds?<br>I really appreciate your help with this, I was up most of last night<br>trying to power through it.<br>Thanks, Ken<br><br>//------------------------------------------------------------------------------<br>// IMAGE RESLICE CALLBACK<br>// The mouse motion callback, to turn "Slicing" on and off<br>//-------------------------------------------------------------------------------<br>class vtkImageInteractionCallback : public vtkCommand<br>{<br>public:<br><br>&nbsp; static vtkImageInteractionCallback *New() {<br>&nbsp; &nbsp; return new vtkImageInteractionCallback; };<br><br>&nbsp; vtkImageInteractionCallback() {<br>&nbsp; &nbsp; this-&gt;Slicing = 0;<br>&nbsp; &nbsp; this-&gt;ImageReslice = 0;<br>&nbsp; &nbsp; this-&gt;Interactor = 0; };<br><br>&nbsp; void SetImageReslice(vtkImageReslice *reslice) {<br>&nbsp; &nbsp; this-&gt;ImageReslice = reslice;
 };<br><br>&nbsp; vtkImageReslice *GetImageReslice() {<br>&nbsp; &nbsp; return this-&gt;ImageReslice; };<br><br>&nbsp; void SetInteractor(vtkRenderWindowInteractor *interactor) {<br>&nbsp; &nbsp; this-&gt;Interactor = interactor; };<br><br>&nbsp; vtkRenderWindowInteractor *GetInteractor() {<br>&nbsp; &nbsp; return this-&gt;Interactor; };<br><br>&nbsp; virtual void Execute(vtkObject *, unsigned long event, void *)<br>&nbsp; &nbsp; {<br>&nbsp; &nbsp; vtkRenderWindowInteractor *interactor = this-&gt;GetInteractor();<br><br>&nbsp; &nbsp; int lastPos[2];<br>&nbsp; &nbsp; interactor-&gt;GetLastEventPosition(lastPos);<br>&nbsp; &nbsp; int currPos[2];<br>&nbsp; &nbsp; interactor-&gt;GetEventPosition(currPos);<br><br>&nbsp; &nbsp; if (event == vtkCommand::LeftButtonPressEvent)<br>&nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; this-&gt;Slicing = 1;<br>&nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; else if (event == vtkCommand::LeftButtonReleaseEvent)<br>&nbsp; &nbsp;
 &nbsp; {<br>&nbsp; &nbsp; &nbsp; this-&gt;Slicing = 0;<br>&nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; else if (event == vtkCommand::MouseMoveEvent)<br>&nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; if (this-&gt;Slicing)<br>&nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; vtkImageReslice *reslice = this-&gt;ImageReslice;<br><br>&nbsp; &nbsp; &nbsp; &nbsp; // Increment slice position by deltaY of mouse<br>&nbsp; &nbsp; &nbsp; &nbsp; int deltaY = (lastPos[1] - currPos[1]);<br><br>&nbsp; &nbsp; &nbsp; &nbsp; reslice-&gt;GetOutput()-&gt;UpdateInformation();<br>&nbsp; &nbsp; &nbsp; &nbsp; double sliceSpacing = reslice-&gt;GetOutput()-&gt;GetSpacing()[2];<br>&nbsp; &nbsp; &nbsp; &nbsp; vtkMatrix4x4 *matrix = reslice-&gt;GetResliceAxes();<br>&nbsp; &nbsp; &nbsp; &nbsp; // move the center point that we are slicing through<br>&nbsp; &nbsp; &nbsp; &nbsp; double point[4];<br>&nbsp; &nbsp; &nbsp; &nbsp; double center[4];<br>&nbsp; &nbsp; &nbsp; &nbsp;
 point[0] = 0.0;<br>&nbsp; &nbsp; &nbsp; &nbsp; point[1] = 0.0;<br>&nbsp; &nbsp; &nbsp; &nbsp; point[2] = sliceSpacing * deltaY;<br>&nbsp; &nbsp; &nbsp; &nbsp; point[3] = 1.0;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; std::cout&lt;&lt;point[2]&lt;&lt;std::endl;<br>&nbsp; &nbsp; &nbsp; &nbsp; matrix-&gt;MultiplyPoint(point, center);<br>&nbsp; &nbsp; &nbsp; &nbsp; matrix-&gt;SetElement(0, 3, center[0]);<br>&nbsp; &nbsp; &nbsp; &nbsp; matrix-&gt;SetElement(1, 3, center[1]);<br>&nbsp; &nbsp; &nbsp; &nbsp; matrix-&gt;SetElement(2, 3, center[2]);<br>&nbsp; &nbsp; &nbsp; &nbsp; interactor-&gt;Render();<br>&nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; else<br>&nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp; &nbsp; &nbsp; vtkInteractorStyle *style = vtkInteractorStyle::SafeDownCast(<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; interactor-&gt;GetInteractorStyle());<br>&nbsp; &nbsp; &nbsp; &nbsp; if (style)<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {<br>&nbsp; &nbsp;
 &nbsp; &nbsp; &nbsp; style-&gt;OnMouseMove();<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; &nbsp; }<br>&nbsp; &nbsp; };<br><br><br>On Tue, Apr 29, 2008 at 8:31 AM, Karthik Krishnan<br>&lt;<a ymailto="mailto:karthik.krishnan@kitware.com" href="mailto:karthik.krishnan@kitware.com">karthik.krishnan@kitware.com</a>&gt; wrote:<br>&gt; The Seed widget uses a vtkHandleWidget internally for each seed, with<br>&gt;&nbsp; the default representation being the 3D vtkPointHandleRepresentation3D<br>&gt;&nbsp; class. The resulting primitives exist in world coordinates (and not on<br>&gt;&nbsp; the overlay plane). So they should disappear when you move to the next<br>&gt;&nbsp; slice.<br>&gt;<br>&gt;&nbsp; What is the output display bounds of the result of vtkImageReslice. I<br>&gt;&nbsp; presume you are passing it through to vtkImageActor. If the display<br>&gt;&nbsp; bounds, as you scroll through slices do change, the
 seeds should<br>&gt;&nbsp; appear and disappear automatically.<br>&gt;<br>&gt;&nbsp; HTH<br>&gt;&nbsp; --<br>&gt;&nbsp; karthik<br>&gt;<br>&gt;<br>&gt;<br>&gt;&nbsp; On Tue, Apr 29, 2008 at 9:30 AM, Ken Urish &lt;<a ymailto="mailto:ken.urish@gmail.com" href="mailto:ken.urish@gmail.com">ken.urish@gmail.com</a>&gt; wrote:<br>&gt;&nbsp; &gt; Hey all,<br>&gt;&nbsp; &gt;<br>&gt;&nbsp; &gt;&nbsp; Im using vtkSeedWidget on a 3D image that I am viewing through<br>&gt;&nbsp; &gt;&nbsp; ImageReslice. When I place my seed points on a 2D slice, how can I<br>&gt;&nbsp; &gt;&nbsp; have the seed points disappear when I move to the next slice? Im<br>&gt;&nbsp; &gt;&nbsp; moving through ~100 slices and I dont want them building up. Is this<br>&gt;&nbsp; &gt;&nbsp; even possible? I appreciate the help.<br>&gt;&nbsp; &gt;<br>&gt;&nbsp; &gt;&nbsp; Thanks<br>&gt;&nbsp; &gt;&nbsp; --Ken--<br>&gt;&nbsp; &gt;&nbsp; _______________________________________________<br>&gt;&nbsp;
 &gt;&nbsp; This is the private VTK discussion list.<br>&gt;&nbsp; &gt;&nbsp; Please keep messages on-topic. Check the FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>&gt;&nbsp; &gt;&nbsp; Follow this link to subscribe/unsubscribe:<br>&gt;&nbsp; &gt;&nbsp; <a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>&gt;<br>_______________________________________________<br>This is the private VTK discussion list.<br>Please keep messages on-topic. Check the FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br></div></div></div><br>


      <hr size=1>Novos endereços, o Yahoo! que você conhece. <a href="http://br.rd.yahoo.com/mail/taglines/mail/*http://br.new.mail.yahoo.com/addresses">Crie um email novo</a> com a sua cara @ymail.com ou @rocketmail.com.</body></html>