[vtkusers] Real colours in 3D CT image(DICOM)

Bill Lorensen bill.lorensen at gmail.com
Sat Oct 3 09:57:35 EDT 2009


Opacity, Diffuse, and Specular have ranges from 0-1. Some of your
settings are > 1.0.

Start out just by setting the diffuse color. Leave out all of the
other settings until you get a decent image. Then you can add specular
highlights later.

On Sat, Oct 3, 2009 at 9:25 AM, Gururajan.R <gururajan.r at raster.in> wrote:
> Bill
> very kind to your reply.
>
>
> i have included that too, to set scalar visibility in off. even i dint get the result, am wondering where i made mistake.
> if time permits you please have a look on below code
>
> Thanks
> Guru
>
>    //for skin and bone Diagram
>            //For setting Bone Colour
>                vtkGeometryFilter  geovolumebone = new vtkGeometryFilter();
>                geovolumebone.SetInput(polyReader.GetOutput());
>                vtkPolyDataMapper  geobonemapper = new vtkPolyDataMapper();
>                geobonemapper.SetInput(geovolumebone.GetOutput());
>                geobonemapper.ScalarVisibilityOff();
>                //vtkActor boneActor = new vtkActor();
>                vtkLODActor boneActor = new vtkLODActor();
>                boneActor.SetNumberOfCloudPoints(100000);
>                boneActor.SetMapper(geobonemapper);
>                //boneActor.GetProperty().SetColor(1, 0.4782, 0.2546);
>                boneActor.GetProperty().SetColor(1, 0, 0);
>                //boneActor.GetProperty().SetDiffuseColor(1, 1, .9412);
>                boneActor.GetProperty().SetSpecularPower(100);
>                boneActor.GetProperty().SetOpacity(1.5);
>                boneActor.GetProperty().SetDiffuse(1.75);
>                boneActor.GetProperty().SetSpecular(1.75);
>                //For setting Bone Colour
>
>            //For setting Skin Colour
>                vtkMarchingCubes skin = new vtkMarchingCubes();
>                skin.SetInput(dicomreader.GetOutput());
>                skin.SetValue(0, -300);
>                skin.ComputeNormalsOn();
> //
>                vtkGeometryFilter geovolumeSkin = new vtkGeometryFilter();
>                geovolumeSkin.SetInput(contour.GetOutput());
> //
>                vtkPolyDataMapper skinmapper = new vtkPolyDataMapper();
>                skinmapper.SetInput(geovolumeSkin.GetOutput());
>                skinmapper.ScalarVisibilityOff();
>
>
>                vtkLODActor actorskin = new vtkLODActor();
>                actorskin.SetNumberOfCloudPoints(100000);
>                actorskin.SetMapper(skinmapper);
>                //actorskin.GetProperty().SetColor(1, 0.547237, 0.319073);
>                actorskin.GetProperty().SetColor(0.94,0.58, 0.17);
>                actorskin.GetProperty().SetSpecularPower(100);
>                actorskin.GetProperty().SetOpacity( 3.3 );
>
> Bill Lorensen wrote:
>> Try adding:
>> geobonemapper->ScalarVisibilityOff();
>>
>> If scalar data exists for cells or points, the mapper will use that
>> data to color the actor. With ScalarVisibilityOff(), the mapper will
>> use the color in the property.
>>
>> On Sat, Oct 3, 2009 at 1:34 AM, Gururajan.R <gururajan.r at raster.in> wrote:
>>
>>> Hi all,
>>>    As am a new in VTK. Please guide me how to bring real colors like
>>> (bone, blood & vessles) in 3d image, iam reading dicom series and
>>> converted into 3d format. using vtkLODActor, am colouring the image but
>>> its not a real color and  the whole image is in one color only.
>>>
>>> i want real color to be applied to the relevant parts in the 3d image .
>>>
>>> Please any one help me in this., i would be very thankful for your kind
>>> help.
>>>
>>>
>>> Regards
>>> Guru
>>>
>>>    vtkLODActor boneActor = new vtkLODActor();
>>>                boneActor.SetNumberOfCloudPoints(100000);
>>>                boneActor.SetMapper(geobonemapper);
>>>                //boneActor.GetProperty().SetColor(1, 0.4782, 0.2546);
>>>                boneActor.GetProperty().SetColor(1, 0.75, 0.5);
>>>                //boneActor.GetProperty().SetColor(1, 0.3, 0.3);
>>>
>>>
>>>                boneActor.GetProperty().SetOpacity(1.5);
>>>                boneActor.GetProperty().SetDiffuse(1.75);
>>>                boneActor.GetProperty().SetSpecular(1.75);
>>>                boneActor.GetProperty().SetSpecular(0.3);
>>>                boneActor.GetProperty().SetSpecularPower(20);
>>>                boneActor.GetProperty().SetOpacity( 3.3 );
>>>                boneActor.GetProperty().SetDiffuse(0.8);
>>>                boneActor.GetProperty().SetAmbient(2.2);
>>> _______________________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>
>>>
>
>



More information about the vtkusers mailing list