vtkClipping3DDataViewer::vtkClipping3DDataViewer()
{
int i;
- for (i=0; i<VTKMPRDATA_MAXTISSUE; i++){
+ for (i=0; i<VTKMPRDATA_MAXTISSUE; i++)
+ {
_visibleTissue[i] = false;
_representationType[i] = true;
}
- _visibleVolume=false;
- _isRayCasting=true;
- _isMIP=false;
- _interpolation=false;
- _shade=false;
+ _visibleVolume = false;
+ _isRayCasting = true;
+ _isMIP = false;
+ _interpolation = false;
+ _shade = false;
+
+ _volumerendererdata = VolumeRendererData::New();
- _volumerendererdata = VolumeRendererData::New();
- _volumeMapper = vtkVolumeRayCastMapper::New();
- _newvol = vtkVolume::New();
- _volumeProperty = vtkVolumeProperty::New();
- _compositeFunction = vtkVolumeRayCastCompositeFunction::New();
- _compositeFunctionMIP = vtkVolumeRayCastMIPFunction::New();
+#if (VTK_MAJOR_VERSION <= 7)
+ _volumeMapper = vtkVolumeRayCastMapper::New();
+ _compositeFunction = vtkVolumeRayCastCompositeFunction::New();
+ _compositeFunctionMIP = vtkVolumeRayCastMIPFunction::New();
+#else
+ _volumeMapper = vtkFixedPointVolumeRayCastMapper::New();
+#endif
+
+ _newvol = vtkVolume::New();
+ _volumeProperty = vtkVolumeProperty::New();
}
//-------------------------------------------------------------------
_tissuePlanes[i]->Delete();
_tissueClipper[i]->Delete();
}
- _outlineData->Delete();
- _mapOutline->Delete();
- _outline->Delete();
+
// Volume
_tfun->Delete();
_ctfun->Delete();
+#if (VTK_MAJOR_VERSION <= 7)
_compositeFunction->Delete();
+#else
+ // ..
+#endif
_volumeMapper->Delete();
_volumeProperty->Delete();
_newvol->Delete();
}
_observerV-> Delete();
}
-//-------------------------------------------------------------------
-vtkActor* vtkClipping3DDataViewer::GetOutlineActor()
-{
- return _outline;
-}
+
//-------------------------------------------------------------------
vtkClipPolyData* vtkClipping3DDataViewer::GetTissueClipper(int id)
{
_visibleVolumeBox = visibleBox;
}
+
//-------------------------------------------------------------------
-void vtkClipping3DDataViewer::Configure_Tissue()
+void vtkClipping3DDataViewer::SetImage()
{
+ int i;
+ vtkImageData *imagedata=_vtkmprbasedata->GetImageData();
+ for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++)
+ {
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ _mCubes[i]->SetInput( imagedata );
+#else
+ _mCubes[i]->SetInputData( imagedata );
+#endif
+ } // for
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ _volumeMapper->SetInput( imagedata );
+#else
+ _volumeMapper->SetInputData( imagedata );
+#endif
+ _volumerendererdata->SetImageData( imagedata );
+}
- double range[2];
+//-------------------------------------------------------------------
+void vtkClipping3DDataViewer::Configure_Tissue()
+{
int i;
- for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++){
+ double range[2];
+ vtkImageData *imagedata=_vtkmprbasedata->GetImageData();
+ imagedata->GetScalarRange( range );
+ for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++)
+ {
// Visualisation - original volume
- vtkImageData *imagedata=_vtkmprbasedata->GetImageData();
- imagedata->GetScalarRange( range );
_mCubes[i] = vtkMarchingCubes::New( );
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
_mCubes[i]->SetInput( imagedata );
+#else
+ _mCubes[i]->SetInputData( imagedata );
+#endif
_mCubes[i]->SetValue( 0, range[1]*(4+i) / 8 );
// _mCubes[i]->SetValue( 0, 1500 );
-
_tissueStripper[i] = vtkStripper::New();
- _tissueStripper[i]->SetInput( _mCubes[i]->GetOutput( ) );
-
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ _tissueStripper[i]->SetInput( _mCubes[i]->GetOutput( ) );
+#else
+ _tissueStripper[i]->SetInputData( _mCubes[i]->GetOutput( ) );
+#endif
_tissuePlanes[i] = vtkPlanes::New();
-
int x1,x2,y1,y2,z1,z2;
imagedata->GetExtent(x1,x2,y1,y2,z1,z2);
- _tissuePlanes[i]->SetBounds (x1,x2,y1,y2,z1,z2);
-
+ _tissuePlanes[i]->SetBounds(x1,x2,y1,y2,z1,z2);
_tissueClipper[i] = vtkClipPolyData::New();
- _tissueClipper[i]->SetInput( _tissueStripper[i]->GetOutput() );
_tissueClipper[i]->SetClipFunction( _tissuePlanes[i] );
_tissueClipper[i]->InsideOutOn( );
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ _tissueClipper[i]->SetInput( _tissueStripper[i]->GetOutput() );
+#else
+ _tissueClipper[i]->SetInputData( _tissueStripper[i]->GetOutput() );
+#endif
+
_tissueMapper[i] = vtkPolyDataMapper::New( );
- _tissueMapper[i]->SetInput( _tissueClipper[i]->GetOutput() );
- _tissueMapper[i]->ScalarVisibilityOff( );
-// _tissueMapper[i]->Update();
- }
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ _tissueMapper[i]->SetInput( _tissueClipper[i]->GetOutput() );
+#else
+ _mCubes[i]->Update();
+ _tissueStripper[i]->Update();
+ _tissueClipper[i]->Update();
+ _tissueMapper[i]->SetInputData( _tissueClipper[i]->GetOutput() );
+ _tissueMapper[i]->Update();
+#endif
+ _tissueMapper[i]->ScalarVisibilityOff( );
+// _tissueMapper[i]->Update();
+ } // for i
// vtkActor tissue
for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++){
_tissue[i]->GetProperty()->SetSpecular(.3);
_tissue[i]->GetProperty()->SetSpecularPower(20);
_tissue[i]->GetProperty()->SetOpacity(0.5);
- if (i==0) _tissue[i]->GetProperty()->SetColor(0.85, 0.85 , 0.85 );
- if (i==1) _tissue[i]->GetProperty()->SetColor(0, 0 , 1 );
- if (i==2) _tissue[i]->GetProperty()->SetColor(0.85, 0.20 , 0.20 );
- if (i==3) _tissue[i]->GetProperty()->SetColor(0, 1 , 0 );
- }
+ if (i==0) { _tissue[i]->GetProperty()->SetColor(0.85, 0.85 , 0.85 ); }
+ if (i==1) { _tissue[i]->GetProperty()->SetColor(0, 0 , 1 ); }
+ if (i==2) { _tissue[i]->GetProperty()->SetColor(0.85, 0.20 , 0.20 ); }
+ if (i==3) { _tissue[i]->GetProperty()->SetColor(0, 1 , 0 ); }
+ } // for
for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++)
{
_observerS[i] = boxSurfaceObserver::New();
_observerS[i]->SetPlanes( GetTissuePlanes(i) );
_observerS[i]->SetActor( _tissue[i] );
- }
-
+ _observerS[i]->SetFilters( _mCubes[i], _tissueStripper[i] ,_tissueClipper[i] );
+ } // for
}
//-----------------------------------------------------------------------------
// EED 13/03/2011
// _volumeMapper = vtkVolumeRayCastMapper::New();
+
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
_volumeMapper->SetInput( this->GetVtkMPRBaseData()->GetImageData() );
+#else
+ _volumeMapper->SetInputData( this->GetVtkMPRBaseData()->GetImageData() );
+#endif
- _volumeMapper->SetVolumeRayCastFunction(_compositeFunction);
- // _volumeMapper->SetVolumeRayCastFunction(_compositeFunctionMIP);
+#if (VTK_MAJOR_VERSION <= 7)
+ _volumeMapper->SetVolumeRayCastFunction(_compositeFunction);
+ // _volumeMapper->SetVolumeRayCastFunction(_compositeFunctionMIP);
+#else
+ // ..
+#endif
//
_volumeMapper->SetClippingPlanes( _volumePlanes );
_observerV = boxSurfaceObserver::New();
_observerV->SetPlanes( _volumePlanes );
_observerV->SetActor( _newvol );
+
+#if (VTK_MAJOR_VERSION <= 7)
_observerV->SetvtkVolumeRayCastMapper( _volumeMapper );
+#else
+ _observerV->SetvtkFixedPointVolumeRayCastMapper( _volumeMapper );
+#endif
}
+//-----------------------------------------------------------------------------
void vtkClipping3DDataViewer::Configure_VolumeBox()
{
//_volumerendererdata->BoundingBoxChanged(event.IsChecked() );
}
+//-----------------------------------------------------------------------------
+
void vtkClipping3DDataViewer::SetRenderer(vtkRenderer* renderer)
{
_volumerendererdata->SetRenderer(renderer);
}
+//-----------------------------------------------------------------------------
void vtkClipping3DDataViewer::SetInteractor(vtkRenderWindowInteractor* interactor)
{
}
+//-----------------------------------------------------------------------------
void vtkClipping3DDataViewer::BoxActorChanged(bool changed)
{
vector<double> *gv = this->GetGreyValuesTransferenceFVector();
}
+//-----------------------------------------------------------------------------
void vtkClipping3DDataViewer::UpdateVolumeBox(vector<double> gf, vector<double> vf, vtkColorTransferFunction* ctfun)
{
_volumerendererdata->SetLookUpTable((vtkLookupTable*)(ctfun));
}
+//-----------------------------------------------------------------------------
void vtkClipping3DDataViewer::updateVolume()
{
+#if (VTK_MAJOR_VERSION <= 7)
if(_isRayCasting)
{
_volumeMapper->SetVolumeRayCastFunction(_compositeFunction);
_volumerendererdata->changeCompositeMIPFunction(0);
- }
- else if(_isMIP)
- {
+ } else if(_isMIP) {
_volumeMapper->SetVolumeRayCastFunction(_compositeFunctionMIP);
_volumerendererdata->changeCompositeMIPFunction(1);
}
+#else
+ // ... here Composition of MIP
+ printf("EED vtkClipping3DDataViewer::updateVolume ... here Composition or MIP \n");
+#endif
+
if(_interpolation)
{
Configure_Tissue();
Configure_Volume();
Configure_VolumeBox();
- // An outline provides context around the data.
- //
- _outlineData = vtkOutlineFilter::New();
- _outlineData->SetInput((vtkDataSet *) _vtkmprbasedata->GetImageData() );
- _mapOutline = vtkPolyDataMapper::New();
- _mapOutline->SetInput(_outlineData->GetOutput());
- _outline = vtkActor::New();
- _outline->SetMapper(_mapOutline);
- _outline->GetProperty()->SetColor(0,0,0);
}
void vtkClipping3DDataViewer::SetIsovalue(int idTissue, int isoValue)
{
_mCubes[idTissue]->SetValue(0, isoValue);
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
+ // ..
+#else
+ _mCubes[idTissue]->Update();
+ _tissueStripper[idTissue]->Update();
+ _tissueClipper[idTissue]->Update();
+#endif
}
//-------------------------------------------------------------------
double vtkClipping3DDataViewer::GetIsovalue(int idTissue)
return _newvol;
}
//-------------------------------------------------------------------
-vtkVolumeRayCastMapper* vtkClipping3DDataViewer::GetVolumeMapper(){
+#if (VTK_MAJOR_VERSION <= 7)
+ vtkVolumeRayCastMapper* vtkClipping3DDataViewer::GetVolumeMapper()
+#else
+ vtkFixedPointVolumeRayCastMapper* vtkClipping3DDataViewer::GetVolumeMapper()
+#endif
+{
return _volumeMapper;
}
//-------------------------------------------------------------------
vtkDataSetReader *reader = vtkDataSetReader::New();
reader->SetFileName(namefile);
reader->Update();
+
+//EED 2017-01-01 Migration VTK7
+#if VTK_MAJOR_VERSION <= 5
_tissueStripper[3]->SetInput( reader->GetPolyDataOutput() );
+#else
+ _tissueStripper[3]->SetInputData( reader->GetPolyDataOutput() );
+#endif
+
}
void vtkClipping3DDataViewer::setColorTransferFunction(vtkColorTransferFunction* colortable){