Hi everyone <div><br></div><div>I am experiencing some unconventional results when doing volume rendering. </div><div><br></div><div>I need to adjust the pixel spacing of my image using vtkImageChangeInformation to show real physical dimensions. When I apply that filter only some parts of the volume rendered image are visible others simply do not appear. </div>
<div><br></div><div>I updated the vtkGPUVolumeRayCastMapper SetSampleDistance to the same spacing I use in vtkImageChangeInformation with no change in the output. </div><div><br></div><div>Can anyone suggest what I am missing? </div>
<div><br>Sergio </div><div><br></div><div>//// code </div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>double opacityWindow = 2000.0;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>double opacityLevel = 1.0;</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkDICOMImageReader *dicomReader = vtkDICOMImageReader::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>dicomReader->SetDirectoryName("C:/Users/echopixel-01/Desktop/images/t120");</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>dicomReader->Update();</div></div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkImageData *dcmImage = vtkImageData::New(); </div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>dcmImage = dicomReader->GetOutput(); </div><div><span class="Apple-tab-span" style="white-space:pre">        </span>dcmImage->Update(); </div></div><div><br>
</div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkImageChangeInformation *iChange = vtkImageChangeInformation::New(); </div><div><span class="Apple-tab-span" style="white-space:pre">        </span>iChange->SetInput(dcmImage); </div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>iChange->SetOutputSpacing(0.000125, 0.000125, 0.0002); </div><div><span class="Apple-tab-span" style="white-space:pre">        </span>iChange->Update(); </div>
</div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkColorTransferFunction *colorFun = vtkColorTransferFunction::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>colorFun->AddRGBSegment(opacityLevel - 0.5*opacityWindow, 0.0, 0.0, 0.0, opacityLevel + 0.5*opacityWindow, 1.0, 1.0, 1.0 );</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkPiecewiseFunction *opacityFun = vtkPiecewiseFunction::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>opacityFun->AddSegment( opacityLevel - 0.5*opacityWindow, 0.0, opacityLevel + 0.5*opacityWindow, 1.0 );</div>
</div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkVolumeProperty *property1 = vtkVolumeProperty::New();</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>property1->SetIndependentComponents(true);</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>property1->SetColor( colorFun );</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>property1->SetScalarOpacity( opacityFun );</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>property1->SetInterpolationTypeToLinear();</div></div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkVolume *volume = vtkVolume::New();</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>vtkGPUVolumeRayCastMapper *mapper = vtkGPUVolumeRayCastMapper::New();</div></div><div><br></div><div> mapper->SetInputConnection(iChange->GetOutputPort());</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>mapper->SetBlendModeToComposite();</div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>mapper->AutoAdjustSampleDistancesOff(); </div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>mapper->SetSampleDistance(0.000125); </div></div><div><br></div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>volume->SetProperty( property1 );</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>volume->SetMapper( mapper );</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>volume->SetPosition(0.0, 0.0, 0.0); </div><div><span class="Apple-tab-span" style="white-space:pre">        </span>volume->SetOrigin(0.0, 0.0, 0.0); </div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>volume->Update(); </div></div>