<div>I don't understand:<br> </div>
<div>selection point (X,Y) in pixel coordinates // This is the loc picked in screen coordinates?</div>
<div>real position in world (x,y,z) // This is the mapped position picked (mapped to an index in your image)?</div>
<div> </div>
<div>Mark<br> </div>
<div><span class="gmail_quote">On 10/5/05, <b class="gmail_sendername">Renaud Isabelle</b> <<a href="mailto:renauisa@yahoo.fr">renauisa@yahoo.fr</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>Hi again, </div>
<div> </div>
<div>Ok, I checked out the difference between picker->GetPickPosition() and picker->GetMapperPosition(), and in my case, they are always the same: goo for me! </div>
<div> </div>
<div>So, I still have my selection point (X,Y) in pixel coordinates, and my real position in world (x,y,z), but i would like to know how to retrieve the pixel value of my itkImage since I have got my real position in world.
</div>
<div> </div>
<div>BTW, did you finally manage to set a pixel that your user clicks on to a certain color, as you mentioned in your posted mail <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://public.kitware.com/pipermail/vtkusers/2005-May/079622.html" target="_blank">
http://public.kitware.com/pipermail/vtkusers/2005-May/079622.html</a>? </div>
<div>This could be exactly what I would like to do.</div>
<div><span class="e" id="q_106c27ec0f20eddb_1">
<div> </div>
<div>Isabelle<br><br><b><i>Mark Wyszomierski <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:markww@gmail.com" target="_blank">markww@gmail.com</a>></i></b> a écrit :</div>
<blockquote style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">
<div>Hi Isabelle,</div>
<div> </div>
<div>So my observer is a class, who has a member to my 'view' class, as well as some storage for</div>
<div>the mapped point. Pseudo code looks like:</div>
<p>class vtkObserverLeftMouseDown : public vtkCommand {<br> public:<br> CMyView *m_pView;<br> double ptMapped[3];<br>};</p>
<div>Now to fill in some of the blanks, the actual function looks like:</div>
<div> </div>
<div>void vtkObserverLeftMouseDown ::Execute(vtkObject *caller, unsigned long, void*) <br>{</div>
<div> m_pView->Picker->Pick(m_pView->Interactor->GetEventPosition()[0], <br> m_pView->Interactor->GetEventPosition()[1], <br> 0,
<br> m_pView->Renderer);</div>
<div> m_pView->Picker->GetMapperPosition(ptMapped);</div>
<div>}</div>
<div> </div>
<div>Once ptMapped is filled in for you, you can do the equation where you divide by the</div>
<div>pixel spacing etc. The (int)(+ 0.5) is just a shortcut for rounding - it is to make the</div>
<div>final determination about what pixel you're over. It is not related to my origin. You'll</div>
<div>have to come up with a way to get your picker to the observer. Using a pointer to</div>
<div>my view class worked for me. </div>
<div> </div>
<div>Mark</div>
<div> </div>
<div> </div>
<div> </div>
<div><span class="gmail_quote">On 10/5/05, <b class="gmail_sendername">Renaud Isabelle</b> <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:renauisa@yahoo.fr" target="_blank">renauisa@yahoo.fr</a>
> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>Hi Mark,</div>
<div> </div>
<div>Thanks for replying. </div>
<div> </div>
<div>I have already computed my world position by firing a picker from pixel coordinates. Sorry but I don't see or know what the mapper coordinates are. What is the difference and how this could help me to retrieve the index in my itkImage's buffer corresponding to my world position?
</div>
<div> </div>
<div>BTW, what is your '+ 0.5'? I suppose this is the origin in x of your image, right? </div>
<div> </div>
<div>Isabelle<br><br><b><i>Mark Wyszomierski <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:markww@gmail.com" target="_blank">markww@gmail.com</a>></i></b> a écrit :</div>
<div><span>
<blockquote style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">
<div>You can fire a pick event when the user clicks the mouse:</div>
<div> </div>
<div> Picker->Pick(eventpos[0], eventpos[1], 0, renderer);</div>
<div> </div>
<div>Then you can get the mapped position:</div>
<div> </div>
<div> Picker->GetMapperPosition(...);</div>
<div> </div>
<div>Then the final x,y locs of the original image I get by:</div>
<div> </div>
<div> originalX = (int)(ptMapped[0] / pixel_spacing_x + 0.5);</div>
<div> // same for y.</div>
<div> </div>
<div>This always has given me the correct 'real' location.</div>
<div> </div>
<div>Mark<br><br> </div>
<div><span class="gmail_quote">On 10/5/05, <b class="gmail_sendername">Renaud Isabelle</b> <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:renauisa@yahoo.fr" target="_blank">renauisa@yahoo.fr</a>
> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>Hi all,</div>
<div> </div>
<div>I have read an initial 3D image from a file with itkImageFileReader and displayed with VTK through vtkImageData/vtkImageActor.</div>
<div> </div>
<div>Now, since a known world position in 3D x,y,z, I would like to retrieve the pixel value at this point of my image. </div>
<div> </div>
<div>This seems to be a complex problem, because I don't want the pixel data that is displayed at this position but the pixel data of the raw image, that is no rescaled instead.</div>
<div> </div>
<div>Is there some example where such a thing is done? Or any function? </div>
<div> </div>
<div>Thanks, </div><span>
<div> </div>
<div>Isabelle</div></span><span>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<p>
<hr size="1">
<b><font color="#ff0000">Appel audio GRATUIT</font> partout dans le monde</b> avec le nouveau Yahoo! Messenger<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://us.rd.yahoo.com/messenger/mail_taglines/default/*http://fr.messenger.yahoo.com" target="_blank">
Téléchargez le ici !</a>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p></p></span><br>_______________________________________________<br>This is the private VTK discussion list.<br>Please keep messages on-topic. Check the FAQ at: <a onclick="return top.js.OpenExtLink(window,event,this)" 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 onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers
</a><br><br><br></blockquote></div><br></blockquote>
<p>
<hr size="1">
<b><font color="#ff0000">Appel audio GRATUIT</font> partout dans le monde</b> avec le nouveau Yahoo! Messenger<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://us.rd.yahoo.com/messenger/mail_taglines/default/*http://fr.messenger.yahoo.com" target="_blank">
Téléchargez le ici !</a>
<p></p>
<p></p>
<p></p></p></span></div></blockquote></div><br></blockquote>
<p>
<hr size="1">
<b><font color="#ff0000">Appel audio GRATUIT</font> partout dans le monde</b> avec le nouveau Yahoo! Messenger<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://us.rd.yahoo.com/messenger/mail_taglines/default/*http://fr.messenger.yahoo.com" target="_blank">
Téléchargez le ici !</a>
<p></p></p></span></div></blockquote></div><br>