/**
** Begin of the threshold panel
**/
-ColorLayerImageViewPanel::ColorLayerImageViewPanel(wxWindow* parent, int min, int max, int type)
+ColorLayerImageViewPanel::ColorLayerImageViewPanel(wxWindow* parent, int min, int max,int opacity, int type)
//: wxPanel(parent, -1, wxDefaultPosition, wxSize(600,100), wxBORDER_SUNKEN)
: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL)
_sl_SliceImageZ->Enable(false);
_interpolationCheckBox = new wxCheckBox(this, -1, _T("Interpole") );
_interpolationCheckBox->SetValue(true);
- _opacity = new wxSlider(this, wxID_ANY, 1, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
+ _opacity = new wxSlider(this, wxID_ANY, opacity, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
// _histogram = new Histogram( this , -1, wxPoint(0,0), wxSize(400,400), /*wxNO_BORDER*/ wxBORDER_DEFAULT );
// _histogramMinMaxLevel = new HistogramMinMaxLevel( (HistogramBase*)_histogram );
sizer = new wxFlexGridSizer(2);
_interpolationCheckBox = new wxCheckBox(this, -1, _T("Interpolate") );
_interpolationCheckBox->SetValue(true);
- _opacity = new wxSlider(this, wxID_ANY, 1, 0, 100, wxDefaultPosition, wxSize(2,40), wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
+ _opacity = new wxSlider(this, wxID_ANY, opacity, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
Connect( _interpolationCheckBox->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &ColorLayerImageViewPanel::onThresholdInterpolation );
Connect( _opacity->GetId(), wxEVT_SCROLL_THUMBTRACK, (wxObjectEventFunction) &ColorLayerImageViewPanel::onChangeOpacity );
printf("EED ColorLayerImageViewPanel::onReadImage ....WARNING... Read dlg. all images creaImageIO ... ???\n");
creaMaracasVisuKernel::OpenImageDialog diag = creaMaracasVisuKernel::OpenImageDialog();
- SetImage( diag.getImageData() );
+
+ vtkImageChangeInformation *change = vtkImageChangeInformation::New();
+ vtkImageData *img = diag.getImageData();
+ int ext[6];
+ double spc[6];
+ double origin[3];
+ img -> GetExtent( ext );
+ img -> GetSpacing( spc );
+ change -> SetInputData( img );
+ origin[0]=0;
+ origin[1]=0;
+ origin[2]=0;
+ change -> SetOutputSpacing( spc[0] , spc[1] , spc [2] );
+ change -> SetOutputExtentStart(0,0,0);
+ change -> SetOutputOrigin( origin );
+ change -> Modified(); //important
+ change -> Update(); //important
+ SetImage( change->GetOutput() );
}
//----------------------------------------------------------------------------
}
//----------------------------------------------------------------------------
-void ColorLayerImageViewPanel::onChangeOpacity(wxScrollEvent& event)
+void ColorLayerImageViewPanel::ChangeOpacity()
{
int opacity = _opacity->GetValue();
_colorLayerImageViewManager->onThresholdChangeOpacity(opacity);
RefreshView();
}
+//----------------------------------------------------------------------------
+void ColorLayerImageViewPanel::onChangeOpacity(wxScrollEvent& event)
+{
+ ChangeOpacity();
+// int opacity = _opacity->GetValue();
+// _colorLayerImageViewManager->onThresholdChangeOpacity(opacity);
+// RefreshView();
+}
+
//----------------------------------------------------------------------------
bool ColorLayerImageViewPanel::IsVisible()