//----------------------------------------------------------------------------
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 );
}
+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)
{
//----------------------------------------------------------------------------
void LayerImageBase::onThreshold()
{
-printf("EED LayerImageBase::onThreshold Start \n");
-
if ((_image!=NULL) && (_baseView!=NULL))
{
-printf("EED LayerImageBase::onThreshold 1 \n");
double spc[3];
GetImage()-> GetSpacing(spc);
double x=GetX();
if (!GetActorPresent())
{
-printf("EED LayerImageBase::onThreshold 2 \n");
if (_thresholdTable==NULL)
{
//Lookup Table
_imageReslicer->SetInput( GetImage() );
_imageReslicer->SetInformationInput( GetImage() );
-printf("EED LayerImageBase::onThreshold directionViewer=%d\n", directionViewer );
-
if (directionViewer==0)
{
_imageReslicer->SetResliceAxesDirectionCosines( 0,0,1, 0,1,0, -1,0,0 );