Hi.<br><span id="result_box" class="medium_text"><span style="background-color: rgb(255, 255, 255);" title="Õ ÍÅÎÑ ÐÏÑ×ÉÌÁÓØ ÐÒÏÂÌÅÍÁ ÓÏ×ÍÅÝÅÎÉÑ 
vtkActor É vtkActor2D ÄÌÑ vtkImageViewer2D.">I have this problem of 
combining vtkActor and vtkActor2D for vtkImageViewer2D. </span><span style="background-color: rgb(255, 255, 255);" title="éÚÏÂÒÁÖÅÎÉÅ ÏÔ 
vtkActor2D ÏËÁÚÙ×ÁÅÔÓÑ ÐÏÄ 2D ÉÚÏÂÒÁÖÅÎÉÑÍÉ.">Images from vtkActor2D 
gets under 2D images. </span></span><span id="result_box" class="long_text"><span title="éÚÏÂÒÁÖÅÎÉÅ ÏÔ 
vtkActor2D ÏËÁÚÙ×ÁÅÔÓÑ ÐÏÄ 2D ÉÚÏÂÒÁÖÅÎÉÑÍÉ."> </span><span title="ëÁË Ñ
 ÐÏÎÉÍÁÀ ÐÒÏÂÌÅÍÁ ÓÏÓÔÏÉÔ × ËÏÎ×ÅÒÔÁÃÉÉ vtkPolyData to vtkImageData, Ñ 
ÍÏÇ ÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ vtkImageData, ÎÏ ÎÅ ÚÎÁÀ, ËÁË × ÎÅÍ ÓÏÚÄÁ×ÁÔØ ËÏÎÔÕÒ
 ÐÏ ÔÏÞËÁÍ.">I understand that the problem is converting vtkPolyData to 
vtkImageData, I could use vtkImageData, but do not know how to create it
 on the contour points.</span></span><br><span id="result_box" class="medium_text"><span style="background-color: rgb(255, 255, 255);" title="éÚÏÂÒÁÖÅÎÉÅ ÏÔ 
vtkActor2D ÏËÁÚÙ×ÁÅÔÓÑ ÐÏÄ 2D ÉÚÏÂÒÁÖÅÎÉÑÍÉ."><br>ššššššššššš //Create the RenderWindow, Renderer and RenderWindowInteractor<br>ššššššššššš vtkRenderer ren1 = new vtkRenderer();<br>ššššššššššš vtkRenderWindow renWin = reWin.GetRenderWindow();<br>
ššššššššššš renWin.AddRenderer(ren1);<br>ššššššššššš vtkRenderWindowInteractor iren = new vtkRenderWindowInteractor();<br>ššššššššššš iren.SetRenderWindow(renWin);<br><br>ššššššššššš vtkDICOMImageReader DicomReader = new vtkDICOMImageReader();<br>
ššššššššššš DicomReader.SetFileName(m_strFilePath);<br>ššššššššššš DicomReader.Update();<br><br>ššššššššššš vtkImageMapper DicomMapper = new vtkImageMapper();<br>ššššššššššš DicomMapper.SetInputConnection(DicomReader.GetOutputPort());<br>
ššššššššššš DicomMapper.SetColorWindow(255.0);<br>ššššššššššš DicomMapper.SetColorLevel(127.5);<br><br>ššššššššššš vtkActor2D DicomActor = new vtkActor2D();<br>ššššššššššš DicomActor.SetMapper(DicomMapper);<br><br>ššššššššššš vtkImageData vol = new vtkImageData();<br>
ššššššššššš vol.SetDimensions(512, 512, 1);<br>ššššššššššš vol.SetSpacing(1, 1, 1);<br>ššššššššššš vol.SetOrigin(0, 0, 0);<br>ššššššššššš vol.SetScalarTypeToFloat();<br>ššššššššššš vol.AllocateScalars();<br><br>ššššššššššš vtkFloatArray scalars = new vtkFloatArray();<br>
ššššššššššš for (int i = 0; i &lt; 512; i++)<br>ššššššššššš {<br>ššššššššššššššš for (int j = 0; j &lt; 512; j++)<br>ššššššššššššššš {<br>ššššššššššššššššššš scalars.InsertTuple1(i * 512 + j, m_DoseMap[i * 512 + j]);<br>ššššššššššššššš }<br>
ššššššššššš }<br><br>ššššššššššš vol.GetPointData().SetScalars(scalars);<br>ššššššššššš vol.Update();<br><br>ššššššššššš double[] DoseRange = vol.GetScalarRange();<br><br>ššššššššššš vtkLookupTable LUT = new vtkLookupTable();<br>
ššššššššššš LUT.SetTableRange(DoseRange[0], DoseRange[1]);//min dose,max dose<br>ššššššššššš LUT.SetNumberOfColors(1000);<br>ššššššššššš LUT.SetSaturationRange(1, 1);<br>ššššššššššš LUT.SetHueRange(0.67, 0);//blue to red<br>
ššššššššššš LUT.SetAlphaRange(0, 0.3);//opacity<br>ššššššššššš LUT.Build();<br><br>ššššššššššš vtkImageMapToColors mapToRGBA = new vtkImageMapToColors();<br>ššššššššššš mapToRGBA.SetInput(vol);<br>ššššššššššš mapToRGBA.SetOutputFormatToRGBA();<br>
ššššššššššš mapToRGBA.SetLookupTable(LUT);<br><br>ššššššššššš vtkImageMapper ColorMapper = new vtkImageMapper();<br>ššššššššššš ColorMapper.SetInputConnection(mapToRGBA.GetOutputPort());<br>ššššššššššš ColorMapper.SetColorWindow(255.0);<br>
ššššššššššš ColorMapper.SetColorLevel(127.5);<br><br>ššššššššššš vtkActor2D ColorActor = new vtkActor2D();<br>ššššššššššš ColorActor.SetMapper(ColorMapper);<br><br>ššššššššššš vtkContourFilter cf = new vtkContourFilter();<br>
ššššššššššš cf.SetInput(vol);<br>ššššššššššš //cf.SetValue(0, Convert.ToDouble(dataGridViewIsodose.Rows[i].Cells[1].Value));<br>ššššššššššš cf.SetValue(0, 100);<br>ššššššššššš cf.Update();<br><br>ššššššššššš vtkPolyDataMapper mapper = new vtkPolyDataMapper();<br>
ššššššššššš mapper.SetInputConnection(cf.GetOutputPort());<br>ššššššššššš mapper.ScalarVisibilityOff();<br><br>ššššššššššš vtkActor actor = new vtkActor();<br>ššššššššššš actor.SetMapper(mapper);<br>ššššššššššš actor.GetProperty().SetColor(1, 0, 0);<br>
<br>ššššššššššš vtkImageViewer2 viewer = new vtkImageViewer2();<br>ššššššššššš viewer.SetupInteractor(iren);<br>ššššššššššš viewer.GetRenderer().AddActor(DicomActor);<br>ššššššššššš viewer.GetRenderer().AddActor(ColorActor);<br>
ššššššššššš viewer.GetRenderer().AddActor(actor);<br>ššššššššššš viewer.GetRenderer().ResetCamera();<br>ššššššššššš viewer.Render();<br><br></span></span><span id="result_box" class="long_text"><span title="úÁÒÁÎÅÅ ÓÐÁÓÉÂÏ">Thanks
 in advance.</span></span><br clear="all"><br>-- <br>ó õ×ÁÖÅÎÉÅÍ,<br>áÎÄÒÅÊ.<br>Best regards, Andrew<br>