**/
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)
-
-
{
-
_spcBase[0] = _spcBase[1] = _spcBase[2] = 0;
_dimBase[0] = _dimBase[1] = _dimBase[2] = 0;
-
_cb_ShowHide = NULL;
_sl_SliceImageX = NULL;
_sl_SliceImageY = NULL;
_sl_SliceImageZ = NULL;
_histogram = NULL;
_histogramMinMaxLevel = NULL;
-
wxFlexGridSizer * sizer = NULL;
_colorLayerImageViewManager = new ColorLayerImageViewManager();
-
if (type==1)
{
sizer = new wxFlexGridSizer(1);
} // type==1
-
if (type==2)
{
sizer = new wxFlexGridSizer(2);
_interpolationCheckBox = new wxCheckBox(this, -1, _T("Interpolate") );
_interpolationCheckBox->SetValue(true);
_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 );
// sizer -> Add( new wxStaticText(this,-1,_T("Opacity Level")) , 1, wxEXPAND );
} // type==2
-
this->SetSizer( sizer );
// this->SetAutoLayout( true );
// this->Layout();
{
}
-
//----------------------------------------------------------------------------
ColorLayerImageViewManager* ColorLayerImageViewPanel::GetColorLayerImageViewManager()
{
return _colorLayerImageViewManager;
}
-
//----------------------------------------------------------------------------
void ColorLayerImageViewPanel::SetImage(vtkImageData *img)
{
if (img!=NULL)
- {
-
+ {
if (_histogramMinMaxLevel!=NULL)
{
_histogramMinMaxLevel->Configure( img );
}
_colorLayerImageViewManager->SetImage( img );
-
double spcOriginalLayer[3];
int dimensionOriginalLayer[3];
-
double spcBase[3];
int dimensionBase[3];
-
double newSpc[3];
-
GetColorLayerImageViewManager()->GetSpcOriginalLayer(0,spcOriginalLayer);
GetColorLayerImageViewManager()->GetDimensionOriginalLayer(0,dimensionOriginalLayer);
-
GetColorLayerImageViewManager()->GetSpcBase(0,spcBase);
GetColorLayerImageViewManager()->GetDimensionBase(0,dimensionBase);
-
if (_sl_SliceImageX!=NULL)
{
_sl_SliceImageX->SetRange( 0 , dimensionOriginalLayer[0] );
_sl_SliceImageZ->SetRange( 0 , dimensionOriginalLayer[2] );
}
-
if ( (spcOriginalLayer[0]!=spcBase[0]) ||
(spcOriginalLayer[1]!=spcBase[1]) ||
(spcOriginalLayer[2]!=spcBase[2]) ||
_colorLayerImageViewManager->onThreshold();
RefreshView();
} // _ative
-
}
-
void ColorLayerImageViewPanel::RefreshView()
{
//EED01 _colorLayerImageView->Refresh();
// w.ShowModal();
printf("EED ColorLayerImageViewPanel::onReadImage ....WARNING... Read dlg. all images creaImageIO ... ???\n");
- creaMaracasVisuKernel::OpenImageDialog diag = creaMaracasVisuKernel::OpenImageDialog();
-
- vtkImageChangeInformation *change = vtkImageChangeInformation::New();
- vtkImageData *img = diag.getImageData();
int ext[6];
double spc[6];
double origin[3];
+ origin[0] = 0;
+ origin[1] = 0;
+ origin[2] = 0;
+
+ creaMaracasVisuKernel::OpenImageDialog diag = creaMaracasVisuKernel::OpenImageDialog();
+ vtkImageChangeInformation *change = vtkImageChangeInformation::New();
+ vtkImageData *img = diag.getImageData();
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 );