[vtkusers] Volume Rendering problem !!

Mohammed Adel dooolabayooomy at gmail.com
Thu Nov 8 10:36:39 EST 2018


 Hi all
I am using VTK with Activiz.net to reconstruct a series of JPEG ultrasound
images, I have used raycasting technique and applied transfer function as
here,
The problem is that the Opacity transfer function isn't working with the
vtkJPEG reader output, the black regions was not filtered,  the code is
working fine with vtkDICOMReader? so, any solutions for this ???

The code:


vtkJPEGReader jpegReader = vtkJPEGReader.New();
            jpegReader.SetDataByteOrderToLittleEndian();
            jpegReader.SetFilePattern("%s%d.jpg");

jpegReader.SetFilePrefix(@"C:\Users\DilenyTech\Desktop\test\TestC#\Series_004\CIM_0001_Frame");
            jpegReader.SetDataExtent(0, 176, 0, 510,1, 243);
            jpegReader.SetDataScalarTypeToFloat();
            jpegReader.SetDataSpacing(1, 1, 1);
            jpegReader.SetDataOrigin(0, 0, 0);



            vtkImageThreshold SelectTissue = vtkImageThreshold.New();
            SelectTissue.SetInput(jpegReader.GetOutput());
            SelectTissue.ThresholdBetween(0, 10);

            vtkFixedPointVolumeRayCastMapper volumeMapper =
vtkFixedPointVolumeRayCastMapper.New();
            volumeMapper.SetInput(SelectTissue.GetOutput());

            vtkColorTransferFunction volumeColor =
vtkColorTransferFunction.New();
            volumeColor.AddRGBPoint(1, 1, 0, 0);
            volumeColor.AddRGBPoint(100, 1, 0, 0.4);
            volumeColor.AddRGBPoint(160, 1.0, 0.5, 0.1);
            volumeColor.AddRGBPoint(255, 1.0, 0.5, 0.1);


            vtkPiecewiseFunction volumeScalarOpacity =
vtkPiecewiseFunction.New();
            volumeScalarOpacity.AddPoint(0, 0.00);
            volumeScalarOpacity.AddPoint(20, 0.00);
            volumeScalarOpacity.AddPoint(30, 0.20);
            volumeScalarOpacity.AddPoint(100, 0.7);


            vtkPiecewiseFunction volumeGradientOpacity =
vtkPiecewiseFunction.New();
            volumeGradientOpacity.AddPoint(0, 1.0);
            volumeGradientOpacity.AddPoint(255, 1.0);

            vtkVolumeProperty volumeProperty = vtkVolumeProperty.New();
            volumeProperty.SetColor(volumeColor);
            volumeProperty.SetScalarOpacity(volumeScalarOpacity);
            volumeProperty.SetGradientOpacity(volumeGradientOpacity);
            volumeProperty.SetInterpolationTypeToLinear();
            volumeProperty.ShadeOn();
            volumeProperty.SetAmbient(0.1);
            volumeProperty.SetDiffuse(0.9);
            volumeProperty.SetSpecular(0.2);

            vtkVolume volume = vtkVolume.New();
            volume.SetMapper(volumeMapper);
            volume.SetProperty(volumeProperty);


            vtkRenderWindow renderWindow =
renderWindowControl1.RenderWindow;
            vtkRenderer renderer =
renderWindow.GetRenderers().GetFirstRenderer();
            renderer.AddViewProp(volume);
            renderer.SetBackground(0.2, 0.3, 0.4);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/vtkusers/attachments/20181108/c50e0f47/attachment.html>


More information about the vtkusers mailing list