<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div>Hi</div><div><br></div><div>I asked alot in VTK forum without reply .I finished alot of progress , my pipeline is </div><div><br></div><div>reading DICOM -&gt; build iso surface , cut and process on the 3D.</div>

<div><br></div><div>the problem is that the large is the dataset the slow is the output and the performance decrease incredibly </div><div><br></div><div>I use vtkContourFilter for rendering 3D , dod uhave any suggestion to fix the performance , this is the code I use </div>

<div><br></div><div><div>            vtk.vtkDICOMImageReader VDR = new vtk.vtkDICOMImageReader();</div><div>            VDR.SetDirectoryName(@&quot;E:\Master Degree\DataSet\case2\DICOM\PA1\ST1\SE2&quot;);</div><div>            VDR.SetDataOrigin(0, 0, 0);</div>

<div>            VDR.Update();</div><div><br></div><div>            // decrease the dataset data for large data preprocessing </div><div><br></div><div>            vtkImageShrink3D VIS = new vtkImageShrink3D();</div><div>

            VIS.SetShrinkFactors(2, 2, 2);</div><div>            VIS.SetInputConnection(VDR.GetOutputPort());</div><div>            VIS.Update();</div><div><br></div><div>            vtkImageThreshold VIT = new vtkImageThreshold();</div>

<div>            VIT.ThresholdBetween(200, 2000);</div><div>            VIT.SetInputConnection(VIS.GetOutputPort());</div><div>            VIT.Update();</div><div><br></div><div>            ///// Start the creation of volume rendering </div>

<div><br></div><div>            //1. Gget the range of data </div><div>            vtk.vtkImageChangeInformation VIC = new vtk.vtkImageChangeInformation();</div><div>            VIC.SetInput(VDR.GetOutput());</div><div>            VIC.CenterImageOn();</div>

<div>            VIC.Update();</div><div><br></div><div>            vtk.vtkImageData VoxelData = new vtk.vtkImageData();</div><div>            VoxelData = VIC.GetOutput();</div><div><br></div><div>            double[] metaScalarRange = VoxelData.GetScalarRange();</div>

<div><br></div><div><br></div><div>            // Render the skin - Soft tissue </div><div>            double isovalue= - 963 ;//= 0.8 * (metaScalarRange[1] + metaScalarRange[0]);</div><div><br></div><div><br></div><div>
            vtkContourFilter skinExtractor = new vtkContourFilter();</div>
<div>            skinExtractor.SetInputConnection(VIT.GetOutputPort());</div><div>             skinExtractor.SetValue(0, isovalue);</div><div>            //skinExtractor.GenerateValues(1,-300,300);</div><div>            skinExtractor.ComputeGradientsOn();</div>

<div>             </div><div>            skinExtractor.Update();</div></div><div><br></div></div>
</div><br></div>