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

Gururajan.R gururajan.r at raster.in
Sat Oct 3 09:25:48 EDT 2009


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