LayerImageBase::LayerImageBase()
{
- _actorPresent = false;
- _X = 0;
- _Y = 0;
- _Z = 0;
+ _actorPresent = false;
+ _X = 0;
+ _Y = 0;
+ _Z = 0;
_thresholdTable = NULL;
- _thresholdMapper = NULL;
+ _thresholdMapper = NULL;
_scalarbarActor = NULL;
_thresholdActor = NULL;
- _image = NULL;
- _baseView = NULL;
- _imageReslicer = vtkImageReslice::New();
+ _image = NULL;
+ _baseView = NULL;
+ _imageReslicer = vtkImageReslice::New();
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
void LayerImageBase::SetImage(vtkImageData* image)
{
- _image = image;
double spc[3];
- _image->GetSpacing(spc);
int ext[6];
+ _image = image;
+ _image->GetSpacing(spc);
_image->GetWholeExtent(ext);
int sx=ext[1]-ext[0]+1;
int sy=ext[3]-ext[2]+1;
SetX( ssx );
SetY( ssy );
SetZ( ssz );
- _image = image;
+ _image->Update();
+ _image->GetScalarRange( _range );
+ _thresholdTable = vtkLookupTable::New();
}
+void LayerImageBase::SetRangeForColorBar(std::vector<double> &range)
+{
+ _rangeForColorBar=range;
+}
+
+void LayerImageBase::GetRangeForColorBar(double &minRange, double &maxRange)
+{
+ if (_rangeForColorBar.size()==2)
+ {
+ minRange = _rangeForColorBar[0];
+ maxRange = _rangeForColorBar[1];
+ } else {
+ minRange = _range[0];
+ maxRange = _range[1];
+ }
+}
+
+
+
//----------------------------------------------------------------------------
void LayerImageBase::SetwxVtkBaseView(wxVtkBaseView *baseview)
{
return _imageReslicer;
}
+//----------------------------------------------------------------------------
+void LayerImageBase::GetImageScalarRange()
+{
+ double min,max;
+ GetRangeForColorBar(min,max);
+// _image->GetScalarRange(_range);
+ _range[0]=min;
+ _range[1]=max;
+}
+
// EOF