/**
- * \file
- * \brief Class bbtk::ThresholdImageView .
+ * \file
+ * \brief Class bbtk::ThresholdImageView .
*/
#include "LayerImageBase.h"
_thresholdMapper = NULL;
_thresholdActor = NULL;
_image = NULL;
+ _baseView = NULL;
_imageReslicer = vtkImageReslice::New();
}
return _baseView;
}
+//----------------------------------------------------------------------------
+void LayerImageBase::Refresh()
+{
+ if (_baseView!=NULL)
+ {
+ _baseView->Refresh();
+ }
+}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
int LayerImageBase::CleanZ(int z)
-{
+{
int ext[6];
_image->GetWholeExtent(ext);
void LayerImageBase::onThreshold()
{
- if (_image!=NULL)
+ if ((_image!=NULL) && (_baseView!=NULL))
{
int z=CleanZ( GetZ() );
if (!GetActorPresent())
- {
+ {
if (_thresholdTable==NULL)
{
//Lookup Table
_thresholdTable = vtkLookupTable::New();
} // _thresholdTable
-
+
if (_thresholdMapper==NULL)
{
_thresholdMapper = vtkImageMapToColors::New( );
}
-
+
if (_thresholdActor==NULL)
{
_thresholdActor = vtkImageActor::New( );
_thresholdActor->SetOpacity( 0.6 );
_thresholdActor->InterpolateOn( );
_thresholdActor->SetPosition( 0,0, 900-1 );
- } // _thresholdActor
+ } // _thresholdActor
_baseView->GetRenderer()->AddActor( _thresholdActor );
- _actorPresent = true;
+ _actorPresent = true;
} // !GetActorPresent()
ConfigLookupTable(); // virtual method
_imageReslicer->SetInput( GetImage() );
- _imageReslicer->SetInformationInput( GetImage() );
+ _imageReslicer->SetInformationInput( GetImage() );
_imageReslicer->SetResliceAxesDirectionCosines(1,0,0, 0,1,0 ,0,0,1);
_imageReslicer->SetOutputDimensionality(2);
_imageReslicer->SetInterpolationModeToLinear();
else
{
_thresholdActor->InterpolateOff( );
- }
+ }
}
}
wxVtkBaseView * baseView = _baseView;
baseView->GetRenderer()->RemoveActor( _thresholdActor );
_actorPresent = false;
- }
+ }
}