<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:'Times New Roman',Times,serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0"><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;">Dear All,</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;"><br>
</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;">I am trying to add a seed point by a mouse release event. But, I've got an issue, the</span><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;"> window/level
 (intercept/slope) parameters of the image visualization is changed. Maybe adding a red circle into the visualization window affected the parameters?</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;"><br>
</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;">Below is my code :</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;"><br>
</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;"></p>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
void MainWindow::<wbr>myMouseReleaseEvent (QMouseEvent * event) </div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
{  </div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>const unsigned int InputDimension = 3;//Dimension of image</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>typedef short InputPixelType;//Pixel Type</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>typedef itk::Image< InputPixelType, InputDimension > InputImageType;//Image Type</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
    </div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>//Set input image to VTK viewer</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>double* range = image_vtk->GetScalarRange();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>image_view->SetInputData(<wbr>image_vtk);</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>image_view->SetColorLevel(0.5*<wbr>(range[0]+range[1]));</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>image_view->SetColorWindow(<wbr>range[1] - range[0]);</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>mMinSliderX = image_view->GetSliceMin();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>mMaxSliderX = image_view->GetSliceMax();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>ui->horizontalSlider-><wbr>setMinimum(mMinSliderX);</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>ui->horizontalSlider-><wbr>setMaximum(mMaxSliderX);</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>Hori_slider_position = 0;</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>int sliceNumber = currentSlice;</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>vtkSmartPointer<vtkExtractVOI> extractVOI = vtkSmartPointer<vtkExtractVOI><wbr>::New();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>extractVOI->SetInputData(<wbr>image_vtk);</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>extractVOI->SetSampleRate(1,1,<wbr>1);</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span><font style="vertical-align: inherit;">extractVOI-> SetVOI </font><span style="white-space: pre-wrap;"></span><font style="vertical-align: inherit;">( </font><span style="white-space: pre-wrap;"></span><font style="vertical-align: inherit;">0,
 image_vtk-> GetExtent () [1],</font></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span><font style="vertical-align: inherit;">0, image_vtk-> GetExtent () [3],</font></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>sliceNumber, sliceNumber</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>);</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>extractVOI->Update();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>vtkImageData* extracted = extractVOI->GetOutput();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>vtkSmartPointer<vtkImageCast> extractedCastFilter = vtkSmartPointer<vtkImageCast>:<wbr>:New();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>extractedCastFilter-><wbr>SetInputData(extracted);</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>extractedCastFilter-><wbr>SetOutputScalarTypeToUnsignedS<wbr>hort();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>extractedCastFilter->Update();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>vtkSmartPointer<vtkImageActor> imageActor = vtkSmartPointer<vtkImageActor><wbr>::New();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>imageActor->GetMapper()-><wbr>SetInputConnection( extractedCastFilter-><wbr>GetOutputPort());</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>// Setup renderer</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<br>
</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::<wbr>New();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>renderer->AddActor(imageActor)<wbr>;</div>
<span class="" style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<div><span style="white-space: pre-wrap;"></span></div>
<div><br>
</div>
<div><span style="white-space: pre-wrap;"></span><font style="vertical-align: inherit;">if (event->button() == Qt::LeftButton )</font></div>
<div><span style="white-space: pre-wrap;"></span><font style="vertical-align: inherit;">{   </font></div>
<div><br>
</div>
<div><span style="white-space: pre-wrap;"></span></div>
</span><span style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;"></span>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>QPointF currPos = event->windowPos();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;">
<div style="font-family: "Times New Roman", Times, serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">currPos.setX(currPos.x());</font></font></div>
<div style="font-family: "Times New Roman", Times, serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;">currPos.setY(ui->qVTK1-><wbr>height() - currPos.y());</font></font></div>
</span></div>
<span class="" style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<div><span style="white-space: pre-wrap;"></span></div>
<div><span style="white-space: pre-wrap;"></span><font style="vertical-align: inherit;">// Seed points visualization</font><span style="font-size: 12pt; white-space: pre-wrap;">
</span></div>
<div><br>
</div>
<div><span style="white-space: pre-wrap;"></span></div>
<div><span style="white-space: pre-wrap;"></span>vtkSmartPointer<<wbr>vtkSphereSource> sphereSource = vtkSmartPointer<<wbr>vtkSphereSource>::New();</div>
<div><span style="white-space: pre-wrap;"></span>sphereSource->SetCenter(0.0, 0.0, 0.0);</div>
<div><span style="white-space: pre-wrap;"></span>sphereSource->SetRadius(10.0);</div>
<div><br>
</div>
<div><span style="white-space: pre-wrap;"></span>sphereSource->Update();</div>
<div><br>
</div>
<div><span style="white-space: pre-wrap;"></span>vtkSmartPointer<<wbr>vtkPolyDataMapper2D> sphereMapper = vtkSmartPointer<<wbr>vtkPolyDataMapper2D>::New();</div>
<div><span style="white-space: pre-wrap;"></span>sphereMapper-><wbr>SetInputConnection(<wbr>sphereSource->GetOutputPort())<wbr>;</div>
<div><span style="white-space: pre-wrap;"></span>sphereMapper->Update();</div>
<div><br>
</div>
<div><span style="white-space: pre-wrap;"></span>vtkSmartPointer<vtkActor2D> sphereActor = vtkSmartPointer<vtkActor2D>::<wbr>New();</div>
<div>               sphereActor->SetMapper(<wbr>sphereMapper);</div>
<div><span style="white-space: pre-wrap;"></span>sphereActor->GetProperty()-><wbr>SetColor(1.0, 0.0, 0.0);</div>
<div><span style="white-space: pre-wrap;"></span>sphereActor->GetProperty()-><wbr>SetPointSize(5);</div>
</span><span style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;"></span>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>sphereActor->SetPosition( currPos.x(), currPos.y() );<span style="white-space: pre-wrap;">
</span></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>renderer->AddActor(<wbr>sphereActor);</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>renderer->ResetCamera();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>}</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span><font style="vertical-align: inherit;">ui-> qVTK1-> GetRenderWindow () -> AddRenderer (renderer);</font></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span><font style="vertical-align: inherit;">ui-> qVTK1-> GetRenderWindow () -> render ();</font></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span>ui->qVTK1->update();</div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<span style="white-space: pre-wrap;"></span></div>
<div style="font-family: "Times New Roman", Times, serif, serif, EmojiFont; font-size: 16px;">
<font style="vertical-align: inherit;">}</font></div>
<br>
</span>
<p></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;"><br>
</span></p>
<p style="margin-top:0;margin-bottom:0"><span style="font-family: verdana, sans-serif, serif, EmojiFont; font-size: small;">Kind regards,</span></p>
</div>
</body>
</html>