wxQuantificationWidget Class Reference

#include <wxQuantificationWidget.h>

Inheritance diagram for wxQuantificationWidget:
Inheritance graph
[legend]
Collaboration diagram for wxQuantificationWidget:
Collaboration graph
[legend]

List of all members.

Public Types

enum  WidgetsIDs { ID_QUANTIF3D = wxID_HIGHEST + 1 }
enum  FunctionIDs {
  ID_BUTTON_CONTOUR = wxID_HIGHEST + 1, ID_BUTTON_CLEAN, ID_BUTTON_CLEAN_ALL, ID_BUTTON_SAVE_CONTOURS3D,
  ID_BUTTON_AUTOQUANT, ID_BUTTON_HEALTHY, ID_BUTTON_CALCULATED, ID_BUTTON_PAUSE,
  ID_BUTTON_DELETE, ID_BUTTON_POINT
}
enum  ParamIDs {
  ID_CHECKBOX_HEALTHY = wxID_HIGHEST + 1, ID_CHECKBOX_PERPENDICULAR, ID_CHECKBOX_VISIBLE_RINGS, ID_CHECKBOX_SHOW_SURFACE,
  ID_RADIOBUTTON_GREYSCALE, ID_RADIOBUTTON_COLOR, ID_SLIDER_SLICE, ID_SLIDER_SLICE22,
  ID_SLIDER_ISOVALUE, ID_SLIDER_OPACITY
}

Public Member Functions

 wxQuantificationWidget (wxWindow *parent, wxWindowID id=-1, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxPanelNameStr)
 ~wxQuantificationWidget ()
void Set_control ()
void Do_layout ()
void Set_Data ()
void Forget ()
void Reload_Axis (bool mask, bool step)
void Show_Max_Min_Diameters ()
int Back ()
void AddAxisActors ()
void Clean3D (bool eraseAxe=false)
void ResetAxis ()
virtual void RefreshAxis ()
void Point_Intensity (double x, double y)
void Set_plane_3D (double x, double y)
void CleanContour ()
void OnContourWall ()
void OnContourLumen ()
void OnContourHypo ()
void OnContourCalc ()
void OnReplaceContourWall ()
void OnReplaceContourLumen ()
void OnReplaceContourHypo ()
void OnReplaceContourCalc ()
void OnSliderDiscontinuityScroll (int percentage)
void OnSliderLumenPercentageScroll (int percentage)
void OnSliderCalcPercentageScroll (int percentage)
void OnCalibration ()
void OnFile ()
void OnShowAll (bool value)
void OnShowWall (bool value)
void OnShowLumen (bool value)
void OnShowCalc (bool value)
void OnShowHypo (bool value)
wxPanel * CreateStenosisPanel ()
void Do_Quant ()
void OnContour_BT (wxCommandEvent &event)
void OnClean_BT (wxCommandEvent &event)
void OnCleanAll_BT (wxCommandEvent &event)
void OnSaveContours3D_BT (wxCommandEvent &event)
void OnAutoQuantification_BT (wxCommandEvent &event)
virtual void DetectHealthySickSlice (bool minSurf, bool maxSurf)
void OnHealthySlice_CB (wxCommandEvent &event)
void OnShowSurface_CB (wxCommandEvent &event)
void OnVisibleRing_CB (wxCommandEvent &event)
void OnPerpendicular_CB (wxCommandEvent &event)
void OnGreyScale_RB (wxCommandEvent &event)
void OnColor_RB (wxCommandEvent &event)
void OnSliderSliceScroll (wxScrollEvent &event)
void OnSliderIsovalueScroll (wxScrollEvent &event)
void OnSliderOpacityScroll (wxScrollEvent &event)
virtual int GetActualSlice ()
virtual int GetMaxActualSlice ()
virtual int GetHealthySlice ()
void GetHealthySliceRange (int &healthySliceStart, int &healthySliceEnd)
virtual int GetSizeHealthyRegion ()
virtual void SetSizeHealthyRegion (int size)
virtual void SetHealthySlice (int healthySlice=-1)
void ShowMARACASData (marInterface *mar)
void CallBackOnMouseWheel (wxMouseEvent &event)
void CallBackOnLeftDClick (wxMouseEvent &event)
virtual void Set3DRegionSliceActor (int type, int k1, int k2)
virtual void Set3DStartRegionSliceActor (int type, int k)
void Set3DEndRegionSliceActor (int type, int k)
void Show3DRegionSliceActor (int type)
virtual void Show3DStartRegionSliceActor (int type)
void Show3DEndRegionSliceActor (int type)
void Hide3DRegionSliceActor (int type)
virtual void Hide3DStartRegionSliceActor (int type)
virtual void Hide3DEndRegionSliceActor (int type)
virtual void GetSliceLimites (int type, int &sliceStart, int &sliceEnd)
int GetAnalysisTypeStenosis ()
virtual void SetAnalysisTypeStenosis (int analysisTypeStenosis)
void SetSlider_Isovalue_Opacity (int isovalue, int opacity)
virtual void SetManualContour_2DWorld (bool ok)
virtual void SetManualContour_AddPoint_2DWorld ()
void SetManualContour_InsertPoint_2DWorld ()
void SetManualContour_ErasePoint_2DWorld ()
void SetManualContour_MovePoint_2DWorld ()
virtual void SetManualContour_ReplaceContour ()
virtual kVolume * GetVolumeAxisExtended (int wz1, int wz2)

Private Member Functions

 DECLARE_EVENT_TABLE ()
void MoveSlider (int actualQuant)
void Reset_sl_Slider ()
void showVariables ()
wxString strStenosis (double stenosis)
double doubleStenosis (double healthy, double sick)
double GetStenosisArea (int sickSlice)
double GetStenosisDiameter (int sickSlice)

Private Attributes

marInterface_mar
vtk3DQuantSurfaceWidget_3DWorld
vtk2DQuantSliceWidget_2DWorld
wxPanel * _wxStenosisPanel
wxSplitterWindow * panel_splitter
wxSplitterWindow * panel_splitter_right
wxSplitterWindow * panel_splitter_left
wxPanel * panel_left_up
wxPanel * panel_left_down
wxPanel * panel_right
wxPanel * panel_right_up
wxPanel * panel_right_down
wxButton * _bt_AddContour3D
wxButton * _bt_CleanContour3D
wxButton * _bt_CleanAllContours3D
wxButton * _bt_SaveContours3D
wxButton * _bt_Healthy
wxPanelControlsHealthySickSlice2_pl_cntlHealthySick2
wxRadioButton * _rb_GreyScale
wxRadioButton * _rb_Color
wxCheckBox * _cb_HealthySlice
wxCheckBox * _cb_Perpendicular
wxCheckBox * _cb_VisibleRings
wxCheckBox * _cb_ShowSurface
wxSlider * _sl_Slice
wxSlider * _sl_Isovalue
wxSlider * _sl_Opacity
wxStaticText * _st_Slice
wxStaticText * _st_Isovalue
wxStaticText * _st_Opacity
wxStaticText * _st_Label1
wxStaticText * _st_Value1
wxStaticText * _st_Label2
wxStaticText * _st_Value2
wxStaticText * _st_Label3
wxStaticText * _st_Value3
wxStaticText * _st_Label6
wxStaticText * _st_Value6
wxStaticText * _st_Label7
wxStaticText * _st_Value7
wxStaticText * _st_Label8
wxStaticText * _st_Value8
wxStaticText * _st_Label100
wxStaticText * _st_Value100
wxStaticText * _st_Label101
wxStaticText * _st_Value101
wxStaticText * _st_LabelRef101
wxStaticText * _st_ValueRef101
wxStaticText * _st_LabelRef102
wxStaticText * _st_ValueRef102
wxStaticText * _st_LabelRef103
wxStaticText * _st_ValueRef103
int _numpoint
int _axis_index
int _width
int _height
int _depth
int _bak_ActualSlice
int _given_points
int _typ
int _actual_actor
int _perpe
int _shown
int _quant_shown
int _show_rings
int _show_hs
int _showS
int _first_quant
int _last_quant
int _first_point_quant
int _last_point_quant
int _bounds
int _intRange
int _nClicks
int _quantifing
int _sizeHealthyRegion
int _initX
int _initY
int _initWindow
int _initLevel
float _actual_area
float _actual_peri
float _actual_darea
float _actual_dperi
float _actual_dmax
float _actual_dmin
float _actual_davg
float _actual_sten
float _actual_partial
float _actual_total
float _ip [3]
float _fp [3]
wxList * _rings_index
wxList * _quant_sten
wxList * _man_points
wxList * _actual_quant_x
wxList * _actual_quant_area
wxList * _actual_quant_peri
wxList * _actual_quant_darea
wxList * _actual_quant_dperi
wxList * _actual_quant_dmax
wxList * _actual_quant_dmin
wxList * _actual_quant_davg
wxList * _actual_quant_sten

Detailed Description

Definition at line 40 of file wxQuantificationWidget.h.


Member Enumeration Documentation

Enumerator:
ID_BUTTON_CONTOUR 
ID_BUTTON_CLEAN 
ID_BUTTON_CLEAN_ALL 
ID_BUTTON_SAVE_CONTOURS3D 
ID_BUTTON_AUTOQUANT 
ID_BUTTON_HEALTHY 
ID_BUTTON_CALCULATED 
ID_BUTTON_PAUSE 
ID_BUTTON_DELETE 
ID_BUTTON_POINT 

Definition at line 48 of file wxQuantificationWidget.h.

Enumerator:
ID_CHECKBOX_HEALTHY 
ID_CHECKBOX_PERPENDICULAR 
ID_CHECKBOX_VISIBLE_RINGS 
ID_CHECKBOX_SHOW_SURFACE 
ID_RADIOBUTTON_GREYSCALE 
ID_RADIOBUTTON_COLOR 
ID_SLIDER_SLICE 
ID_SLIDER_SLICE22 
ID_SLIDER_ISOVALUE 
ID_SLIDER_OPACITY 

Definition at line 61 of file wxQuantificationWidget.h.

Enumerator:
ID_QUANTIF3D 

Definition at line 44 of file wxQuantificationWidget.h.

00044                   { 
00045     ID_QUANTIF3D = wxID_HIGHEST + 1 
00046   };


Constructor & Destructor Documentation

wxQuantificationWidget::wxQuantificationWidget ( wxWindow *  parent,
wxWindowID  id = -1,
const wxPoint &  pos = wxDefaultPosition,
const wxSize &  size = wxDefaultSize,
long  style = 0,
const wxString &  name = wxPanelNameStr 
)

Definition at line 64 of file wxQuantificationWidget.cxx.

00067 : wxQuantificationWidget_base( parent, id, pos, size, style, name )
00068 {
00069     panel_splitter               = new wxSplitterWindow( this                   , -1, wxDefaultPosition, wxSize(400,400 ), wxSP_3D | wxSP_LIVE_UPDATE | wxCLIP_CHILDREN );
00070 //      panel_left                       = new wxPanel(panel_splitter                   , -1, wxDefaultPosition, wxSize(400,400));
00071         panel_right                      = new wxPanel(panel_splitter                   , -1, wxDefaultPosition, wxSize(400,400));
00072 
00073     panel_splitter_left  = new wxSplitterWindow( panel_splitter                 , -1, wxDefaultPosition, wxSize(400,400 ), wxSP_3D | wxSP_LIVE_UPDATE | wxCLIP_CHILDREN );
00074         panel_left_up            = new wxPanel(panel_splitter_left              , -1, wxDefaultPosition, wxSize(200,200));
00075         panel_left_down          = new wxPanel(panel_splitter_left              , -1, wxDefaultPosition, wxSize(200,200));
00076 
00077 
00078     panel_splitter_right = new wxSplitterWindow( panel_right    , -1, wxDefaultPosition, wxSize(400,400 ), wxSP_3D | wxSP_LIVE_UPDATE | wxCLIP_CHILDREN );
00079         panel_right_up           = new wxPanel(panel_splitter_right             , -1, wxDefaultPosition, wxSize(200,200));
00080         panel_right_down         = new wxPanel(panel_splitter_right             , -1, wxDefaultPosition, wxSize(200,200));
00081 
00082 
00083 
00084         // maracas
00085         _mar = NULL;
00086         SetSizeHealthyRegion( 5 );
00087 
00088 //EEDxx 2.6
00089 //      this->SetBackgroundColour(*wxLIGHT_GREY);
00090 
00091         _3DWorld = new vtk3DQuantSurfaceWidget( panel_left_up, ID_QUANTIF3D );
00092         _3DWorld->SetInterfaceVtkPanelWidgets(this);
00093 
00094         _2DWorld = new vtk2DQuantSliceWidget( panel_right_up, -1 );
00095         _2DWorld->SetSize(800,800);
00096         _2DWorld->SetInterfaceVtkPanelWidgets(this);
00097         
00098         
00099         this->Set_control();
00100         this->Do_layout();
00101         this->Set_Data();
00102         _bak_ActualSlice=-1;
00103 
00104         Refresh();
00105 
00106 //EED Borrame
00107 //startTimeRI = clock();
00108 
00109 }

wxQuantificationWidget::~wxQuantificationWidget (  ) 

Definition at line 115 of file wxQuantificationWidget.cxx.

References _3DWorld.

00116 {
00117 //EEDx15
00118         _3DWorld->Delete( );
00119 //      delete _2DWorld;
00120 }


Member Function Documentation

void wxQuantificationWidget::AddAxisActors (  ) 

Definition at line 917 of file wxQuantificationWidget.cxx.

References _3DWorld, marInterface::_experiment, _mar, marAxis::Draw(), marExperiment::getAxis(), and vtk3DSurfaceWidget::SetAxis().

Referenced by wxMaracasQuantification::RegenerateAll().

00917                                           {
00918         // Axes ...
00919         marAxis *maraxis = _mar->_experiment->getAxis( );
00920         if (maraxis!=NULL) _3DWorld->SetAxis( maraxis->Draw( ) );
00921         // Other Actors..
00922         // ..
00923 }

Here is the call graph for this function:

Here is the caller graph for this function:

int wxQuantificationWidget::Back (  ) 

Definition at line 1160 of file wxQuantificationWidget.cxx.

References _shown.

01161 {
01162         int ret;
01163         
01164         ret = _shown;
01165         _shown = 0;
01166         return ret;
01167 }

void wxQuantificationWidget::CallBackOnLeftDClick ( wxMouseEvent &  event  )  [virtual]

Reimplemented from InterfaceVtkPanelWidgets.

Definition at line 2021 of file wxQuantificationWidget.cxx.

References _3DWorld, marInterface::_experiment, _mar, _sl_Slice, marExperiment::getAxis(), vtk3DSurfaceWidget::GetLast3DClickPoint(), marAxis::getNumberOfSplinePoints(), marAxis::getSplinePoint(), and MoveSlider().

02021                                                                       {
02022 
02023         double pp[3], cp[3];
02024         _3DWorld->GetLast3DClickPoint(pp,cp);
02025 
02026         int i,iback,maxPoints;
02027         double *c, cc[3];
02028         double dist,distMin=-1;
02029         iback=-1;
02030             
02031         marAxis *maraxis = _mar->_experiment->getAxis( );
02032         maxPoints = maraxis->getNumberOfSplinePoints();
02033         for ( i=0 ; i<maxPoints ; i++ ){
02034                 c = maraxis->getSplinePoint(i); 
02035                 cc[0]=c[0]-pp[0];
02036                 cc[1]=c[1]-pp[1];
02037                 cc[2]=c[2]-pp[2];
02038                 dist=sqrt( cc[0]*cc[0] + cc[1]*cc[1] + cc[2]*cc[2] );
02039                 if ((distMin==-1) || (dist<distMin)) {
02040                         iback=i;
02041                         distMin=dist;
02042                 }
02043         }
02044         _sl_Slice->SetValue(iback);
02045         MoveSlider(iback);
02046 
02047 }

Here is the call graph for this function:

void wxQuantificationWidget::CallBackOnMouseWheel ( wxMouseEvent &  event  )  [virtual]

Reimplemented from InterfaceVtkPanelWidgets.

Definition at line 2050 of file wxQuantificationWidget.cxx.

References _sl_Slice, and MoveSlider().

02050                                                                       {
02051         int slice=_sl_Slice->GetValue();
02052         if (event.GetWheelRotation()>0){ slice++; }
02053         if (event.GetWheelRotation()<0){ slice--; }
02054     if (slice < _sl_Slice->GetMin() ) { slice=_sl_Slice->GetMin(); }
02055     if (slice > _sl_Slice->GetMax() ) { slice=_sl_Slice->GetMax(); }
02056     _sl_Slice->SetValue(slice);
02057         MoveSlider(slice);
02058 }

Here is the call graph for this function:

void wxQuantificationWidget::Clean3D ( bool  eraseAxe = false  ) 

Definition at line 925 of file wxQuantificationWidget.cxx.

References _3DWorld, marInterface::_experiment, _first_quant, _last_quant, _mar, _quant_shown, marExperiment::getNumberOfSlices(), vtk3DQuantSurfaceWidget::InitListContourActor(), and vtk3DSurfaceWidget::RemoveAxis().

Referenced by wxMaracasQuantification::CleanContours(), wxMaracasQuantification::RegenerateAll(), and wxMaracasQuantification::RegenerateSignal().

00926 {
00927         _first_quant = -1;
00928         _last_quant = -1;
00929 //EED   _real_first_point_quant = -1;
00930 //EED   _real_last_point_quant = -1;
00931         //this->controls(1);
00932         _quant_shown = false;
00933         
00934         _3DWorld->InitListContourActor( -1,_mar->_experiment->getNumberOfSlices() );
00935         if (eraseAxe==true) { _3DWorld->RemoveAxis(); }
00936 
00937 /* EED borrame
00938         _3DWorld->Hide3DSliceActor( );
00939         _3DWorld->Hide3DContourActor( );
00940         _3DWorld->Hide3DHealthySliceActor();
00941 */
00942 
00943         /*
00944         if (_pRenderer3D != 0) _pRenderer3D->RemoveActor(hs_actor);
00945         if (_hs_actor != 0)   hs_actor->delete();
00946         if (_hs_mapper != 0)  hs_mapper->delete();
00947         if (_hs_grid != 0)   hs_grid->delete();
00948         if (_hs_points != 0)   hs_points->delete();
00949         if (_hs_poly_line != 0)   hs_poly_line->delete();
00950         */
00951         
00952 /* EED
00953         int i = 1;
00954         int max = _rings_index->GetCount();
00955         while  (i <= max) {
00956         
00957         if (_pRenderer3D != 0)
00958     _pRenderer3D->RemoveActor(_cont3DActor(hs_actor[i]));
00959         if (_cont3DActor[i] != 0)
00960     _cont3DActor[i]->Delete();
00961         if (_cont3DMapper[i] != 0)
00962     _cont3DMapper[i]->Delete();
00963         if (_cont3DGrid[i] != 0)
00964     _cont3DGrid[i]->Delete();
00965         if (_cont3DPolyLine[i] != 0)
00966     _cont3DPolyLine[i]->Delete();
00967         if (_cont3DPoints[i] != 0)
00968     _cont3DPoints[i]->Delete();
00969                 
00970                 i++;
00971         }
00972         //_rings_index = _list;
00973 */
00974         
00975 
00976 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxQuantificationWidget::CleanContour (  ) 

Definition at line 1238 of file wxQuantificationWidget.cxx.

01239 {
01240 /*  if ( _pRenderer2D != 0 ) {
01241 _pRenderer2D->RemoveActor(_debug2Actor3D);
01242 _pRenderer2D->RemoveActor(_debug1Actor3D);
01243 }
01244 if ( _debug2Actor3D != 0 )
01245 _debug2Actor3D->Delete();
01246 //if ( _connMapper3D != 0 )                     _connMapper3D->Delete();
01247 //if ( _isoStrips3D != 0 )                      _isoStrips3D->Delete();
01248 //if ( _cpd23D != 0 )                                   _cpd23D->Delete();
01249 //if ( _conn3D != 0 )                                   _conn3D->Delete();
01250 //if ( _cpd3D != 0 )                                    _cpd3D->Delete();
01251 if ( _debug1Actor3D != 0 )
01252 _debug1Actor3D->Delete();
01253 //if ( _cntVTKMapper3D != 0 )                   _cntVTKMapper3D->Delete();
01254 //if ( _cntVTK3D != 0 )                         _cntVTK3D->Delete();
01255 
01256   if ( _pRenderer2D != 0 ) {
01257   _pRenderer2D->RemoveActor(_aPolyLineActor2D);
01258   _pRenderer2D->RemoveActor(_aPolygonActor2D);
01259   }
01260   
01261         if ( _aPolyLineActor2D != 0 )
01262     _aPolyLineActor2D->Delete();
01263         //if ( _aPolyLineMapper2D != 0 )                _aPolyLineMapper2D->Delete();
01264         //if ( _aPolyLineGrid2D != 0 )          _aPolyLineGrid2D->Delete();
01265         //if ( _aPolyLine2D != 0 )                      _aPolyLine2D->Delete();
01266         //if ( _PointsContour2D != 0 )          _PointsContour2D->Delete();
01267         if ( _aPolygonActor2D != 0 )
01268     _aPolygonActor2D->Delete();
01269         //if ( _aPolygonMapper2D != 0 )         _aPolygonMapper2D->Delete();
01270         //if ( _aPolygonGrid2D != 0 )                   _aPolygonGrid2D->Delete();
01271         //if ( _aPolygon2D != 0 )                               _aPolygon2D->Delete();
01272         
01273           if ( _pRenderer2D != 0 ) {
01274           _pRenderer2D->RemoveActor(_dMaxActor2D);
01275           _pRenderer2D->RemoveActor(_dMinActor2D);
01276           }
01277           
01278                 if ( _dMaxActor2D != 0 )
01279                 _dMaxActor2D->Delete();
01280                 //if ( _dMaxMapper2D != 0 )                             _dMaxMapper2D->Delete();
01281                 //if ( _dMaxLine2D != 0 )                                       _dMaxLine2D->Delete();
01282                 if ( _dMinActor2D != 0 )
01283                 _dMinActor2D->Delete();
01284                 //if ( _dMinMapper2D != 0 )                             _dMinMapper2D->Delete();
01285                 //if ( _dMinLine2D != 0 )                                       _dMinLine2D->Delete();
01286                 
01287                   _pRenderWindow3D->Render();
01288         _pRenderWindow2D->Render();*/
01289 }

wxPanel * wxQuantificationWidget::CreateStenosisPanel (  ) 

Definition at line 122 of file wxQuantificationWidget.cxx.

References _st_Label100, _st_Label101, _st_Value100, _st_Value101, marDictionary::GetString(), and panel_right_down.

Referenced by Set_control().

00122                                                     {
00123         marDictionary marDict;
00124 
00125         wxPanel* panel = new wxPanel(panel_right_down);
00126 
00127         _st_Label100 = new wxStaticText(panel, -1, wxString(marDict.GetString(255), wxConvUTF8) ); // "Stenosis (area)"
00128         _st_Label101 = new wxStaticText(panel, -1, wxString(marDict.GetString(260), wxConvUTF8) ); // "Stenosis (diameter)"
00129 //      _st_Label102 = new wxStaticText(panel, -1, "                          < Area (mm^2) > Stenosis :  ",wxPoint(0,0),wxDefaultSize,wxALIGN_RIGHT );
00130 //      _st_Label103 = new wxStaticText(panel, -1, "                       < Perimeter (mm) > Stenosis :  ",wxPoint(0,0),wxDefaultSize,wxALIGN_RIGHT );
00131 //      _st_Label104 = new wxStaticText(panel, -1, "        < Diameter (mm) from Area > Stenosis :  ",wxPoint(0,0),wxDefaultSize,wxALIGN_RIGHT );
00132 //      _st_Label105 = new wxStaticText(panel, -1, "  < Diameter (mm) from Perimeter > Stenosis :  ",wxPoint(0,0),wxDefaultSize,wxALIGN_RIGHT );
00133 //      _st_Label106 = new wxStaticText(panel, -1, "          < Minimum Diameter (mm) > Stenosis :  ",wxPoint(0,0),wxDefaultSize,wxALIGN_RIGHT );
00134 //      _st_Label107 = new wxStaticText(panel, -1, "          < Maximum Diameter (mm) > Stenosis :  ",wxPoint(0,0),wxDefaultSize,wxALIGN_RIGHT );
00135 //      _st_Label108 = new wxStaticText(panel, -1, "          < Avarege Diameter (mm) > Stenosis :  ",wxPoint(0,0),wxDefaultSize,wxALIGN_RIGHT );
00136 
00137         _st_Value100 = new wxStaticText(panel, -1, _T("--                ") );
00138         _st_Value101 = new wxStaticText(panel, -1, _T("--                ") );
00139 //      _st_Value102 = new wxStaticText(panel, -1, "--");
00140 //      _st_Value103 = new wxStaticText(panel, -1, "--");
00141 //      _st_Value104 = new wxStaticText(panel, -1, "--");
00142 //      _st_Value105 = new wxStaticText(panel, -1, "--");
00143 //      _st_Value106 = new wxStaticText(panel, -1, "--");
00144 //      _st_Value107 = new wxStaticText(panel, -1, "--");
00145 //      _st_Value108 = new wxStaticText(panel, -1, "--");
00146 
00147 //EEDxx 2.6
00148 //      wxStaticText *_st_LabelBlanc = new wxStaticText(panel, -1, "                 ");
00149 //      _st_LabelBlanc->SetBackgroundColour(*wxLIGHT_GREY);
00150 
00151 //EEDxx 2.6
00152 //      panel->SetBackgroundColour(wxColour(100,0,100));
00153 //      _st_Label100->SetBackgroundColour(*wxLIGHT_GREY);
00154 //      _st_Label101->SetBackgroundColour(*wxLIGHT_GREY);
00155 
00156 
00157 
00158 
00159 //      _st_Label102->SetBackgroundColour(*wxLIGHT_GREY);
00160 //      _st_Label103->SetBackgroundColour(*wxLIGHT_GREY);
00161 //      _st_Label104->SetBackgroundColour(*wxLIGHT_GREY);
00162 //      _st_Label105->SetBackgroundColour(*wxLIGHT_GREY);
00163 //      _st_Label106->SetBackgroundColour(*wxLIGHT_GREY);
00164 //      _st_Label107->SetBackgroundColour(*wxLIGHT_GREY);
00165 //      _st_Label108->SetBackgroundColour(*wxLIGHT_GREY);
00166 
00167 
00168 //EEDxx 2.6
00169 //      _st_Value100->SetBackgroundColour(*wxLIGHT_GREY);
00170 //      _st_Value101->SetBackgroundColour(*wxLIGHT_GREY);
00171 
00172 
00173 //      _st_Value102->SetBackgroundColour(*wxLIGHT_GREY);
00174 //      _st_Value103->SetBackgroundColour(*wxLIGHT_GREY);
00175 //      _st_Value104->SetBackgroundColour(*wxLIGHT_GREY);
00176 //      _st_Value105->SetBackgroundColour(*wxLIGHT_GREY);
00177 //      _st_Value106->SetBackgroundColour(*wxLIGHT_GREY);
00178 //      _st_Value107->SetBackgroundColour(*wxLIGHT_GREY);
00179 //      _st_Value108->SetBackgroundColour(*wxLIGHT_GREY);
00180 
00181         wxFont font(14,wxDEFAULT ,wxNORMAL,wxBOLD);
00182 //      _st_Label100->SetFont(font);
00183 //      _st_Label101->SetFont(font);
00184         _st_Value100->SetFont(font);
00185         _st_Value101->SetFont(font);
00186 
00187 
00188 
00189         wxGridSizer*  gridSizer1        = new wxFlexGridSizer(1);
00190         gridSizer1->Add( new wxStaticText(panel, -1, _T("                 "))   ,15, wxALL|wxEXPAND|wxALIGN_CENTRE_HORIZONTAL, 0);
00191         gridSizer1->Add(_st_Value100    ,15, wxALL|wxEXPAND|wxALIGN_CENTRE_HORIZONTAL, 0);
00192         gridSizer1->Add(_st_Label100    ,15, wxALL|wxEXPAND|wxALIGN_CENTRE_HORIZONTAL, 0);
00193         gridSizer1->Add( new wxStaticText(panel, -1, _T("                 "))   ,15, wxALL|wxEXPAND|wxALIGN_CENTRE_HORIZONTAL, 0);
00194         gridSizer1->Add(_st_Value101    ,15, wxALL|wxEXPAND|wxALIGN_CENTRE_HORIZONTAL, 0);
00195         gridSizer1->Add(_st_Label101    ,15, wxALL|wxEXPAND|wxALIGN_CENTRE_HORIZONTAL, 0);
00196 
00197 
00198 
00199 //      gridSizer->Add(_st_LabelBlanc);
00200 //      gridSizer->Add(_st_LabelBlanc);
00201 //      gridSizer->Add(_st_LabelBlanc);
00202 //      gridSizer->Add(_st_LabelBlanc);
00203 //      gridSizer->Add(_st_Label102);
00204 //      gridSizer->Add(_st_Value102);
00205 //      gridSizer->Add(_st_LabelBlanc);
00206 //      gridSizer->Add(_st_LabelBlanc);
00207 //      gridSizer->Add(_st_Label103);
00208 //      gridSizer->Add(_st_Value103);
00209 //      gridSizer->Add(_st_LabelBlanc);
00210 //      gridSizer->Add(_st_LabelBlanc);
00211 //      gridSizer->Add(_st_Label104);
00212 //      gridSizer->Add(_st_Value104);
00213 //      gridSizer->Add(_st_LabelBlanc);
00214 //      gridSizer->Add(_st_LabelBlanc);
00215 //      gridSizer->Add(_st_Label105);
00216 //      gridSizer->Add(_st_Value105);
00217 //      gridSizer->Add(_st_LabelBlanc);
00218 //      gridSizer->Add(_st_LabelBlanc);
00219 //      gridSizer->Add(_st_Label106);
00220 //      gridSizer->Add(_st_Value106);
00221 //      gridSizer->Add(_st_LabelBlanc);
00222 //      gridSizer->Add(_st_LabelBlanc);
00223 //      gridSizer->Add(_st_Label107);
00224 //      gridSizer->Add(_st_Value107);
00225 //      gridSizer->Add(_st_LabelBlanc);
00226 //      gridSizer->Add(_st_LabelBlanc);
00227 //      gridSizer->Add(_st_Label108);
00228 //      gridSizer->Add(_st_Value108);
00229 
00230         wxGridSizer*  gridSizer         = new wxFlexGridSizer(4);
00231         gridSizer->Add( new wxStaticText(panel, -1, _T("                 "))    ,15, wxALIGN_LEFT , 50);
00232         gridSizer->Add( new wxStaticText(panel, -1, _T("                 "))    ,15, wxALIGN_LEFT , 50);
00233         gridSizer->Add( new wxStaticText(panel, -1, _T("                 "))    ,15, wxALIGN_LEFT , 50);
00234         gridSizer->Add(gridSizer1               ,15, wxALIGN_LEFT , 50);
00235 
00236         panel->SetAutoLayout(true);
00237         panel->SetSizer(gridSizer);
00238         panel->Layout();
00239 
00240 //EEDxx 2.6
00241 //      panel->SetBackgroundColour(*wxLIGHT_GREY);
00242 
00243         panel->SetSize(400,300);
00244         panel->SetSize( gridSizer->GetMinSize() );
00245 
00246         return panel;
00247 }

Here is the call graph for this function:

Here is the caller graph for this function:

wxQuantificationWidget::DECLARE_EVENT_TABLE (  )  [private]
void wxQuantificationWidget::DetectHealthySickSlice ( bool  minSurf,
bool  maxSurf 
) [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 1610 of file wxQuantificationWidget.cxx.

References marInterface::_experiment, _mar, _sl_Slice, GetAnalysisTypeStenosis(), marExperiment::getAverageArea(), GetSizeHealthyRegion(), GetSliceLimites(), GetStenosisArea(), GetStenosisDiameter(), and MoveSlider().

01610                                                                                 {       
01611         wxBusyCursor wait;
01612         double          stenosis;
01613         double          areaB;
01614         int                     iSlice;
01615         int                     startslice;
01616         int                     endslice;
01617         double          maxStenosis                     =       -9999999;
01618         double          maxArea                         =       -9999999;
01619         int                     sickSlice                       =       0;
01620         int                     healthySlice            =       0;
01621         int                     sizeHealthyRegion       =       GetSizeHealthyRegion();
01622         int                     analysisTypeStenosis=   GetAnalysisTypeStenosis();
01623 
01624 
01625 //FILE *ff;
01626 //ff = fopen("c:/temp/MaracasStadistics.txt","a+");
01627 //long int endtime = clock();
01628 //double sg = (double)(endtime-startTimeRI) / (double)CLK_TCK;
01629 //fprintf(ff,"EED %p wxQuantificationWidget::DetectHealthySickSlice > RI_t = %f \n",this,sg);
01630 //fclose(ff);
01631 
01632 
01633 //startTimeCalcule = clock();
01634 
01635         GetSliceLimites(0,startslice,endslice);
01636 
01637     if (startslice>endslice){
01638                 int temp=endslice;
01639                 endslice=startslice;
01640                 startslice=temp;
01641         }
01642 
01643         int backSlice;
01644         if (minSurf==false) { backSlice = _sl_Slice->GetValue(); }
01645 
01646         for (iSlice=startslice; iSlice<=endslice;iSlice++){
01647 
01648                 if (minSurf==true){
01649                         // this is equal to the minimum surface/diameter
01650                         if (analysisTypeStenosis==1 ){ stenosis = GetStenosisDiameter(iSlice);  }
01651                         if (analysisTypeStenosis==2 ){ stenosis = GetStenosisArea(iSlice);              }
01652                 }
01653 
01654                 if (maxSurf==true){
01655                         areaB = _mar->_experiment->getAverageArea(iSlice-sizeHealthyRegion,iSlice+sizeHealthyRegion);
01656                 }
01657 
01658                 if ((stenosis>maxStenosis) &&(minSurf==true)){
01659                         maxStenosis=stenosis;
01660                         sickSlice=iSlice;
01661                 }
01662                 if ((areaB>maxArea) && (maxSurf==true)){
01663                         maxArea=areaB;
01664                         healthySlice=iSlice;
01665                 }
01666                 MoveSlider( iSlice );
01667                 _sl_Slice->SetValue( iSlice );
01668         }
01669 
01670 //ff = fopen("c:/temp/MaracasStadistics.txt","a+");
01671 //endtime = clock();
01672 //sg = (double)(endtime-startTimeCalcule) / (double)CLK_TCK;
01673 //fprintf(ff,"EED %p wxQuantificationWidget::DetectHealthySickSlice > t = %f   ( %d , %d , %d )\n",this,sg,startslice,endslice, endslice-startslice);
01674 //fclose(ff);
01675 
01676         if (minSurf==true){
01677                 MoveSlider( sickSlice );
01678                 _sl_Slice->SetValue( sickSlice );
01679         }
01680 
01681         if (maxSurf==true){
01682                 MoveSlider( healthySlice );
01683                 _sl_Slice->SetValue( healthySlice );
01684         }
01685 
01686 }

Here is the call graph for this function:

void wxQuantificationWidget::Do_layout (  ) 

Definition at line 426 of file wxQuantificationWidget.cxx.

References _2DWorld, _3DWorld, _bt_AddContour3D, _bt_CleanAllContours3D, _bt_CleanContour3D, _bt_SaveContours3D, _cb_HealthySlice, _cb_Perpendicular, _cb_ShowSurface, _cb_VisibleRings, _pl_cntlHealthySick2, _rb_Color, _rb_GreyScale, _sl_Isovalue, _sl_Opacity, _sl_Slice, _st_Isovalue, _st_Label1, _st_Label2, _st_Label3, _st_Label6, _st_Label7, _st_Label8, _st_LabelRef101, _st_LabelRef102, _st_LabelRef103, _st_Opacity, _st_Slice, _st_Value1, _st_Value2, _st_Value3, _st_Value6, _st_Value7, _st_Value8, _st_ValueRef101, _st_ValueRef102, _st_ValueRef103, _wxStenosisPanel, panel_left_down, panel_left_up, panel_right, panel_right_down, panel_right_up, panel_splitter, panel_splitter_left, and panel_splitter_right.

00427 {
00428         
00429         //Do the layout:
00430         
00431         wxBoxSizer                      *sizer_principal        = new wxBoxSizer(wxVERTICAL);
00432         wxBoxSizer                      *status                         = new wxBoxSizer(wxHORIZONTAL);
00433 
00434 //EEDxx 2.6     
00435 //      wxFlexGridSizer         *medium_right_up        = new wxFlexGridSizer(1,0);
00436         wxBoxSizer                      *medium_right_up        = new wxBoxSizer(wxVERTICAL);
00437 
00438         wxFlexGridSizer         *medium_right_down      = new wxFlexGridSizer(1,0);
00439 
00440 
00441         wxBoxSizer                      *medium_left_up         = new wxBoxSizer(wxVERTICAL);
00442         wxBoxSizer                      *medium_right           = new wxBoxSizer(wxVERTICAL);
00443 //      wxFlexGridSizer         *autoQuantif            = new wxFlexGridSizer(1,0);
00444 
00445 
00446 //      wxStaticBoxSizer        *axe                            = new wxStaticBoxSizer(new wxStaticBox(panel_left_down, -1, _T("")), wxVERTICAL);
00447         wxFlexGridSizer         *axe                            = new wxFlexGridSizer(1);
00448         axe->AddGrowableCol(0);
00449 
00450         wxFlexGridSizer         *axe1                           = new wxFlexGridSizer(10,0);
00451         wxBoxSizer                      *axe2                           = new wxBoxSizer(wxHORIZONTAL);
00452         wxFlexGridSizer         *axe3                           = new wxFlexGridSizer(10,0);
00453         wxFlexGridSizer         *axe4                           = new wxFlexGridSizer(10,0);
00454         wxBoxSizer                      *axe5                           = new wxBoxSizer(wxHORIZONTAL);
00455         wxBoxSizer                      *axe6                           = new wxBoxSizer(wxHORIZONTAL);
00456         
00457         wxBoxSizer                      *status0                        = new wxBoxSizer(wxVERTICAL);
00458         wxBoxSizer                      *status1                        = new wxBoxSizer(wxVERTICAL);
00459         wxBoxSizer                      *status2                        = new wxBoxSizer(wxVERTICAL);
00460         wxBoxSizer                      *status3                        = new wxBoxSizer(wxVERTICAL);
00461 //      wxBoxSizer                      *status4                        = new wxBoxSizer(wxVERTICAL);
00462 //      wxBoxSizer                      *status5                        = new wxBoxSizer(wxVERTICAL);
00463         wxBoxSizer                      *status6                        = new wxBoxSizer(wxVERTICAL);
00464         wxBoxSizer                      *status7                        = new wxBoxSizer(wxVERTICAL);
00465         wxBoxSizer                      *status8                        = new wxBoxSizer(wxVERTICAL);
00466         wxBoxSizer                      *status9                        = new wxBoxSizer(wxVERTICAL);
00467         wxBoxSizer                      *statusRef1                     = new wxBoxSizer(wxVERTICAL);
00468         wxBoxSizer                      *statusRef2                     = new wxBoxSizer(wxVERTICAL);
00469         wxBoxSizer                      *statusRef3                     = new wxBoxSizer(wxVERTICAL);
00470         
00471 
00472         axe1->Add(_st_Slice                                     , 10, wxALL|wxEXPAND, 0);
00473         axe1->Add(_sl_Slice                                     , 10, wxALL|wxGROW, 0);
00474         axe1->AddGrowableCol(1);
00475 
00476         axe2->Add(_cb_HealthySlice                      , 10, wxALL|wxEXPAND, 0);
00477         axe2->Add(_cb_Perpendicular                     , 10, wxALL|wxEXPAND, 0);
00478         axe2->Add(_cb_VisibleRings                      , 10, wxALL|wxEXPAND, 0);
00479         axe2->Add(_cb_ShowSurface                       , 10, wxALL|wxEXPAND, 0);
00480 
00481         axe3->Add(_st_Opacity                           ,  1, wxALL|wxEXPAND, 0);
00482         axe3->Add(_sl_Opacity                           , 10, wxALL|wxGROW, 0);
00483         axe3->Add(_rb_GreyScale                         , 10, wxALL|wxEXPAND, 0);
00484         axe3->Add(_rb_Color                                     , 10, wxALL|wxEXPAND, 0);
00485         axe3->AddGrowableCol(1);
00486 
00487         axe4->Add(_st_Isovalue                          ,  1, wxALL|wxEXPAND, 0);
00488         axe4->Add(_sl_Isovalue                          ,  1, wxALL|wxGROW, 0);
00489         axe4->AddGrowableCol(1);
00490 
00491         axe5->Add(_bt_AddContour3D                      ,  1                            );
00492         axe5->Add(_bt_CleanContour3D            ,  1                            );
00493         axe6->Add(_bt_CleanAllContours3D        ,  1                            );
00494         axe6->Add(_bt_SaveContours3D            ,  1                            );
00495 
00496 
00497 //      status0->Add(_st_Label0, 1, wxALL|wxALIGN_CENTER, 5);
00498 //      status0->Add(_st_Value0, 1, wxALL|wxALIGN_CENTER, 5);
00499         status1->Add(_st_Label1, 1, wxALL|wxALIGN_CENTER, 5);
00500         status1->Add(_st_Value1, 1, wxALL|wxALIGN_CENTER, 5);
00501         status2->Add(_st_Label2, 1, wxALL|wxALIGN_CENTER, 5);
00502         status2->Add(_st_Value2, 1, wxALL|wxALIGN_CENTER, 5);
00503         status3->Add(_st_Label3, 1, wxALL|wxALIGN_CENTER, 5);
00504         status3->Add(_st_Value3, 1, wxALL|wxALIGN_CENTER, 5);
00505 //      status4->Add(_st_Label4, 1, wxALL|wxALIGN_CENTER, 5);
00506 //      status4->Add(_st_Value4, 1, wxALL|wxALIGN_CENTER, 5);
00507 //      status5->Add(_st_Label5, 1, wxALL|wxALIGN_CENTER, 5);
00508 //      status5->Add(_st_Value5, 1, wxALL|wxALIGN_CENTER, 5);
00509         status6->Add(_st_Label6, 1, wxALL|wxALIGN_CENTER, 5);
00510         status6->Add(_st_Value6, 1, wxALL|wxALIGN_CENTER, 5);
00511         status7->Add(_st_Label7, 1, wxALL|wxALIGN_CENTER, 5);
00512         status7->Add(_st_Value7, 1, wxALL|wxALIGN_CENTER, 5);
00513         status8->Add(_st_Label8, 1, wxALL|wxALIGN_CENTER, 5);
00514         status8->Add(_st_Value8, 1, wxALL|wxALIGN_CENTER, 5);
00515         // EED -> status9->Add(_st_Label9, 1, wxALL|wxALIGN_CENTER, 5);
00516         // EED -> status9->Add(_st_Value9, 1, wxALL|wxALIGN_CENTER, 5);
00517         
00518         statusRef1->Add(_st_LabelRef101, 1, wxALL|wxALIGN_CENTER, 5);
00519         statusRef1->Add(_st_ValueRef101, 1, wxALL|wxALIGN_CENTER, 5);
00520         statusRef2->Add(_st_LabelRef102, 1, wxALL|wxALIGN_CENTER, 5);
00521         statusRef2->Add(_st_ValueRef102, 1, wxALL|wxALIGN_CENTER, 5);
00522         statusRef3->Add(_st_LabelRef103, 1, wxALL|wxALIGN_CENTER, 5);
00523         statusRef3->Add(_st_ValueRef103, 1, wxALL|wxALIGN_CENTER, 5);
00524 
00525 
00526 //      status->Add(status0             , 1, wxALL|wxEXPAND, 0);
00527         status->Add(status1             , 1, wxALL|wxEXPAND, 0);
00528         status->Add(statusRef1  , 1, wxALL|wxEXPAND, 0);
00529         status->Add(status2             , 1, wxALL|wxEXPAND, 0);
00530         status->Add(statusRef2  , 1, wxALL|wxEXPAND, 0);
00531         status->Add(status3             , 1, wxALL|wxEXPAND, 0);
00532 //      status->Add(status4             , 1, wxALL|wxEXPAND, 0);
00533 //      status->Add(status5             , 1, wxALL|wxEXPAND, 0);
00534         status->Add(status6             , 1, wxALL|wxEXPAND, 0);
00535         status->Add(status7             , 1, wxALL|wxEXPAND, 0);
00536         status->Add(status8             , 1, wxALL|wxEXPAND, 0);
00537         status->Add(statusRef3  , 1, wxALL|wxEXPAND, 0);
00538         // EED -> status->Add(status9, 1, wxALL|wxEXPAND, 0);
00539         
00540         axe->Add(axe1, 2, wxALL|wxEXPAND, 0);
00541         axe->Add(axe2, 2, wxALL|wxEXPAND, 0);   //wxALIGN_CENTER_HORIZONTAL
00542         axe->Add(axe3, 2, wxALL|wxEXPAND, 0);
00543         axe->Add(axe4, 2, wxALL|wxEXPAND, 0);
00544 
00545 //      axe->Add(axe5, 2, wxALL|wxEXPAND, 0);
00546 //      axe->Add(axe6, 2, wxALL|wxEXPAND, 0);
00547         axe->Add(axe5);
00548         axe->Add(axe6);
00549 
00550         panel_left_down->SetAutoLayout(true);
00551         panel_left_down->SetSizer(axe);
00552         panel_left_down->Layout();
00553 
00554 
00555 //EEDxx 2.6 GROW
00556 //      medium_right_up->Add(_2DWorld                           , 1, wxALL|wxGROW, 5);
00557         medium_right_up->Add(_2DWorld                           , 1, wxALL|wxEXPAND, 5);
00558 
00559         medium_right_down->Add(_wxStenosisPanel         , 1, wxALL, 5);
00560         medium_right_down->Add(_pl_cntlHealthySick2     , 1, wxALL, 5);
00561 
00562 
00563         //medium_right->Add(_Chart                      , 1, wxALL|wxEXPAND     , 0);
00564         
00565 //      panel_left->SetAutoLayout(true);
00566 //      panel_left->SetSizer(medium_left);
00567 //      panel_left->Layout();
00568 
00569 
00570         medium_left_up->Add(_3DWorld                                    , 1, wxEXPAND, 0);
00571         panel_left_up->SetAutoLayout(true);
00572         panel_left_up->SetSizer(medium_left_up);
00573         panel_left_up->Layout();
00574 
00575 
00576     panel_splitter_left->SplitHorizontally( panel_left_up , panel_left_down );
00577     panel_splitter_left->SetMinimumPaneSize( 50 );
00578 
00579 
00580 
00581         panel_right_up->SetAutoLayout(true);
00582         panel_right_up->SetSizer(medium_right_up);
00583         panel_right_up->Layout();
00584 
00585         panel_right_down->SetAutoLayout(true);
00586         panel_right_down->SetSizer(medium_right_down);
00587         panel_right_down->Layout();
00588 
00589 
00590         int ww,hh;
00591         wxWindow *pp=this;
00592         while (pp->GetParent()!=NULL) pp=pp->GetParent();
00593         pp->GetSize(&ww,&hh);
00594 
00595     panel_splitter_right->SplitHorizontally( panel_right_up, panel_right_down, (int)(hh*0.4)  );
00596     panel_splitter_right->SetMinimumPaneSize( 50 );
00597         
00598 
00599 //EEDxx 2.6 GROW
00600 //      medium_right->Add(panel_splitter_right,1 ,wxGROW,0      );
00601         medium_right->Add(panel_splitter_right,1 ,wxALL|wxEXPAND,0      );
00602         panel_right->SetAutoLayout(true);
00603         panel_right->SetSizer(medium_right);
00604         panel_right->Layout();
00605 //      panel_right->FitInside();
00606 
00607 
00608     panel_splitter->SplitVertically( panel_splitter_left , panel_right, (int)(ww*0.6) );
00609     panel_splitter->SetMinimumPaneSize( 50 );
00610 
00611 //EEDxx 2.6 GROW
00612 //      sizer_principal->Add( panel_splitter    , 1     , wxGROW                );
00613 //      sizer_principal->Add( status                    , 0     , wxGROW                );
00614         sizer_principal->Add( panel_splitter    , 1     , wxALL|wxEXPAND                );
00615         sizer_principal->Add( status                    , 0     , wxALL|wxEXPAND                );
00616         
00617         this->SetSizer(sizer_principal);
00618 
00619 //EEDxx2.4
00620 //      FitInside();
00621 
00622 
00623 }

void wxQuantificationWidget::Do_Quant (  ) 

Definition at line 1294 of file wxQuantificationWidget.cxx.

01295 {
01296 /*
01297 if ( _quantifing == 0 )
01298 {
01299 this->Clean_Graph();
01300 this->Clean3D();
01301 
01302  _quantifing = 1;
01303  
01304   int f = ( _first_point_quant < _last_point_quant ) ? _first_point_quant : _last_point_quant;
01305   int l = ( _first_point_quant > _last_point_quant ) ? _first_point_quant : _last_point_quant;
01306   
01307    this->Controls(2);
01308    
01309         _quant_x     = _list;
01310         _quant_area  = _list;
01311         _quant_peri  = _list;
01312         _quant_darea = _list;
01313         _quant_dperi = _list;
01314         _quant_dmax  = _list;
01315         _quant_dmin  = _list;
01316         _quant_davg  = _list;
01317         
01318          for ( int i = f; i <= l; i++ )
01319          lappend _quant_x->Append(i);
01320          
01321           update_blt_all_meassures();
01322           
01323            startQuant(f);
01324            int  cont = f;
01325            changeSliceAxis(f);
01326            
01327         wxMessageDialog* Q_recalculate = new wxDialog(this,
01328                 _str_recalculate_contours,
01329                 "Question",
01330                 wxYES_NO|wxNO_DEFAULT|wxCENTRE,
01331                 wxPoint(100, 100));
01332                 
01333                  int recal = 0;
01334                  if (Q_recalculate->ShowModal() ==  wxID_OK)
01335                  recal = 1;
01336                  
01337                   delete Q_recalculate;
01338                   
01339                    this->Clean_Contour();
01340                    $widgets(sclSlice) set cont ;
01341                    planes_window::set_plane
01342                    _quant_shown = 1;
01343                    _params = GetContourParams();
01344                    this->Generate_IsoContour( (GetCutSize()  / 2) (GetCutSize() / 2)
01345                    (_params->Item(5) )
01346                                                                    (_params->Item(6) )
01347                                                                    while ( NextQuant(recal,IsoStrips3D) == 1 && cont <= l )
01348                                                                    {
01349                                                                    if ( _quantifing == 1 )
01350                                                                    {
01351                                                                    if ( _pRenderer2D != 0 )
01352                                                                    {
01353                                                                    _pRenderer2D->RemoveActor(_aPolygonActor2D);
01354                                                                    _pRenderer2D->RemoveActor(_aPolyLineActor2D);
01355                                                                    }
01356                                                                    if ( _aPolygonActor2D != 0 )   _aPolygonActor2D->Delete();
01357                                                                    if ( _aPolygonGrid2D != 0 )    _aPolygonGrid2D->Delete();
01358                                                                    if ( _aPolyLineActor2D != 0 )  _aPolyLineActor2D->Delete();
01359                                                                    if ( _aPolyLineMapper2D != 0 ) _aPolyLineMapper2D->Delete();
01360                                                                    if ( _aPolyLineGrid2D != 0 )   _aPolyLineGrid2D->Delete();
01361                                                                    if ( _aPolyLine2D != 0 )       _aPolyLine2D->Delete();
01362                                                                    if ( _PointsContour2D != 0 )   _PointsContour2D->Delete();
01363                                                                    if ( _aPolygon2D != 0 )        _aPolygon2D->Delete();
01364                                                                    
01365                                                                         _points = GetContourPoints();
01366                                                                         _taille = _points->GetLength() / 2;
01367                                                                         
01368                                                                          aPolygon2D = vtkPolygon::New();
01369                                                                          PointsContour2D = vtkPoints::New();
01370                                                                          
01371                                                                           aPolyLine2D = vtkPolyLine::New();
01372                                                                           _PointIds = aPolyLine2D->GetPointIds();
01373                                                                           _PointIds->SetNumberOfIds(_taille);
01374                                                                           _PointIdsPolygon = aPolygon2D->GetPointIds();
01375                                                                           _PointIdsPolygon->SetNumberOfIds( _taille);
01376                                                                           
01377                                                                            for ( int i =0; i < _taille ; i++ )
01378                                                                            {
01379                                                                            _PointIds->SetId(i, i);
01380                                                                            _PointIdsPolygon->SetId(i, i);
01381                                                                            PointsContour2D->InsertNextPoint( _points->Item( i * 2 ) + 0 ,
01382                                                                            _points->Item(i * 2) + 1, 0);
01383                                                                            }
01384                                                                            
01385                                                                                 aPolyLineGrid2D = vtkUnstructuredGrid::New();
01386                                                                                 aPolyLineGrid2D->Allocate(1, 1);
01387                                                                                 _param1 = aPolyLine2D->GetCellType();
01388                                                                                 _param2 = aPolyLine2D->GetPointIds();
01389                                                                                 aPolyLineGrid2D->InsertNextCell(_param1, _param2);
01390                                                                                 aPolyLineGrid2D->SetPoints(PointsContour2D)
01391                                                                                 
01392                                                                                  aPolyLineMapper2D = vtkDataSetMapper::New();
01393                                                                                  aPolyLineMapper2D->SetInput(aPolyLineGrid2D);
01394                                                                                  
01395                                                                                   aPolyLineActor2D = vtkActor::New();
01396                                                                                   aPolyLineActor2D->SetMapper(aPolyLineMapper2D);
01397                                                                                   _Property1 = aPolyLineActor2D->GetProperty();
01398                                                                                   _Property1->SetColor(0, 1, 0);
01399                                                                                   _Property1->SetLineWidth(2);
01400                                                                                   _Property1->SetPointSize(2);
01401                                                                                   _Property1->BackfaceCullingOff();
01402                                                                                   
01403                                                                                    _pRenderer2D->AddActor(aPolyLineActor2D);
01404                                                                                    
01405                                                                                         aPolygonGrid2D = vtkUnstructuredGrid::New();
01406                                                                                         aPolygonGri2D->Allocate(1, 1);
01407                                                                                         _param1 = aPolygon2D->GetCellType();
01408                                                                                         _param2 = aPolygon2D->GetPointIds();
01409                                                                                         aPolygonGrid2D->InsertNextCell(_param1, _param2);
01410                                                                                         aPolygonGrid2D->SetPoints(PointsContour2D);
01411                                                                                         
01412                                                                                          aPolygonMapper2D = vtkDataSetMapper::New();
01413                                                                                          aPolygonMapper2->SetInput(aPolygonGrid2D);
01414                                                                                          
01415                                                                                           aPolygonActor2D = vtkActor::New();
01416                                                                                           aPolygonActor2D->SetMapper(aPolygonMapper2D);
01417                                                                                           _Property1 = aPolygonActor2D->GetProperty();
01418                                                                                           _Property1->SetColor(0, 1, 0);
01419                                                                                           _Property1->SetLineWidth(2);
01420                                                                                           _Property1->SetPointSize(2);
01421                                                                                           _Property1->BackfaceCullingOff();
01422                                                                                           
01423                                                                                            int arr[] = Params(0);
01424                                                                                            if ( arr(e_debug_fill_area) == 1 )
01425                                                                                            _pRenderer2D->AddActor(aPolygonActor2D)
01426                                                                                            
01427                                                                                                 this->Show_Max_Min_Diameters();
01428                                                                                                 
01429                                                                                                  _pRenderWindow2D->Render();
01430                                                                                                  
01431                                                                                                   this->Draw3D_Contour(cont);
01432                                                                                                   
01433                                                                                                    _values = GetValues(cont);
01434                                                                                                    
01435                                                                                                         _quant_area->Append(_values->Item(1));
01436                                                                                                         _quant_peri->Append(_values->Item(2));
01437                                                                                                         _quant_darea->Append(_values->Item(3));
01438                                                                                                         _quant_dperi->Append(_values->Item(4));
01439                                                                                                         _quant_dmax->Append(_values->Item(5));
01440                                                                                                         _quant_dmin->Append(_values->Item(6));
01441                                                                                                         _quant_davg->Append(_values->Item(7));
01442                                                                                                         
01443                                                                                                          this->update_blt_all_meassures();
01444                                                                                                          
01445                                                                                                           _area  = _values->Item(1);
01446                                                                                                           _peri  = _values->Item(2);
01447                                                                                                           _darea = _values->Item(3);
01448                                                                                                           _dperi = _values->Item(4);
01449                                                                                                           _dmax  = _values->Item(5);
01450                                                                                                           _dmin  = _values->Item(6);
01451                                                                                                           _davg  = _values->Item(7);
01452                                                                                                           
01453                                                                                                            cont++;
01454                                                                                                            
01455                                                                                                                 this->Clean_contour();
01456                                                                                                                 
01457                                                                                                                  $widgets(sclSlice) set $cont;
01458                                                                                                                  this->Set_Plane;
01459                                                                                                                  _params = GetContourParams();
01460                                                                                                                  this->Generate_IsoContour [  [ GetCutSize() / 2 ]
01461                                                                                                                  [ GetCutSize() / 2 ]
01462                                                                                                                  [ _params->Item(5) ]
01463                                                                                                                  [ _params->Item(6) ];
01464                                                                                                                  update();
01465                                                                                                                  
01466                                                                                                                   }
01467                                                                                                                   else if ( _quantifing == 2 )
01468                                                                                                                   {
01469                                                                                                                   while ( _quantifing == 2 )
01470                                                                                                                   update();
01471                                                                                                                   }
01472                                                                                                                   else if ( _quantifing == 3 )
01473                                                                                                                   {
01474                                                                                                                   $widgets(btnPause) configure -text $string_table::str_pause
01475                                                                                                                   break;
01476                                                                                                                   }
01477                                                                                                                   
01478                                                                                                                    }
01479                                                                                                                    FinishQuant();
01480                                                                                                                    this->Clean_contour();
01481                                                                                                                    _quantifing = 0;
01482                                                                                                                    
01483                                                                                                                         }
01484                                                                                                                         else
01485                                                                                                                         {
01486                                                                                                                         _quantifing = 2;
01487                                                                                                                         wxMessageDialog* Q_stop = new wxDialog(this,
01488                                                                                                                         _str_stop_quantification,
01489                                                                                                                         "Question",
01490                                                                                                                         wxYES_NO|wxNO_DEFAULT|wxCENTRE,
01491                                                                                                                         wxPoint(100, 100));
01492                                                                                                                         
01493                                                                                                                          _quantifing = 1;
01494                                                                                                                          if (Q_stop->ShowModal() ==  wxID_OK)
01495                                                                                                                          _quantifing = 3;
01496                                                                                                                          delete Q_stop;
01497                                                                                                                          }
01498 */
01499 }

double wxQuantificationWidget::doubleStenosis ( double  healthy,
double  sick 
) [private]

Definition at line 882 of file wxQuantificationWidget.cxx.

Referenced by GetStenosisArea(), and GetStenosisDiameter().

00882                                                                         {
00883         double result;
00884         if (healthy==0) {       
00885                 result=-1;      
00886         } else {  
00887 //EED borrame
00888 //              result = (fabs(healthy-sick)/healthy) * 100 ;   
00889                 result = (    (healthy-sick)/healthy) * 100 ;   
00890         }
00891 
00892         return result;
00893 }

Here is the caller graph for this function:

void wxQuantificationWidget::Forget (  ) 

Definition at line 666 of file wxQuantificationWidget.cxx.

References _shown.

00667 {
00668         _shown = false;
00669 }

int wxQuantificationWidget::GetActualSlice (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2060 of file wxQuantificationWidget.cxx.

References _sl_Slice.

02060                                           {
02061         return _sl_Slice->GetValue();
02062 }

int wxQuantificationWidget::GetAnalysisTypeStenosis (  ) 

Definition at line 2121 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::GetAnalysisTypeStenosis().

Referenced by DetectHealthySickSlice().

02121                                                    {
02122         return _3DWorld->GetAnalysisTypeStenosis();
02123 }

Here is the call graph for this function:

Here is the caller graph for this function:

int wxQuantificationWidget::GetHealthySlice (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 1727 of file wxQuantificationWidget.cxx.

References marInterface::_experiment, _mar, marExperiment::getAxis(), and marAxis::getHealthySlice().

01727                                            {    
01728         return _mar->_experiment->getAxis()->getHealthySlice( );
01729 }

Here is the call graph for this function:

void wxQuantificationWidget::GetHealthySliceRange ( int &  healthySliceStart,
int &  healthySliceEnd 
)

Definition at line 2076 of file wxQuantificationWidget.cxx.

References marInterface::_experiment, _mar, marExperiment::getAxis(), marAxis::getHealthySliceEnd(), and marAxis::getHealthySliceStart().

02076                                                                                             {
02077         healthySliceStart       = _mar->_experiment->getAxis()->getHealthySliceStart( );
02078         healthySliceEnd         = _mar->_experiment->getAxis()->getHealthySliceEnd( );
02079 }

Here is the call graph for this function:

int wxQuantificationWidget::GetMaxActualSlice (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2064 of file wxQuantificationWidget.cxx.

References _sl_Slice.

Referenced by SetHealthySlice().

02064                                              {
02065         return _sl_Slice->GetMax();
02066 }

Here is the caller graph for this function:

int wxQuantificationWidget::GetSizeHealthyRegion (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2068 of file wxQuantificationWidget.cxx.

References _sizeHealthyRegion.

Referenced by DetectHealthySickSlice(), and SetHealthySlice().

02068                                                  {
02069         return _sizeHealthyRegion;
02070 }

Here is the caller graph for this function:

void wxQuantificationWidget::GetSliceLimites ( int  type,
int &  sliceStart,
int &  sliceEnd 
) [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2117 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::GetSliceLimites().

Referenced by DetectHealthySickSlice().

02117                                                                                     {
02118         _3DWorld->GetSliceLimites(type,sliceStart,sliceEnd);
02119 }

Here is the call graph for this function:

Here is the caller graph for this function:

double wxQuantificationWidget::GetStenosisArea ( int  sickSlice  )  [private]

Definition at line 795 of file wxQuantificationWidget.cxx.

References marInterface::_experiment, _mar, doubleStenosis(), marExperiment::getContour(), and marExperiment::getReferenceArea().

Referenced by DetectHealthySickSlice(), and showVariables().

00795                                                             {
00796         double healthyArea = _mar->_experiment->getReferenceArea();
00797         marContour *marcontourSick = _mar->_experiment->getContour( sickSlice );
00798         return doubleStenosis( healthyArea , marcontourSick->getArea() );
00799 }

Here is the call graph for this function:

Here is the caller graph for this function:

double wxQuantificationWidget::GetStenosisDiameter ( int  sickSlice  )  [private]

Definition at line 789 of file wxQuantificationWidget.cxx.

References marInterface::_experiment, _mar, doubleStenosis(), marExperiment::getContour(), and marExperiment::getReferenceAverDiam().

Referenced by DetectHealthySickSlice(), and showVariables().

00789                                                                {
00790         double healthyAverageDiameter = _mar->_experiment->getReferenceAverDiam() ;
00791         marContour *marcontourSick = _mar->_experiment->getContour( sickSlice );
00792         return doubleStenosis( healthyAverageDiameter , marcontourSick->getMinimumDiameter() );
00793 }

Here is the call graph for this function:

Here is the caller graph for this function:

kVolume * wxQuantificationWidget::GetVolumeAxisExtended ( int  wz1,
int  wz2 
) [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2178 of file wxQuantificationWidget.cxx.

References marInterface::_experiment, _mar, and marExperiment::getSliceImage().

02179 {
02180         // Create Volume
02181         vtkImageData *imagedata;
02182         imagedata=_mar->_experiment->getSliceImage(wz1);
02183         int dims[3];
02184         imagedata->GetDimensions (dims);
02185         int wx=dims[0];
02186         int wy=dims[1];
02187         int wz  = wz2-wz1+1;
02188         kVolume *kvol =new kVolume( kVolume::USHORT, wx, wy, wz,1, 1, 1, malloc(sizeof(unsigned short)*wx*wy*wz ) );
02189         vtkImageData *vol = kvol->castVtk();
02190 
02191         // Fill Volume
02192         int i;
02193         for (i=wz1;i<=wz2;i++)
02194         {
02195                 // GetImage
02196                 imagedata=_mar->_experiment->getSliceImage(i);
02197 
02198                 // InsertImage
02199              void *p_imagedata  = imagedata->GetScalarPointer(0,0,0);
02200                  void *p_vol            = vol->GetScalarPointer(0,0,i-wz1);
02201          memcpy( p_vol, p_imagedata , sizeof(unsigned short)*dims[0]*dims[1] );
02202         }
02203         return kvol;
02204 }

Here is the call graph for this function:

void wxQuantificationWidget::Hide3DEndRegionSliceActor ( int  type  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2113 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::Hide3DEndRegionSliceActor().

02113                                                                 {
02114         _3DWorld->Hide3DEndRegionSliceActor(type);
02115 }

Here is the call graph for this function:

void wxQuantificationWidget::Hide3DRegionSliceActor ( int  type  ) 

Definition at line 2105 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::Hide3DRegionSliceActor().

02105                                                              {
02106         _3DWorld->Hide3DRegionSliceActor(type);
02107 }

Here is the call graph for this function:

void wxQuantificationWidget::Hide3DStartRegionSliceActor ( int  type  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2109 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::Hide3DStartRegionSliceActor().

02109                                                                   {
02110         _3DWorld->Hide3DStartRegionSliceActor(type);
02111 }

Here is the call graph for this function:

void wxQuantificationWidget::MoveSlider ( int  actualQuant  )  [private]

Definition at line 774 of file wxQuantificationWidget.cxx.

References _bak_ActualSlice, marInterface::_experiment, _mar, marExperiment::getAxis(), RefreshAxis(), marAxis::setActualQuant(), SetManualContour_2DWorld(), and SetManualContour_ReplaceContour().

Referenced by CallBackOnLeftDClick(), CallBackOnMouseWheel(), DetectHealthySickSlice(), and OnSliderSliceScroll().

00774                                                       {
00775 
00776         if (_bak_ActualSlice!=-1){
00777                 SetManualContour_ReplaceContour();
00778                 SetManualContour_2DWorld(false);
00779         }
00780 
00781         _mar->_experiment->getAxis()->setActualQuant( actualQuant );
00782         RefreshAxis();
00783 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxQuantificationWidget::OnAutoQuantification_BT ( wxCommandEvent &  event  ) 
void wxQuantificationWidget::OnCalibration (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2262 of file wxQuantificationWidget.cxx.

02263 {
02264 }

void wxQuantificationWidget::OnClean_BT ( wxCommandEvent &  event  ) 

Definition at line 1508 of file wxQuantificationWidget.cxx.

References _3DWorld, _sl_Slice, and vtk3DQuantSurfaceWidget::Erase3DContourActor().

01508                                                             {
01509         int slice=_sl_Slice->GetValue();
01510         _3DWorld->Erase3DContourActor( slice );
01511 }

Here is the call graph for this function:

void wxQuantificationWidget::OnCleanAll_BT ( wxCommandEvent &  event  ) 

Definition at line 1514 of file wxQuantificationWidget.cxx.

References _3DWorld, marInterface::_experiment, _mar, marExperiment::getNumberOfSlices(), marDictionary::GetString(), and vtk3DQuantSurfaceWidget::InitListContourActor().

01514                                                                {
01515         marDictionary marDict;
01516         char tmp[256];
01517 
01518         wxMessageDialog *wxdiag;
01519         strcpy( tmp , marDict.GetString(870) ); strcat(tmp,"\n"); strcat(tmp,marDict.GetString(875));
01520         wxdiag= new wxMessageDialog(this, wxString(tmp ,wxConvUTF8), wxString(marDict.GetString(865), wxConvUTF8) , wxOK | wxCANCEL);//"This option erase all 3D contours.\n Do you want to continue?","Alert"
01521     if ( wxdiag->ShowModal() == wxID_OK ) {
01522                 _3DWorld->InitListContourActor( 0, _mar->_experiment->getNumberOfSlices() );
01523         }            
01524         wxdiag->Destroy();
01525 }

Here is the call graph for this function:

void wxQuantificationWidget::OnColor_RB ( wxCommandEvent &  event  ) 

Definition at line 2015 of file wxQuantificationWidget.cxx.

References _3DWorld, _rb_Color, and vtk3DQuantSurfaceWidget::SetColorLookUp().

02015                                                             {
02016         if ( _rb_Color->GetValue() ){
02017                 _3DWorld->SetColorLookUp();
02018         }
02019 }

Here is the call graph for this function:

void wxQuantificationWidget::OnContour_BT ( wxCommandEvent &  event  ) 

Definition at line 1503 of file wxQuantificationWidget.cxx.

References _3DWorld, _cb_VisibleRings, marInterface::_experiment, _mar, _sl_Slice, marExperiment::get3Dcontour(), and vtk3DQuantSurfaceWidget::Set3DContourActor().

01503                                                               {
01504         int slice=_sl_Slice->GetValue();
01505         _3DWorld->Set3DContourActor( slice , _mar->_experiment->get3Dcontour(slice) , _cb_VisibleRings->GetValue() ,0 );
01506 }

Here is the call graph for this function:

void wxQuantificationWidget::OnContourCalc (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2223 of file wxQuantificationWidget.cxx.

02224 {
02225 }

void wxQuantificationWidget::OnContourHypo (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2218 of file wxQuantificationWidget.cxx.

02219 {
02220 }

void wxQuantificationWidget::OnContourLumen (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2213 of file wxQuantificationWidget.cxx.

02214 {
02215 }

void wxQuantificationWidget::OnContourWall (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2208 of file wxQuantificationWidget.cxx.

02209 {
02210 }

void wxQuantificationWidget::OnFile (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2266 of file wxQuantificationWidget.cxx.

02267 {
02268 }

void wxQuantificationWidget::OnGreyScale_RB ( wxCommandEvent &  event  ) 

Definition at line 2009 of file wxQuantificationWidget.cxx.

References _3DWorld, _rb_GreyScale, and vtk3DQuantSurfaceWidget::SetBWLookUp().

02009                                                                 {
02010         if ( _rb_GreyScale->GetValue() ){
02011                 _3DWorld->SetBWLookUp();
02012         }
02013 }

Here is the call graph for this function:

void wxQuantificationWidget::OnHealthySlice_CB ( wxCommandEvent &  event  ) 

Definition at line 1948 of file wxQuantificationWidget.cxx.

References _3DWorld, _cb_HealthySlice, marInterface::_experiment, _mar, marExperiment::getAxis(), marAxis::getHealthySlice(), vtk3DQuantSurfaceWidget::Hide3DHealthySliceActor(), and vtk3DQuantSurfaceWidget::Show3DHealthySliceActor().

01949 {
01950         // Visible
01951         /*  if ( _show_hs == 1 ) {
01952     if ( _pRenderer3D != 0 )
01953         _pRenderer3D->AddActor(_hsActor3D);
01954         }
01955         // Hide
01956         else {
01957     if ( _pRenderer3D != 0 )
01958         _pRenderer3D->RemoveActor(_hsActor3D);
01959         }
01960         
01961         _pRenderWindow3D->Render();  // Maj*/
01962 
01963         
01964         int healthySlice = _mar->_experiment->getAxis( )->getHealthySlice( );
01965         if (healthySlice!=-1) {
01966                 if ( _cb_HealthySlice->GetValue() )
01967                         _3DWorld->Show3DHealthySliceActor();
01968                 else
01969                         _3DWorld->Hide3DHealthySliceActor();
01970         }
01971 }

Here is the call graph for this function:

void wxQuantificationWidget::OnPerpendicular_CB ( wxCommandEvent &  event  ) 

Definition at line 2000 of file wxQuantificationWidget.cxx.

References _3DWorld, _cb_Perpendicular, vtk3DQuantSurfaceWidget::Hide3DSliceActor(), and vtk3DQuantSurfaceWidget::Show3DSliceActor().

02001 {
02002         if ( _cb_Perpendicular->GetValue() )
02003                 _3DWorld->Show3DSliceActor();
02004         else
02005                 _3DWorld->Hide3DSliceActor();
02006 }

Here is the call graph for this function:

void wxQuantificationWidget::OnReplaceContourCalc (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2241 of file wxQuantificationWidget.cxx.

02242 {
02243 }

void wxQuantificationWidget::OnReplaceContourHypo (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2236 of file wxQuantificationWidget.cxx.

02237 {
02238 }

void wxQuantificationWidget::OnReplaceContourLumen (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2232 of file wxQuantificationWidget.cxx.

02233 {
02234 }

void wxQuantificationWidget::OnReplaceContourWall (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2228 of file wxQuantificationWidget.cxx.

02229 {
02230 }

void wxQuantificationWidget::OnSaveContours3D_BT ( wxCommandEvent &  event  ) 

Definition at line 1528 of file wxQuantificationWidget.cxx.

References marInterface::_experiment, _mar, marExperiment::getAxis(), and marAxis::SaveExisting3DContours().

01529 {
01530         
01531         wxFileDialog dialog(this, _T("Choose a file"), _T(""), _T(""), _T("*.maracas_contour3D"), wxSAVE );
01532         if (dialog.ShowModal() == wxID_OK)
01533         {               
01534                 std::string pathfilename(  (const char *)(dialog.GetPath().mb_str()) );
01535 //              std::string directory(  (const char *)(dialog.GetDirectory().mb_str()) );
01536 //              std::string filename(  (const char *)(dialog.GetFilename().mb_str())  );
01537 //              std::string pathfilename        = directory + "/" + filename;
01538 //              printf("EED> wxQuantificationWidget::OnSaveContours3D_BT  > %s\n",pathfilename.c_str());
01539                 FILE *ff;
01540                 ff=fopen(pathfilename.c_str(), "w+");
01541                   _mar->_experiment->getAxis()->SaveExisting3DContours(ff);
01542                 fclose(ff);
01543         }
01544         
01545 }

Here is the call graph for this function:

void wxQuantificationWidget::OnShowAll ( bool  value  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2271 of file wxQuantificationWidget.cxx.

02272 {
02273 }

void wxQuantificationWidget::OnShowCalc ( bool  value  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2285 of file wxQuantificationWidget.cxx.

02286 {
02287 }

void wxQuantificationWidget::OnShowHypo ( bool  value  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2290 of file wxQuantificationWidget.cxx.

02291 {
02292 }

void wxQuantificationWidget::OnShowLumen ( bool  value  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2280 of file wxQuantificationWidget.cxx.

02281 {
02282 }

void wxQuantificationWidget::OnShowSurface_CB ( wxCommandEvent &  event  ) 

Definition at line 728 of file wxQuantificationWidget.cxx.

References _3DWorld, _cb_ShowSurface, and vtk3DSurfaceWidget::SetSurfaceVisibility().

00729 {
00730     _3DWorld->SetSurfaceVisibility( _cb_ShowSurface->GetValue() );
00731 }

Here is the call graph for this function:

void wxQuantificationWidget::OnShowWall ( bool  value  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2276 of file wxQuantificationWidget.cxx.

02277 {
02278 }

void wxQuantificationWidget::OnSliderCalcPercentageScroll ( int  percentage  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2257 of file wxQuantificationWidget.cxx.

02258 {
02259 }

void wxQuantificationWidget::OnSliderDiscontinuityScroll ( int  percentage  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2247 of file wxQuantificationWidget.cxx.

02248 {
02249 }

void wxQuantificationWidget::OnSliderIsovalueScroll ( wxScrollEvent &  event  ) 

Definition at line 906 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DSurfaceWidget::SetSurfaceIsoValue().

00907 {
00908         wxBusyCursor wait;
00909         _3DWorld->SetSurfaceIsoValue( event.GetPosition() );
00910 }

Here is the call graph for this function:

void wxQuantificationWidget::OnSliderLumenPercentageScroll ( int  percentage  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2252 of file wxQuantificationWidget.cxx.

02253 {
02254 }

void wxQuantificationWidget::OnSliderOpacityScroll ( wxScrollEvent &  event  ) 

Definition at line 912 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DSurfaceWidget::SetSurfaceOpacity().

00913 {
00914         _3DWorld->SetSurfaceOpacity( event.GetPosition() );
00915 }

Here is the call graph for this function:

void wxQuantificationWidget::OnSliderSliceScroll ( wxScrollEvent &  event  ) 

Definition at line 785 of file wxQuantificationWidget.cxx.

References MoveSlider().

00785                                                                     {
00786         MoveSlider( event.GetPosition() );
00787 }

Here is the call graph for this function:

void wxQuantificationWidget::OnVisibleRing_CB ( wxCommandEvent &  event  ) 

Definition at line 1975 of file wxQuantificationWidget.cxx.

References _2DWorld, _3DWorld, _cb_VisibleRings, vtk2DQuantSliceWidget::Hide2DContourDiameters(), vtk3DQuantSurfaceWidget::Hide3DContourActor(), RefreshAxis(), vtk2DQuantSliceWidget::Show2DContourDiameters(), and vtk3DQuantSurfaceWidget::Show3DContourActor().

01975                                                                   {
01976         if ( _cb_VisibleRings->GetValue() ){
01977                 _3DWorld->Show3DContourActor();
01978                 _2DWorld->Show2DContourDiameters();
01979                 RefreshAxis();
01980         } else {
01981                 _3DWorld->Hide3DContourActor();
01982                 _2DWorld->Hide2DContourDiameters();
01983         }
01984 
01985         // GetNumberOfAxisPoints()
01986         /*  int noap = _mar->_experiment->getNumberOfAxes();
01987         for (int i= 0; i < noap;  i++ ) {
01988     if ( _show_rings == 0 ) {
01989         if ( _pRenderer3D != 0 )
01990         _pRenderer3D->RemoveActor(_contActor3D[i]);
01991     }
01992     else  {
01993         if ( _pRenderer3D != 0 )
01994         _pRenderer3D->AddActor(_contActor3D[i]);
01995     }
01996         }
01997         _pRenderWindow3D->Render(); // Maj*/
01998 }

Here is the call graph for this function:

void wxQuantificationWidget::Point_Intensity ( double  x,
double  y 
)

Definition at line 1222 of file wxQuantificationWidget.cxx.

01223 {
01224         //y = [ lindex [ _pRenderWindow3D->Configure(height) ] ->Item(4) ] - y - 1;
01225         
01226         //if ( _tmp_picker != 0 )  _tmp_picker->Delete();
01227         //_tmp_picker = vtkWorldPointPicker::New();
01228         //_pickWP     = tmp_picker2D->Pick(x, y, 0) _pRenderer2D
01229         //_pickWPPos  = tmp_picker2D->GetPickPosition();
01230         
01231         //x = [ lindex [ split [ lindex $pickWPPos 0 ] . ] 0 ]
01232         //y = [ lindex [ split [ lindex $pickWPPos 1 ] . ] 0 ]
01233         //y = GetCutSize()  - y - 1;
01234         //_intensity = GetIntensityCut(x, y);
01235 }

void wxQuantificationWidget::RefreshAxis (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 741 of file wxQuantificationWidget.cxx.

References _2DWorld, _3DWorld, _cb_VisibleRings, marInterface::_experiment, _mar, marExperiment::get2Dcontour(), marExperiment::get2DDiameterMax(), marExperiment::get2DDiameterMin(), marExperiment::get3DSlice(), marAxis::getActualQuant(), marExperiment::getAxis(), marExperiment::getSliceImage(), vtk3DSurfaceWidget::Render(), vtk2DQuantSliceWidget::SetContour(), vtk2DQuantSliceWidget::SetDiameterMax(), vtk2DQuantSliceWidget::SetDiameterMin(), wxImageViewerWidget::SetImage(), vtk3DQuantSurfaceWidget::SetImage(), and showVariables().

Referenced by wxMaracasQuantification::CleanContours(), MoveSlider(), OnVisibleRing_CB(), wxMaracasQuantification::RegenerateAll(), wxMaracasQuantification::RegenerateSignal(), and SetManualContour_ReplaceContour().

00741                                          {      
00742         int acuatQuant = _mar->_experiment->getAxis()->getActualQuant();
00743         vtkImageData* imagedata;
00744         vtkProbeFilter* image3D;
00745         vtkPolyData* vtkPolydata_2Dcontour;
00746         vtkPoints* vtkPoints_2DDiameterMin;
00747         vtkPoints* vtkPoints_2DDiameterMax;
00748 
00749         image3D                                 = _mar->_experiment->get3DSlice                 ( acuatQuant );
00750         imagedata                               = _mar->_experiment->getSliceImage              ( acuatQuant );
00751         vtkPolydata_2Dcontour   = _mar->_experiment->get2Dcontour               ( acuatQuant );
00752         vtkPoints_2DDiameterMin = _mar->_experiment->get2DDiameterMin   ( acuatQuant );
00753         vtkPoints_2DDiameterMax = _mar->_experiment->get2DDiameterMax   ( acuatQuant );
00754 
00755         _3DWorld->SetImage(image3D);
00756         _3DWorld->Render( );
00757         _2DWorld->SetImage(imagedata);
00758 
00759         if (_cb_VisibleRings->GetValue()==true){
00760                 _2DWorld->SetContour( vtkPolydata_2Dcontour );
00761                 _2DWorld->SetDiameterMin( vtkPoints_2DDiameterMin , true );
00762                 _2DWorld->SetDiameterMax( vtkPoints_2DDiameterMax , true );
00763         }
00764         showVariables( );
00765 
00766 // PS ->        marContour * tutu=_mar->_experiment->getAxis()->getContour( event.GetPosition() );
00767 //      cnt = _mar->_experiment->generateContour(event.GetPosition(), -1, -1, NULL);
00768 // PS ->        tutu=_mar->_experiment->getAxis()->getContour( event.GetPosition() );
00769 //      _2DWorld->SetContour( cnt );
00770 
00771 
00772 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxQuantificationWidget::Reload_Axis ( bool  mask,
bool  step 
)

Definition at line 978 of file wxQuantificationWidget.cxx.

00979 {
00980 /*  if ( step  ) {
00981 this->redoAxisSpline();
00982 if ( pRenderer3D != 0 ) {
00983 _pRenderer3D->RemoveActor(GetSphereActorName(sphere_quant1));
00984 _pRenderer3D->RemoveActor(GetSphereActorName(sphere_quant2));
00985 }
00986 this->DeleteSphere(sphere_quant1);
00987 this->DeleteSphere(sphere_quant2);
00988 _given_points = 0;
00989 }
00990 else if ( mask  ) {
00991 this->recalculeAxisSignal()
00992 }
00993 
00994   if ( ( mask || step ) && _shown ) {
00995   tk_messageBox -icon info -message "$string_table::str_quant_will_be_erased" -type ok
00996   catch { renderer_$widgets(work3D) RemoveActor hs_actor_$widgets(work3D) }
00997   catch { hs_actor_$widgets(work3D) Delete }
00998   catch { hs_mapper_$widgets(work3D) Delete }
00999   catch { hs_grid_$widgets(work3D) Delete }
01000   catch { hs_points_$widgets(work3D) Delete }
01001   catch { hs_poly_line_$widgets(work3D) Delete }
01002   foreach i $rings_index {
01003   catch { renderer_$widgets(work3D) RemoveActor cont3DActor_{$widgets(work3D)}_{$i} }
01004   catch { cont3DActor_{$widgets(work3D)}_{$i}    Delete }
01005   catch { cont3DMapper_{$widgets(work3D)}_{$i}   Delete }
01006   catch { cont3DGrid_{$widgets(work3D)}_{$i}     Delete }
01007   catch { cont3DPolyLine_{$widgets(work3D)}_{$i} Delete }
01008   catch { cont3DPoints_{$widgets(work3D)}_{$i}   Delete }
01009   
01010    }
01011    rings_index = list;
01012    _area = 0.00;
01013    _peri = 0.00;
01014    _darea = 0.00;
01015    _dperi = 0.00;
01016    _dmax = 0.00;
01017    _dmin = 0.00;
01018    _davg = 0.00;
01019    _sten = 0.00;
01020    _quant_shown = false;
01021    this->clean_graph();  // old BLT
01022    
01023         _first_quant = 1;
01024         _range(getIntensityRange());
01025         _resample(getVTKSource());
01026         _bounds(resample(GetBounds());
01027         
01028          // Axis
01029          set points [ getAxis_dll ]
01030          set nP [ expr [ llength $points ] / 3 ]
01031          $widgets(sclSlice) configure \
01032          -from 0 \
01033          -to   [ expr [ getNumberOfAxisPoints_dll ] - 1 ] \
01034          -resolution 1
01035          
01036           // Poly-line actor construction...
01037           catch { renderer_$widgets(work3D) RemoveActor axisActor_$widgets(work3D) }
01038           catch { axisActor_$widgets(work3D)    Delete }
01039           catch { axisMapper_$widgets(work3D)   Delete }
01040           catch { axisGrid_$widgets(work3D)     Delete }
01041           catch { axisPolyLine_$widgets(work3D) Delete }
01042           catch { axisPoints_$widgets(work3D)   Delete }
01043           
01044            axisPoints = vtkPoints::New();
01045            axisPolyLine = vtkPolyLine::New();
01046            axisPolyLine->GetPointIds()->SetNumberOfIds( nP);
01047            vox_size = getActualVoxelSize();
01048            
01049                 for { set i 0 } { $i < $nP } { incr i } {
01050                 
01051                  [ axisPolyLine_$widgets(work3D) GetPointIds ] SetId $i $i
01052                  set p [ \
01053                  PointCoord \
01054                  [ lindex $points [ expr $i * 3 + 0 ] ] \
01055                  [ lindex $points [ expr $i * 3 + 1 ] ] \
01056                  [ lindex $points [ expr $i * 3 + 2 ] ] \
01057                  [ lindex $bounds 0 ] \
01058                  [ lindex $bounds 2 ] \
01059                  [ lindex $bounds 4 ] \
01060                  $vox_size $vox_size $vox_size \
01061                  ]
01062                  axisPoints->InsertNextPoint( lindex $p 0 ] [ lindex $p 1 ] [ lindex $p 2 ]
01063                  
01064                   }
01065                   
01066                    axisGrid = vtkUnstructuredGrid::New();
01067                    axisGrid->Allocate( 1, 1);
01068                    axisGrid->InsertNextCell(  [ axisPolyLine->GetCellType(),  ] \
01069                    [ axisPolyLine_$widgets(work3D) GetPointIds ]
01070                    axisGrid->SetPoints(axisPoints);
01071                    
01072                         axisMapper = vtkDataSetMapper::New();
01073                         axisMapper->SetInput(axisGrid);
01074                         axisMapper->ImmediateModeRenderingOn();
01075                         
01076                          axisActor = vtkActor::New();
01077                          axisActor->SetMapper(axisMapper);
01078                          axisActor->GetProperty()->BackfaceCullingOn();
01079                          axisActor->GetProperty()->SetDiffuseColor(1, 0, 0);
01080                          
01081                           _pRenderer3D->AddActor(axisActor);
01082                           
01083                            _pRenderWindow3D->Render();
01084                            _pRenderWindow2D->Render();
01085                            
01086                                 _pRenderer3D->AddActor(outlineActor));
01087                                 
01088                                  this->controls(0);
01089                                  
01090                                   }
01091                                   if ( _given_points == 1 )
01092                                   this->controls(1);
01093                                   
01094                                    if ( _quant_shown )
01095                                    this->update_blt_all_meassures();
01096 */
01097 }

void wxQuantificationWidget::Reset_sl_Slider (  )  [private]

Definition at line 713 of file wxQuantificationWidget.cxx.

References marInterface::_experiment, _mar, _sl_Slice, and marExperiment::getNumberOfSlices().

Referenced by ResetAxis(), and ShowMARACASData().

00714 {
00715         int nos = _mar->_experiment->getNumberOfSlices( );
00716         _sl_Slice->SetRange(0, nos-1);
00717         _sl_Slice->SetValue( (nos-1)/2 );
00718 //      _pl_cntlHealthySick->Reset_sl_Slider(nos);
00719 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxQuantificationWidget::ResetAxis (  ) 
void wxQuantificationWidget::Set3DEndRegionSliceActor ( int  type,
int  k 
) [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2089 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::Set3DEndRegionSliceActor().

02089                                                                      {
02090         _3DWorld->Set3DEndRegionSliceActor(type,k);
02091 }

Here is the call graph for this function:

void wxQuantificationWidget::Set3DRegionSliceActor ( int  type,
int  k1,
int  k2 
) [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2081 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::Set3DRegionSliceActor().

02081                                                                            {
02082         _3DWorld->Set3DRegionSliceActor(type,k1,k2);
02083 }

Here is the call graph for this function:

void wxQuantificationWidget::Set3DStartRegionSliceActor ( int  type,
int  k 
) [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2085 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::Set3DStartRegionSliceActor().

02085                                                                        {
02086         _3DWorld->Set3DStartRegionSliceActor(type,k);
02087 }

Here is the call graph for this function:

void wxQuantificationWidget::Set_control (  ) 

Definition at line 251 of file wxQuantificationWidget.cxx.

References _bt_AddContour3D, _bt_CleanAllContours3D, _bt_CleanContour3D, _bt_SaveContours3D, _cb_HealthySlice, _cb_Perpendicular, _cb_ShowSurface, _cb_VisibleRings, _pl_cntlHealthySick2, _rb_Color, _rb_GreyScale, _sl_Isovalue, _sl_Opacity, _sl_Slice, _st_Isovalue, _st_Label1, _st_Label2, _st_Label3, _st_Label6, _st_Label7, _st_Label8, _st_LabelRef101, _st_LabelRef102, _st_LabelRef103, _st_Opacity, _st_Slice, _st_Value1, _st_Value2, _st_Value3, _st_Value6, _st_Value7, _st_Value8, _st_ValueRef101, _st_ValueRef102, _st_ValueRef103, _wxStenosisPanel, CreateStenosisPanel(), marDictionary::GetString(), ID_BUTTON_CLEAN, ID_BUTTON_CLEAN_ALL, ID_BUTTON_CONTOUR, ID_BUTTON_SAVE_CONTOURS3D, ID_CHECKBOX_HEALTHY, ID_CHECKBOX_PERPENDICULAR, ID_CHECKBOX_SHOW_SURFACE, ID_CHECKBOX_VISIBLE_RINGS, ID_RADIOBUTTON_COLOR, ID_RADIOBUTTON_GREYSCALE, ID_SLIDER_ISOVALUE, ID_SLIDER_OPACITY, ID_SLIDER_SLICE, panel_left_down, and panel_right_down.

00251                                         {
00252         marDictionary marDict;
00253         
00254         // wxChart
00255 
00256         // EED 
00257         //_Chart = new wxChart( this, ID_QUANTIF3D );
00258         //_Chart->SetMaxWidthHeight(500,300);
00259         //_Chart->SetBackgroundColour(*wxWHITE);
00260 
00261          _wxStenosisPanel = CreateStenosisPanel();
00262 
00263         //wxButton
00264         // PS ->   _bt_Point = new wxButton( this, ID_BUTTON_POINT, "Point...",
00265         // PS ->                             wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator);
00266 //      _bt_Healthy = new wxButton( panel_left, ID_BUTTON_HEALTHY, "Healthy Slice",
00267 //              wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator);
00268 
00269 
00270 
00271         // PS ->   _bt_ContourCalculated = new wxButton( this, ID_BUTTON_CALCULATED, "Contour calculated",
00272         // PS ->                                         wxDefaultPosition, wxDefaultSize, 0, wxDefaultValidator);
00273         // PS ->   _bt_Pause = new wxButton( this, ID_BUTTON_PAUSE, "Pause",
00274         // PS ->                             wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator);
00275         // PS ->   _bt_Delete = new wxButton( this, ID_BUTTON_DELETE, "Delete Quantification",
00276         // PS ->                              wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator);
00277 
00278 
00279         
00280 
00281         _cb_HealthySlice        = new wxCheckBox( panel_left_down, ID_CHECKBOX_HEALTHY, wxString(marDict.GetString(205), wxConvUTF8)); // "Healthy slice"
00282         _cb_HealthySlice->SetValue(true);
00283 //EEDxx 2.6
00284 //      _cb_HealthySlice->SetBackgroundColour(*wxLIGHT_GREY);
00285         _cb_Perpendicular       = new wxCheckBox( panel_left_down, ID_CHECKBOX_PERPENDICULAR, wxString(marDict.GetString(210), wxConvUTF8)); //"Perpendicular section"
00286         _cb_Perpendicular->SetValue(true);
00287 //EEDxx 2.6
00288 //      _cb_Perpendicular->SetBackgroundColour(*wxLIGHT_GREY);
00289 
00290         _rb_GreyScale           = new wxRadioButton( panel_left_down, ID_RADIOBUTTON_GREYSCALE, wxString(marDict.GetString(230), wxConvUTF8), wxDefaultPosition,wxDefaultSize,wxRB_GROUP  ); //"greyscale    "
00291         _rb_GreyScale->SetValue(true);
00292 //EEDxx 2.6
00293 //      _rb_GreyScale->SetBackgroundColour(*wxLIGHT_GREY);
00294 
00295         _rb_Color                       = new wxRadioButton( panel_left_down, ID_RADIOBUTTON_COLOR, wxString(marDict.GetString(235), wxConvUTF8), wxDefaultPosition,wxDefaultSize );//"color    "
00296         _rb_Color->SetValue(false);
00297 //EEDxx 2.6
00298 //      _rb_Color->SetBackgroundColour(*wxLIGHT_GREY);
00299 
00300         _cb_VisibleRings        = new wxCheckBox( panel_left_down, ID_CHECKBOX_VISIBLE_RINGS, wxString(marDict.GetString(215), wxConvUTF8));//"Visible rings"
00301         _cb_VisibleRings->SetValue(true);
00302 //EEDxx 2.6
00303 //      _cb_VisibleRings->SetBackgroundColour(*wxLIGHT_GREY);
00304         _cb_ShowSurface         = new wxCheckBox( panel_left_down, ID_CHECKBOX_SHOW_SURFACE, wxString(marDict.GetString(220), wxConvUTF8));//"Show Surface"
00305         _cb_ShowSurface->SetValue(true);
00306 //EEDxx 2.6
00307 //      _cb_ShowSurface->SetBackgroundColour(*wxLIGHT_GREY);
00308 
00309         
00310         _bt_AddContour3D                = new wxButton( panel_left_down, ID_BUTTON_CONTOUR, wxString(marDict.GetString(245), wxConvUTF8) ,//"Add mark contour"
00311                                        wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator);
00312         _bt_CleanContour3D              = new wxButton( panel_left_down, ID_BUTTON_CLEAN, wxString(marDict.GetString(250), wxConvUTF8) ,//"Erase mark contours"
00313                                      wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator);
00314 
00315         _bt_CleanAllContours3D  = new wxButton( panel_left_down, ID_BUTTON_CLEAN_ALL, wxString(marDict.GetString(253), wxConvUTF8) ,//"Erase all mark contours"
00316                                      wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator);
00317 
00318         _bt_SaveContours3D      = new wxButton( panel_left_down, ID_BUTTON_SAVE_CONTOURS3D, wxString(marDict.GetString(248), wxConvUTF8) ,//"Save contours 3D"
00319                                      wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT, wxDefaultValidator);
00320 
00321         //wxSlider
00322         _sl_Slice    = new wxSlider( panel_left_down, ID_SLIDER_SLICE   , 0, 0, 10000, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS );
00323         _sl_Isovalue = new wxSlider( panel_left_down, ID_SLIDER_ISOVALUE, 0, 0, 10000, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS );
00324         _sl_Opacity  = new wxSlider( panel_left_down, ID_SLIDER_OPACITY , 0, 0, 100, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS );
00325 //EEDxx 2.6
00326 //      _sl_Slice->SetBackgroundColour(*wxLIGHT_GREY);
00327 //      _sl_Isovalue->SetBackgroundColour(*wxLIGHT_GREY);
00328 //      _sl_Opacity->SetBackgroundColour(*wxLIGHT_GREY);
00329 
00330         // size
00331         _sl_Slice->SetSize(1800,16);
00332         _sl_Isovalue->SetSize(300,16);
00333         _sl_Opacity->SetSize(300,16);
00334         
00335         // Text
00336         _st_Slice        = new wxStaticText(panel_left_down, -1, wxString(marDict.GetString(90), wxConvUTF8) ); //"Slice "
00337         _st_Isovalue = new wxStaticText(panel_left_down, -1, wxString(marDict.GetString(240), wxConvUTF8) ); //"Isovalue"
00338         _st_Opacity  = new wxStaticText(panel_left_down, -1, wxString(marDict.GetString(225), wxConvUTF8) ); //"Opacity "
00339 //EEDxx 2.6
00340 //      _st_Slice->SetBackgroundColour(*wxLIGHT_GREY);
00341 //      _st_Isovalue->SetBackgroundColour(*wxLIGHT_GREY);
00342 //      _st_Opacity->SetBackgroundColour(*wxLIGHT_GREY);
00343         
00344         
00345 //      _st_Label0 = new wxStaticText(this, -1, "Partial Axis Lenght");
00346 //      _st_Value0 = new wxStaticText(this, -1, "0.00");
00347 //      _st_Label0->SetBackgroundColour(*wxLIGHT_GREY);
00348 //      _st_Value0->SetBackgroundColour(*wxLIGHT_GREY);
00349         _st_Label1 = new wxStaticText(this, -1, wxString(marDict.GetString(380), wxConvUTF8) ); //"Total Axis Lenght"
00350         _st_Value1 = new wxStaticText(this, -1, _T("0.00"));
00351 
00352 //EEDxx 2.6
00353 //      _st_Label1->SetBackgroundColour(*wxLIGHT_GREY);
00354 //      _st_Value1->SetBackgroundColour(*wxLIGHT_GREY);
00355 
00356         _st_Label2 = new wxStaticText(this, -1, wxString(marDict.GetString(390), wxConvUTF8) );//"Area"
00357         _st_Value2 = new wxStaticText(this, -1, _T("0.00"));
00358 //EEDxx 2.6
00359 //      _st_Label2->SetBackgroundColour(*wxLIGHT_GREY);
00360 //      _st_Value2->SetBackgroundColour(*wxLIGHT_GREY);
00361 
00362         _st_Label3 = new wxStaticText(this, -1, wxString(marDict.GetString(400), wxConvUTF8) );//"Perimeter"
00363         _st_Value3 = new wxStaticText(this, -1, _T("0.00") );
00364 //EEDxx 2.6
00365 //      _st_Label3->SetBackgroundColour(*wxLIGHT_GREY);
00366 //      _st_Value3->SetBackgroundColour(*wxLIGHT_GREY);
00367 
00368 
00369 //      _st_Label4 = new wxStaticText(this, -1, "Diameter from area");
00370 //      _st_Value4 = new wxStaticText(this, -1, "0.00");
00371 //      _st_Label4->SetBackgroundColour(*wxLIGHT_GREY);
00372 //      _st_Value4->SetBackgroundColour(*wxLIGHT_GREY);
00373 //      _st_Label5 = new wxStaticText(this, -1, "Diameter from perimeter");
00374 //      _st_Value5 = new wxStaticText(this, -1, "0.00");
00375 //      _st_Label5->SetBackgroundColour(*wxLIGHT_GREY);
00376 //      _st_Value5->SetBackgroundColour(*wxLIGHT_GREY);
00377         _st_Label6 = new wxStaticText(this, -1, wxString(marDict.GetString(405), wxConvUTF8) );//"Minimum Diameter"
00378         _st_Value6 = new wxStaticText(this, -1, _T("0.00"));
00379 //EEDxx 2.6
00380 //      _st_Label6->SetBackgroundColour(*wxLIGHT_GREY);
00381 //      _st_Value6->SetBackgroundColour(*wxLIGHT_GREY);
00382         _st_Label7 = new wxStaticText(this, -1, wxString(marDict.GetString(410), wxConvUTF8) );//"Maximum Diameter"
00383         _st_Value7 = new wxStaticText(this, -1, _T("0.00"));
00384 //EEDxx 2.6
00385 //      _st_Label7->SetBackgroundColour(*wxLIGHT_GREY);
00386 //      _st_Value7->SetBackgroundColour(*wxLIGHT_GREY);
00387         _st_Label8 = new wxStaticText(this, -1, wxString(marDict.GetString(415), wxConvUTF8) );//"Average Diameter"
00388         _st_Value8 = new wxStaticText(this, -1, _T("0.00"));
00389 //EEDxx 2.6
00390 //      _st_Label8->SetBackgroundColour(*wxLIGHT_GREY);
00391 //      _st_Value8->SetBackgroundColour(*wxLIGHT_GREY);
00392         // EED -> _st_Label9 = new wxStaticText(this, -1, "Stenosis");
00393         // EED -> _st_Value9 = new wxStaticText(this, -1, "0.00");
00394         // EED -> _st_Label9->SetBackgroundColour(*wxLIGHT_GREY);
00395         // EED -> _st_Value9->SetBackgroundColour(*wxLIGHT_GREY);
00396 
00397         _st_LabelRef101 = new wxStaticText(this, -1, wxString(marDict.GetString(385), wxConvUTF8) );//"Seg. Length"
00398         _st_ValueRef101 = new wxStaticText(this, -1, _T("--"));
00399 //EEDxx 2.6
00400 //      _st_LabelRef101->SetBackgroundColour(*wxLIGHT_GREY);
00401 //      _st_ValueRef101->SetBackgroundColour(*wxLIGHT_GREY);
00402         _st_LabelRef102 = new wxStaticText(this, -1, wxString(marDict.GetString(395), wxConvUTF8) );//"Ref. Area"
00403         _st_ValueRef102 = new wxStaticText(this, -1, _T("--"));
00404 //EEDxx 2.6
00405 //      _st_LabelRef102->SetBackgroundColour(*wxLIGHT_GREY);
00406 //      _st_ValueRef102->SetBackgroundColour(*wxLIGHT_GREY);
00407         _st_LabelRef103 = new wxStaticText(this, -1, wxString(marDict.GetString(420), wxConvUTF8) );//"Ref. Average Diam."
00408         _st_ValueRef103 = new wxStaticText(this, -1, _T("--"));
00409 //EEDxx 2.6
00410 //      _st_LabelRef103->SetBackgroundColour(*wxLIGHT_GREY);
00411 //      _st_ValueRef103->SetBackgroundColour(*wxLIGHT_GREY);
00412 
00413         _pl_cntlHealthySick2 = new wxPanelControlsHealthySickSlice2(panel_right_down,this);
00414 
00415 //EEDxx 2.6
00416 //   panel_left->SetBackgroundColour(*wxLIGHT_GREY);
00417 //      panel_right_up->SetBackgroundColour(*wxLIGHT_GREY);
00418 //      panel_right_down->SetBackgroundColour(*wxLIGHT_GREY);
00419 //      panel_splitter_right->SetBackgroundColour(*wxLIGHT_GREY);
00420 //      panel_splitter->SetBackgroundColour(*wxLIGHT_GREY);
00421  
00422 }

Here is the call graph for this function:

void wxQuantificationWidget::Set_Data (  ) 

Definition at line 626 of file wxQuantificationWidget.cxx.

References _actual_area, _actual_darea, _actual_davg, _actual_dmax, _actual_dmin, _actual_dperi, _actual_partial, _actual_peri, _actual_sten, _axis_index, _given_points, _nClicks, _quant_shown, _quantifing, and _shown.

00627 {
00628         _axis_index                             = -1;
00629         _given_points                   = 0;
00630         _nClicks                                = 0;
00631         _quantifing                             = 0;
00632         
00633 //EED   _real_first_point_quant = -1;
00634 //EED   _real_last_point_quant  = -1;
00635         
00636         _shown                                  = 0;
00637         _quant_shown                    = 0;
00638         
00639         _actual_area                    = 0.00;
00640         _actual_peri                    = 0.00;
00641         _actual_darea                   = 0.00;
00642         _actual_dperi                   = 0.00;
00643         _actual_dmax                    = 0.00;
00644         _actual_dmin                    = 0.00;
00645         _actual_davg                    = 0.00;
00646         _actual_sten                    = 0.00;
00647         _actual_partial                 = 0.00;
00648         
00649         //_actual_total   = _mar->_experiment->GetAxisLength();
00650         //_st_Value1->SetLabel(_actual_total);
00651         //return( maracas_data::experiment->get_work_axis( )->get_total_length( ) );
00652 }

void wxQuantificationWidget::Set_plane_3D ( double  x,
double  y 
)

Definition at line 1170 of file wxQuantificationWidget.cxx.

01171 {
01172 /*
01173 _pRenderer3D->IsInViewport(0, 0);
01174 
01175  busy hold
01176  Update();
01177  
01178   if ( _tmp_world_picker3D != 0)  tmp_world_picker3D->Delete();
01179   
01180    y =[ [ lindex [ $widgets(work3D) configure - height ] 4 ] - y - 1 ]
01181    
01182     _pickWPPos = Pick_point_local_actor $x $y _pRenderer3D _isoActor3D 0.001 ]
01183         
01184          _xc = _pickWPPos->item(1);
01185          _yc = _pickWPPos->item(2);
01186          _zc = _pickWPPos->item(3);
01187          #Chercher le point de l'axe le plus proche au point choisi sur la surface
01188          _indP = axisGrid3D->FindPoint(_xc, _yc, _zc);
01189          _coordsP = axisGrid3D->GetPoint(_indP);
01190          _xc =[lindex _coordsP 0]
01191          _yc =[lindex _coordsP 1]
01192          _zc =[lindex _coordsP 2]
01193          
01194           if ( _indP >= 0 )
01195           {
01196           $widgets(sclSlice) set $indP
01197           this->Set_Plane();
01198           }
01199           
01200            busy release .
01201            update
01202            
01203                 _pRenderWindow3D->Render();
01204         */
01205 }

void wxQuantificationWidget::SetAnalysisTypeStenosis ( int  analysisTypeStenosis  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2125 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::SetAnalysisTypeStenosis().

02125                                                                             {
02126         _3DWorld->SetAnalysisTypeStenosis(analysisTypeStenosis);
02127 }

Here is the call graph for this function:

void wxQuantificationWidget::SetHealthySlice ( int  healthySlice = -1  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 1731 of file wxQuantificationWidget.cxx.

References _3DWorld, _cb_HealthySlice, marInterface::_experiment, _mar, _sl_Slice, marExperiment::get3Dcontour(), marExperiment::getAxis(), GetMaxActualSlice(), marExperiment::getNumberOfSlices(), GetSizeHealthyRegion(), vtk3DQuantSurfaceWidget::InitListContourActor(), vtk3DQuantSurfaceWidget::Set3DContourActor(), vtk3DQuantSurfaceWidget::Set3DHealthySliceActor(), marAxis::setHealthySlice(), vtk3DQuantSurfaceWidget::Show3DHealthySliceActor(), and showVariables().

01731                                                             {   
01732         if (healthySlice==-1) {
01733                 healthySlice=_sl_Slice->GetValue();
01734         }
01735         int sizeHealthyRegion   = GetSizeHealthyRegion();
01736         int maxSlider                   = GetMaxActualSlice();
01737         int healthySliceStart   = healthySlice - sizeHealthyRegion;
01738         int healthySliceEnd             = healthySlice + sizeHealthyRegion;
01739         if (healthySliceStart < 0)         { healthySliceStart = 0;                     }
01740         if (healthySliceEnd   < 0)         { healthySliceEnd   = 0;                     }
01741         if (healthySliceStart > maxSlider) { healthySliceStart = maxSlider; }
01742         if (healthySliceEnd   > maxSlider) { healthySliceEnd   = maxSlider; }
01743         _mar->_experiment->getAxis()->setHealthySlice( healthySliceStart, healthySlice , healthySliceEnd);
01744 
01745         _3DWorld->Set3DHealthySliceActor(  );
01746         _3DWorld->Show3DHealthySliceActor();
01747         _cb_HealthySlice->SetValue(true);       
01748         _3DWorld->InitListContourActor( 1, _mar->_experiment->getNumberOfSlices() );
01749         int iHealthySlice;
01750         for ( iHealthySlice=healthySliceStart ; iHealthySlice<=healthySliceEnd ; iHealthySlice++){
01751                 _3DWorld->Set3DContourActor( iHealthySlice , _mar->_experiment->get3Dcontour(iHealthySlice) , true ,1);
01752         }
01753         showVariables();
01754 }

Here is the call graph for this function:

void wxQuantificationWidget::SetManualContour_2DWorld ( bool  ok  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2129 of file wxQuantificationWidget.cxx.

References _2DWorld, wxImageViewerWidget::CreateNewManualContour(), wxImageViewerWidget::EraseManualContour(), wxImageViewerWidget::Render(), and wxImageViewerWidget::SetState().

Referenced by MoveSlider().

02129                                                             {
02130 
02131         if (ok==false){ 
02132                 _2DWorld->SetState(1);
02133                 _2DWorld->EraseManualContour();
02134         }
02135         if (ok==true){  
02136                 _2DWorld->SetState(2);
02137                 _2DWorld->CreateNewManualContour();
02138                 _2DWorld->Render();
02139 
02140         }
02141 
02142 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxQuantificationWidget::SetManualContour_AddPoint_2DWorld (  )  [virtual]
void wxQuantificationWidget::SetManualContour_ErasePoint_2DWorld (  ) 

Definition at line 2157 of file wxQuantificationWidget.cxx.

References _2DWorld, and wxImageViewerWidget::SetStateManualContour().

02157                                                                 {
02158         _2DWorld->SetStateManualContour(3);
02159 }

Here is the call graph for this function:

void wxQuantificationWidget::SetManualContour_InsertPoint_2DWorld (  ) 

Definition at line 2153 of file wxQuantificationWidget.cxx.

References _2DWorld, and wxImageViewerWidget::SetStateManualContour().

02153                                                                  {
02154         _2DWorld->SetStateManualContour(2);
02155 }

Here is the call graph for this function:

void wxQuantificationWidget::SetManualContour_MovePoint_2DWorld (  ) 

Definition at line 2161 of file wxQuantificationWidget.cxx.

References _2DWorld, and wxImageViewerWidget::SetStateManualContour().

02161                                                                {
02162         _2DWorld->SetStateManualContour(4);
02163 }

Here is the call graph for this function:

void wxQuantificationWidget::SetManualContour_ReplaceContour (  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2165 of file wxQuantificationWidget.cxx.

References _2DWorld, _bak_ActualSlice, marInterface::_experiment, _mar, marExperiment::getAxis(), wxImageViewerWidget::GetNumberOfPointsSplineManualContour(), wxImageViewerWidget::GetVectorPointsXManualContour(), wxImageViewerWidget::GetVectorPointsYManualContour(), RefreshAxis(), and marAxis::replaceContour2D().

Referenced by MoveSlider().

02165                                                             {
02166         if (_bak_ActualSlice!=-1){
02167                 int size                = _2DWorld->GetNumberOfPointsSplineManualContour();
02168                 double *vx              = _2DWorld->GetVectorPointsXManualContour();
02169                 double *vy              = _2DWorld->GetVectorPointsYManualContour();
02170                 _mar->_experiment->getAxis()->replaceContour2D(_bak_ActualSlice,size,vx,vy);
02171                 free(vx);
02172                 free(vy);
02173                 RefreshAxis();
02174                 _bak_ActualSlice=-1;
02175         }
02176 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxQuantificationWidget::SetSizeHealthyRegion ( int  size  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2072 of file wxQuantificationWidget.cxx.

References _sizeHealthyRegion.

02072                                                          {
02073         _sizeHealthyRegion = size;
02074 }

void wxQuantificationWidget::SetSlider_Isovalue_Opacity ( int  isovalue,
int  opacity 
)

Definition at line 721 of file wxQuantificationWidget.cxx.

References _3DWorld, _sl_Isovalue, _sl_Opacity, vtk3DSurfaceWidget::SetSurfaceIsoValue(), and vtk3DSurfaceWidget::SetSurfaceOpacity().

Referenced by wxMaracasQuantification::SetSlider_Isovalue_Opacity().

00721                                                                                {
00722         _sl_Isovalue->SetValue(isovalue);
00723         _sl_Opacity->SetValue(opacity);
00724         _3DWorld->SetSurfaceIsoValue( isovalue );
00725         _3DWorld->SetSurfaceOpacity( opacity );
00726 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxQuantificationWidget::Show3DEndRegionSliceActor ( int  type  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2101 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::Show3DEndRegionSliceActor().

02101                                                                 {
02102         _3DWorld->Show3DEndRegionSliceActor(type);
02103 }

Here is the call graph for this function:

void wxQuantificationWidget::Show3DRegionSliceActor ( int  type  ) 

Definition at line 2093 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::Show3DRegionSliceActor().

02093                                                              {
02094         _3DWorld->Show3DRegionSliceActor(type);
02095 }

Here is the call graph for this function:

void wxQuantificationWidget::Show3DStartRegionSliceActor ( int  type  )  [virtual]

Reimplemented from wxQuantificationWidget_base.

Definition at line 2097 of file wxQuantificationWidget.cxx.

References _3DWorld, and vtk3DQuantSurfaceWidget::Show3DStartRegionSliceActor().

02097                                                                   {
02098         _3DWorld->Show3DStartRegionSliceActor(type);
02099 }

Here is the call graph for this function:

void wxQuantificationWidget::Show_Max_Min_Diameters (  ) 

Definition at line 1100 of file wxQuantificationWidget.cxx.

01101 {
01102         
01103 /*
01104 slice = widgets(sclSlice);
01105 wxList *lmax = this->getMaximumLine();
01106 wxList *lmin = this->getMinimumLine();
01107 
01108  if ( _pRenderer2D != 0 )
01109         {
01110         _pRenderer2D->RemoveActor(dMin_actor);
01111         _pRenderer2D->RemoveActor(dMax_actor);
01112         }
01113         if ( dMax_actor != 0 )  dMax_actor->Delete();
01114     if ( dMax_mapper != 0 )  dMax_mapper->Delete();
01115     if ( dMax_line != 0 )  dMax_line->Delete();
01116     if ( dMin_actor != 0 )  dMin_actor->Delete();
01117     if ( dMin_mappe != 0 )  dMin_mappe->Delete();
01118     if ( dMax_actor != 0 )  dMax_actor->Delete();
01119     if ( dMin_line != 0 )  dMin_line->Delete();
01120         
01121          
01122           dMax_line = vtkLineSource::New();
01123           dMax_line->SetPoint1( lmax->Getfirst() , lmax->item(1), 0.0 );
01124           dMax_line->SetPoint2( lmax->Item(2), lmax->Item(3), 0.0 );
01125           
01126            dMax_mapper =  vtkPolyDataMapper::New();
01127            dMax_mapper->SetInput(dMax_line->GetOutput());
01128            dMax_mapper->ImmediateModeRenderingOn();
01129            
01130                 dMax_actor = vtkActor::New();
01131                 dMax_actor->SetMapper(dMax_mapper));
01132                 dMax_actor->GetProperty()->SetColor(1.00, 0.00, 0.00);
01133                 
01134                  dMin_line = vtkLineSource::New();
01135                  dMin_line->SetPoint1( lmin->GetFirst(), lmin->Item(1), 0.0);
01136                  dMin_line->SetPoint2( lmin->Item(2),    lmin->Item(3), 0.0);
01137                  
01138                   dMin_mapper = vtkPolyDataMapper::New();
01139                   dMin_mapper->SetInput(dMin_line->GetOutput());
01140                   dMin_mapper->ImmediateModeRenderingOn();
01141                   
01142                    dMin_actor = vtkActor::New();
01143                    dMin_actor->SetMapper(dMin_mapper);
01144                    dMin_actor->GetProperty()->SetColor(0.00, 0.00, 1.00);
01145                    
01146                         array set arr( params(), 0 )
01147                         if ( arr(e_debug_diameters) == 1 )
01148                         {
01149                         _prenderer2D->AddActor(dMax_actor);
01150                         _prenderer2D->AddActor(dMin_actor);
01151                         
01152                          }
01153                          
01154                           //GetRenderWindow Render
01155         */
01156 }

void wxQuantificationWidget::ShowMARACASData ( marInterface mar  ) 

Definition at line 672 of file wxQuantificationWidget.cxx.

References _2DWorld, _3DWorld, marInterface::_experiment, _mar, _pl_cntlHealthySick2, _sl_Isovalue, _sl_Opacity, _wxStenosisPanel, wxImageViewerWidget::ConstructVTK(), marExperiment::getAxis(), marExperiment::getDynData(), marExperiment::getNumberOfSlices(), wxPnlSearchStenosis::GetPanelAutomatic(), wxPanelControlsHealthySickSlice2::GetPnlSearStenosis(), marExperiment::getSliceImage(), marDynData::getVolume(), vtk3DSurfaceWidget::InitCameraReset(), min, panel_splitter_right, marExperiment::prepareQuantification(), Reset_sl_Slider(), marAxis::setActualQuant(), wxPnlSearchStenosisAutomatic::SetRange(), and vtk3DQuantSurfaceWidget::ShowMARACASDataAndAxe().

Referenced by wxMaracasQuantification::LoadData().

00673 {
00674         double        min, max;
00675         vtkImageData* imagedata;
00676         int nos;
00677         int actualQuant=-1;
00678         
00679         wxBusyCursor wait;
00680         _mar = mar;
00681         _mar->_experiment->prepareQuantification( );
00682         nos = _mar->_experiment->getNumberOfSlices( );
00683         actualQuant = (int) (nos-1)/2 ;
00684         imagedata = _mar->_experiment->getSliceImage( actualQuant );
00685         _mar->_experiment->getAxis()->setActualQuant( actualQuant ) ;
00686         _mar->_experiment->getDynData( )->getVolume( )->getMinMax( min, max );
00687         
00688         _3DWorld->ShowMARACASDataAndAxe( mar );
00689         _3DWorld->InitCameraReset( );
00690         _2DWorld->ConstructVTK( imagedata );
00691         
00692         // GUI
00693         _sl_Isovalue->SetRange( (int)min, (int)max);
00694         _sl_Isovalue->SetValue( (int)(max/4) );
00695         _sl_Opacity->SetValue( 50 );
00696         Reset_sl_Slider();
00697 
00698         _pl_cntlHealthySick2->GetPnlSearStenosis()->GetPanelAutomatic()->SetRange(0,nos-1);
00699 
00700         int ww1,hh1;
00701         int ww2,hh2;
00702         int wwT,hhT;
00703         int ss;
00704         this->GetSize(&wwT,&hhT);
00705         _wxStenosisPanel->GetSize(&ww1,&hh1);
00706         _pl_cntlHealthySick2->GetSize(&ww2,&hh2);
00707 
00708         ss=hhT-(hh1+hh2+85);
00709         panel_splitter_right->SetSashPosition(ss,true);
00710 
00711 }

Here is the call graph for this function:

Here is the caller graph for this function:

void wxQuantificationWidget::showVariables (  )  [private]

Definition at line 825 of file wxQuantificationWidget.cxx.

References marInterface::_experiment, _mar, _st_Value1, _st_Value100, _st_Value101, _st_Value2, _st_Value3, _st_Value6, _st_Value7, _st_Value8, _st_ValueRef101, _st_ValueRef102, _st_ValueRef103, marAxis::getActualQuant(), marExperiment::getAxis(), marExperiment::getContour(), marAxis::getFinishQuant(), marAxis::getHealthySlice(), marAxis::getHealthySliceEnd(), marAxis::getHealthySliceStart(), marExperiment::getReferenceArea(), marExperiment::getReferenceAverDiam(), marAxis::getStartQuant(), GetStenosisArea(), GetStenosisDiameter(), marExperiment::getSubAxisLength(), marExperiment::getTotalLength(), panel_splitter, and strStenosis().

Referenced by RefreshAxis(), and SetHealthySlice().

00826 {
00827         marContour* marcontour;
00828         int actualQuant;
00829         int healthySlice; 
00830         int healthySliceStart; 
00831         int healthySliceEnd; 
00832 
00833 //                      healthySlice = _sl_Slice->GetValue();
00834 //                      _mar->_experiment->getAxis( )->setHealthySlice( healthySlice );
00835 //                      _3DWorld->Set3DHealthySliceActor( );
00836 //                      _3DWorld->Show3DHealthySliceActor( );   
00837         actualQuant = _mar->_experiment->getAxis()->getActualQuant( );
00838         marcontour=_mar->_experiment->getContour( actualQuant );
00839 
00840         wxString tmpString;
00841 //      tmpString.Printf( "%.2f mm" , marcontour->getPartialAxisLenght());              
00842 //      _st_Value0->SetLabel(tmpString);
00843         tmpString.Printf( _T("%.2f mm")   , _mar->_experiment->getTotalLength() );               _st_Value1->SetLabel(tmpString);
00844 
00845 
00846         tmpString.Printf( _T("%.2f mm^2") , marcontour->getArea());                                              _st_Value2->SetLabel(tmpString);
00847         tmpString.Printf( _T("%.2f mm")   , marcontour->getPerimeter());                                 _st_Value3->SetLabel(tmpString);
00848 //      tmpString.Printf( _T("%.2f mm")   , marcontour->getDiameterFromArea());                  _st_Value4->SetLabel(tmpString);
00849 //      tmpString.Printf( _T("%.2f mm")   , marcontour->getDiameterFromPerimeter());     _st_Value5->SetLabel(tmpString);
00850         tmpString.Printf( _T("%.2f mm")   , marcontour->getMinimumDiameter());                   _st_Value6->SetLabel(tmpString);
00851         tmpString.Printf( _T("%.2f mm")   , marcontour->getMaximumDiameter());                   _st_Value7->SetLabel(tmpString);
00852         tmpString.Printf( _T("%.2f mm")   , marcontour->getAverageDiameter());                   _st_Value8->SetLabel(tmpString);
00853 
00854         healthySlice            = _mar->_experiment->getAxis( )->getHealthySlice( );
00855         healthySliceStart       = _mar->_experiment->getAxis( )->getHealthySliceStart( );
00856         healthySliceEnd         = _mar->_experiment->getAxis( )->getHealthySliceEnd( );
00857         if ( (healthySlice!=-1) ) {
00858                 _st_Value100->SetLabel( strStenosis( GetStenosisArea(actualQuant)     ) );
00859                 _st_Value101->SetLabel( strStenosis( GetStenosisDiameter(actualQuant) ) );
00860                 tmpString.Printf( _T("%.2f mm^2") , _mar->_experiment->getReferenceArea() );     _st_ValueRef102->SetLabel(tmpString);
00861                 tmpString.Printf( _T("%.2f mm")   , _mar->_experiment->getReferenceAverDiam() ); _st_ValueRef103->SetLabel(tmpString);
00862         } else {
00863                 _st_Value100->SetLabel(_T("--"));
00864                 _st_Value101->SetLabel(_T("--"));
00865                 _st_ValueRef101->SetLabel(_T("--"));
00866                 _st_ValueRef102->SetLabel(_T("--"));
00867                 _st_ValueRef103->SetLabel(_T("--"));
00868         }
00869 
00870         int startSlice  = _mar->_experiment->getAxis()->getStartQuant();
00871         int finishSlice = _mar->_experiment->getAxis()->getFinishQuant();
00872     if ((startSlice!=-1) && (finishSlice!=-1)){
00873                 tmpString.Printf( _T("%.2f mm")   , _mar->_experiment->getSubAxisLength() );     _st_ValueRef101->SetLabel(tmpString);
00874         } else {
00875                 _st_ValueRef101->SetLabel(_T("--"));
00876         }
00877 
00878         panel_splitter->SetSashPosition(panel_splitter->GetSashPosition() );
00879 
00880 }

Here is the call graph for this function:

Here is the caller graph for this function:

wxString wxQuantificationWidget::strStenosis ( double  stenosis  )  [private]

Definition at line 895 of file wxQuantificationWidget.cxx.

Referenced by showVariables().

00895                                                            {
00896 
00897         wxString tmpString;
00898         if (stenosis==-1) {
00899                 tmpString.Printf(_T("%d"),-1);  
00900         } else {
00901                 tmpString.Printf(_T("%.2f"), stenosis );        
00902         }
00903         return tmpString + _T(" \%");
00904 }

Here is the caller graph for this function:


Member Data Documentation

Definition at line 306 of file wxQuantificationWidget.h.

Definition at line 332 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 334 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 338 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 336 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 337 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 335 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 340 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 333 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 349 of file wxQuantificationWidget.h.

Definition at line 351 of file wxQuantificationWidget.h.

Definition at line 355 of file wxQuantificationWidget.h.

Definition at line 353 of file wxQuantificationWidget.h.

Definition at line 354 of file wxQuantificationWidget.h.

Definition at line 352 of file wxQuantificationWidget.h.

Definition at line 350 of file wxQuantificationWidget.h.

Definition at line 356 of file wxQuantificationWidget.h.

Definition at line 348 of file wxQuantificationWidget.h.

Definition at line 339 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 341 of file wxQuantificationWidget.h.

Definition at line 300 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 318 of file wxQuantificationWidget.h.

Definition at line 215 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

Definition at line 217 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

Definition at line 216 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

Definition at line 219 of file wxQuantificationWidget.h.

Definition at line 218 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

Definition at line 234 of file wxQuantificationWidget.h.

Referenced by Do_layout(), OnPerpendicular_CB(), and Set_control().

Definition at line 237 of file wxQuantificationWidget.h.

Referenced by Do_layout(), OnShowSurface_CB(), and Set_control().

Definition at line 301 of file wxQuantificationWidget.h.

Definition at line 316 of file wxQuantificationWidget.h.

Definition at line 314 of file wxQuantificationWidget.h.

Referenced by Clean3D().

float wxQuantificationWidget::_fp[3] [private]

Definition at line 342 of file wxQuantificationWidget.h.

Definition at line 304 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 301 of file wxQuantificationWidget.h.

Definition at line 327 of file wxQuantificationWidget.h.

Definition at line 326 of file wxQuantificationWidget.h.

Definition at line 324 of file wxQuantificationWidget.h.

Definition at line 325 of file wxQuantificationWidget.h.

Definition at line 319 of file wxQuantificationWidget.h.

float wxQuantificationWidget::_ip[3] [private]

Definition at line 342 of file wxQuantificationWidget.h.

Definition at line 317 of file wxQuantificationWidget.h.

Definition at line 315 of file wxQuantificationWidget.h.

Referenced by Clean3D().

Definition at line 347 of file wxQuantificationWidget.h.

Definition at line 320 of file wxQuantificationWidget.h.

Referenced by Set_Data().

Definition at line 299 of file wxQuantificationWidget.h.

Definition at line 307 of file wxQuantificationWidget.h.

Definition at line 221 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and ShowMARACASData().

Definition at line 309 of file wxQuantificationWidget.h.

Referenced by Clean3D(), and Set_Data().

Definition at line 346 of file wxQuantificationWidget.h.

Definition at line 321 of file wxQuantificationWidget.h.

Referenced by Set_Data().

wxRadioButton* wxQuantificationWidget::_rb_Color [private]

Definition at line 231 of file wxQuantificationWidget.h.

Referenced by Do_layout(), OnColor_RB(), and Set_control().

wxRadioButton* wxQuantificationWidget::_rb_GreyScale [private]

Definition at line 230 of file wxQuantificationWidget.h.

Referenced by Do_layout(), OnGreyScale_RB(), and Set_control().

Definition at line 345 of file wxQuantificationWidget.h.

Definition at line 311 of file wxQuantificationWidget.h.

Definition at line 310 of file wxQuantificationWidget.h.

Definition at line 308 of file wxQuantificationWidget.h.

Referenced by Back(), Forget(), and Set_Data().

Definition at line 312 of file wxQuantificationWidget.h.

Definition at line 322 of file wxQuantificationWidget.h.

Referenced by GetSizeHealthyRegion(), and SetSizeHealthyRegion().

wxSlider* wxQuantificationWidget::_sl_Slice [private]
wxStaticText* wxQuantificationWidget::_st_Isovalue [private]

Definition at line 242 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_Label1 [private]

Definition at line 248 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_Label100 [private]

Definition at line 268 of file wxQuantificationWidget.h.

Referenced by CreateStenosisPanel().

wxStaticText* wxQuantificationWidget::_st_Label101 [private]

Definition at line 270 of file wxQuantificationWidget.h.

Referenced by CreateStenosisPanel().

wxStaticText* wxQuantificationWidget::_st_Label2 [private]

Definition at line 250 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_Label3 [private]

Definition at line 252 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_Label6 [private]

Definition at line 258 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_Label7 [private]

Definition at line 260 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_Label8 [private]

Definition at line 262 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_LabelRef101 [private]

Definition at line 288 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_LabelRef102 [private]

Definition at line 290 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_LabelRef103 [private]

Definition at line 292 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_Opacity [private]

Definition at line 243 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_Slice [private]

Definition at line 241 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

wxStaticText* wxQuantificationWidget::_st_Value1 [private]

Definition at line 249 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_Value100 [private]

Definition at line 269 of file wxQuantificationWidget.h.

Referenced by CreateStenosisPanel(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_Value101 [private]

Definition at line 271 of file wxQuantificationWidget.h.

Referenced by CreateStenosisPanel(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_Value2 [private]

Definition at line 251 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_Value3 [private]

Definition at line 253 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_Value6 [private]

Definition at line 259 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_Value7 [private]

Definition at line 261 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_Value8 [private]

Definition at line 263 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_ValueRef101 [private]

Definition at line 289 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_ValueRef102 [private]

Definition at line 291 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and showVariables().

wxStaticText* wxQuantificationWidget::_st_ValueRef103 [private]

Definition at line 293 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and showVariables().

Definition at line 305 of file wxQuantificationWidget.h.

Definition at line 301 of file wxQuantificationWidget.h.

Definition at line 203 of file wxQuantificationWidget.h.

Referenced by Do_layout(), Set_control(), and ShowMARACASData().

Definition at line 209 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and Set_control().

Definition at line 208 of file wxQuantificationWidget.h.

Referenced by Do_layout().

Definition at line 210 of file wxQuantificationWidget.h.

Referenced by Do_layout().

Definition at line 212 of file wxQuantificationWidget.h.

Referenced by CreateStenosisPanel(), Do_layout(), and Set_control().

Definition at line 211 of file wxQuantificationWidget.h.

Referenced by Do_layout().

wxSplitterWindow* wxQuantificationWidget::panel_splitter [private]

Definition at line 204 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and showVariables().

wxSplitterWindow* wxQuantificationWidget::panel_splitter_left [private]

Definition at line 206 of file wxQuantificationWidget.h.

Referenced by Do_layout().

wxSplitterWindow* wxQuantificationWidget::panel_splitter_right [private]

Definition at line 205 of file wxQuantificationWidget.h.

Referenced by Do_layout(), and ShowMARACASData().


The documentation for this class was generated from the following files:

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1