#include <wxQuantificationWidget.h>
Definition at line 40 of file wxQuantificationWidget.h.
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.
00048 { 00049 ID_BUTTON_CONTOUR = wxID_HIGHEST + 1, 00050 ID_BUTTON_CLEAN, 00051 ID_BUTTON_CLEAN_ALL, 00052 ID_BUTTON_SAVE_CONTOURS3D, 00053 ID_BUTTON_AUTOQUANT, 00054 ID_BUTTON_HEALTHY, 00055 ID_BUTTON_CALCULATED, 00056 ID_BUTTON_PAUSE, 00057 ID_BUTTON_DELETE, 00058 ID_BUTTON_POINT 00059 };
Definition at line 61 of file wxQuantificationWidget.h.
00061 { 00062 ID_CHECKBOX_HEALTHY = wxID_HIGHEST + 1, 00063 ID_CHECKBOX_PERPENDICULAR, 00064 ID_CHECKBOX_VISIBLE_RINGS, 00065 ID_CHECKBOX_SHOW_SURFACE, 00066 ID_RADIOBUTTON_GREYSCALE, 00067 ID_RADIOBUTTON_COLOR, 00068 ID_SLIDER_SLICE, 00069 ID_SLIDER_SLICE22, 00070 ID_SLIDER_ISOVALUE, 00071 ID_SLIDER_OPACITY 00072 };
Definition at line 44 of file wxQuantificationWidget.h.
00044 { 00045 ID_QUANTIF3D = wxID_HIGHEST + 1 00046 };
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 }
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 }
int wxQuantificationWidget::Back | ( | ) |
Definition at line 1160 of file wxQuantificationWidget.cxx.
References _shown.
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 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
void wxQuantificationWidget::Hide3DRegionSliceActor | ( | int | type | ) |
Definition at line 2105 of file wxQuantificationWidget.cxx.
References _3DWorld, and vtk3DQuantSurfaceWidget::Hide3DRegionSliceActor().
02105 { 02106 _3DWorld->Hide3DRegionSliceActor(type); 02107 }
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 }
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 }
void wxQuantificationWidget::OnAutoQuantification_BT | ( | wxCommandEvent & | event | ) |
void wxQuantificationWidget::OnCalibration | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2262 of file wxQuantificationWidget.cxx.
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 }
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 }
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 }
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 }
void wxQuantificationWidget::OnContourCalc | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2223 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnContourHypo | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2218 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnContourLumen | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2213 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnContourWall | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2208 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnFile | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2266 of file wxQuantificationWidget.cxx.
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 }
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 }
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 }
void wxQuantificationWidget::OnReplaceContourCalc | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2241 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnReplaceContourHypo | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2236 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnReplaceContourLumen | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2232 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnReplaceContourWall | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2228 of file wxQuantificationWidget.cxx.
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 }
void wxQuantificationWidget::OnShowAll | ( | bool | value | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2271 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnShowCalc | ( | bool | value | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2285 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnShowHypo | ( | bool | value | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2290 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnShowLumen | ( | bool | value | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2280 of file wxQuantificationWidget.cxx.
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 }
void wxQuantificationWidget::OnShowWall | ( | bool | value | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2276 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnSliderCalcPercentageScroll | ( | int | percentage | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2257 of file wxQuantificationWidget.cxx.
void wxQuantificationWidget::OnSliderDiscontinuityScroll | ( | int | percentage | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2247 of file wxQuantificationWidget.cxx.
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 }
void wxQuantificationWidget::OnSliderLumenPercentageScroll | ( | int | percentage | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2252 of file wxQuantificationWidget.cxx.
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 }
void wxQuantificationWidget::OnSliderSliceScroll | ( | wxScrollEvent & | event | ) |
Definition at line 785 of file wxQuantificationWidget.cxx.
References MoveSlider().
00785 { 00786 MoveSlider( event.GetPosition() ); 00787 }
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 }
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 }
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 }
void wxQuantificationWidget::ResetAxis | ( | ) |
Definition at line 733 of file wxQuantificationWidget.cxx.
References _3DWorld, marInterface::_experiment, _mar, _sl_Slice, marExperiment::getAxis(), vtk3DQuantSurfaceWidget::Hide3DHealthySliceActor(), Reset_sl_Slider(), marAxis::setActualQuant(), and marAxis::setHealthySlice().
Referenced by wxMaracasQuantification::CleanContours(), wxMaracasQuantification::RegenerateAll(), and wxMaracasQuantification::RegenerateSignal().
00733 { 00734 Reset_sl_Slider(); 00735 _mar->_experiment->getAxis()->setActualQuant( _sl_Slice->GetValue() ); 00736 00737 _3DWorld->Hide3DHealthySliceActor(); 00738 _mar->_experiment->getAxis( )->setHealthySlice( 0,-1,0 ); 00739 }
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 }
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 }
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 }
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 }
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 }
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 }
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 }
void wxQuantificationWidget::SetManualContour_AddPoint_2DWorld | ( | ) | [virtual] |
Reimplemented from wxQuantificationWidget_base.
Definition at line 2144 of file wxQuantificationWidget.cxx.
References _2DWorld, _3DWorld, _bak_ActualSlice, marInterface::_experiment, _mar, _sl_Slice, vtk3DQuantSurfaceWidget::Erase3DContourActor(), marAxis::EraseContour(), marExperiment::getAxis(), vtk2DQuantSliceWidget::Hide2DContourDiameters(), and wxImageViewerWidget::SetStateManualContour().
02144 { 02145 _bak_ActualSlice = _sl_Slice->GetValue(); 02146 _2DWorld->Hide2DContourDiameters(); 02147 _mar->_experiment->getAxis()->EraseContour(_bak_ActualSlice); 02148 _3DWorld->Erase3DContourActor( _bak_ActualSlice ); 02149 02150 _2DWorld->SetStateManualContour(0); 02151 }
void wxQuantificationWidget::SetManualContour_ErasePoint_2DWorld | ( | ) |
Definition at line 2157 of file wxQuantificationWidget.cxx.
References _2DWorld, and wxImageViewerWidget::SetStateManualContour().
02157 { 02158 _2DWorld->SetStateManualContour(3); 02159 }
void wxQuantificationWidget::SetManualContour_InsertPoint_2DWorld | ( | ) |
Definition at line 2153 of file wxQuantificationWidget.cxx.
References _2DWorld, and wxImageViewerWidget::SetStateManualContour().
02153 { 02154 _2DWorld->SetStateManualContour(2); 02155 }
void wxQuantificationWidget::SetManualContour_MovePoint_2DWorld | ( | ) |
Definition at line 2161 of file wxQuantificationWidget.cxx.
References _2DWorld, and wxImageViewerWidget::SetStateManualContour().
02161 { 02162 _2DWorld->SetStateManualContour(4); 02163 }
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 }
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 }
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 }
void wxQuantificationWidget::Show3DRegionSliceActor | ( | int | type | ) |
Definition at line 2093 of file wxQuantificationWidget.cxx.
References _3DWorld, and vtk3DQuantSurfaceWidget::Show3DRegionSliceActor().
02093 { 02094 _3DWorld->Show3DRegionSliceActor(type); 02095 }
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 }
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 }
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 }
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 }
Definition at line 197 of file wxQuantificationWidget.h.
Referenced by Do_layout(), OnVisibleRing_CB(), RefreshAxis(), SetManualContour_2DWorld(), SetManualContour_AddPoint_2DWorld(), SetManualContour_ErasePoint_2DWorld(), SetManualContour_InsertPoint_2DWorld(), SetManualContour_MovePoint_2DWorld(), SetManualContour_ReplaceContour(), and ShowMARACASData().
Definition at line 196 of file wxQuantificationWidget.h.
Referenced by AddAxisActors(), CallBackOnLeftDClick(), Clean3D(), Do_layout(), GetAnalysisTypeStenosis(), GetSliceLimites(), Hide3DEndRegionSliceActor(), Hide3DRegionSliceActor(), Hide3DStartRegionSliceActor(), OnClean_BT(), OnCleanAll_BT(), OnColor_RB(), OnContour_BT(), OnGreyScale_RB(), OnHealthySlice_CB(), OnPerpendicular_CB(), OnShowSurface_CB(), OnSliderIsovalueScroll(), OnSliderOpacityScroll(), OnVisibleRing_CB(), RefreshAxis(), ResetAxis(), Set3DEndRegionSliceActor(), Set3DRegionSliceActor(), Set3DStartRegionSliceActor(), SetAnalysisTypeStenosis(), SetHealthySlice(), SetManualContour_AddPoint_2DWorld(), SetSlider_Isovalue_Opacity(), Show3DEndRegionSliceActor(), Show3DRegionSliceActor(), Show3DStartRegionSliceActor(), ShowMARACASData(), and ~wxQuantificationWidget().
int wxQuantificationWidget::_actual_actor [private] |
Definition at line 306 of file wxQuantificationWidget.h.
float wxQuantificationWidget::_actual_area [private] |
Definition at line 332 of file wxQuantificationWidget.h.
Referenced by Set_Data().
float wxQuantificationWidget::_actual_darea [private] |
Definition at line 334 of file wxQuantificationWidget.h.
Referenced by Set_Data().
float wxQuantificationWidget::_actual_davg [private] |
Definition at line 338 of file wxQuantificationWidget.h.
Referenced by Set_Data().
float wxQuantificationWidget::_actual_dmax [private] |
Definition at line 336 of file wxQuantificationWidget.h.
Referenced by Set_Data().
float wxQuantificationWidget::_actual_dmin [private] |
Definition at line 337 of file wxQuantificationWidget.h.
Referenced by Set_Data().
float wxQuantificationWidget::_actual_dperi [private] |
Definition at line 335 of file wxQuantificationWidget.h.
Referenced by Set_Data().
float wxQuantificationWidget::_actual_partial [private] |
Definition at line 340 of file wxQuantificationWidget.h.
Referenced by Set_Data().
float wxQuantificationWidget::_actual_peri [private] |
Definition at line 333 of file wxQuantificationWidget.h.
Referenced by Set_Data().
wxList* wxQuantificationWidget::_actual_quant_area [private] |
Definition at line 349 of file wxQuantificationWidget.h.
wxList* wxQuantificationWidget::_actual_quant_darea [private] |
Definition at line 351 of file wxQuantificationWidget.h.
wxList* wxQuantificationWidget::_actual_quant_davg [private] |
Definition at line 355 of file wxQuantificationWidget.h.
wxList* wxQuantificationWidget::_actual_quant_dmax [private] |
Definition at line 353 of file wxQuantificationWidget.h.
wxList* wxQuantificationWidget::_actual_quant_dmin [private] |
Definition at line 354 of file wxQuantificationWidget.h.
wxList* wxQuantificationWidget::_actual_quant_dperi [private] |
Definition at line 352 of file wxQuantificationWidget.h.
wxList* wxQuantificationWidget::_actual_quant_peri [private] |
Definition at line 350 of file wxQuantificationWidget.h.
wxList* wxQuantificationWidget::_actual_quant_sten [private] |
Definition at line 356 of file wxQuantificationWidget.h.
wxList* wxQuantificationWidget::_actual_quant_x [private] |
Definition at line 348 of file wxQuantificationWidget.h.
float wxQuantificationWidget::_actual_sten [private] |
Definition at line 339 of file wxQuantificationWidget.h.
Referenced by Set_Data().
float wxQuantificationWidget::_actual_total [private] |
Definition at line 341 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_axis_index [private] |
Definition at line 300 of file wxQuantificationWidget.h.
Referenced by Set_Data().
int wxQuantificationWidget::_bak_ActualSlice [private] |
Definition at line 302 of file wxQuantificationWidget.h.
Referenced by MoveSlider(), SetManualContour_AddPoint_2DWorld(), and SetManualContour_ReplaceContour().
int wxQuantificationWidget::_bounds [private] |
Definition at line 318 of file wxQuantificationWidget.h.
wxButton* wxQuantificationWidget::_bt_AddContour3D [private] |
Definition at line 215 of file wxQuantificationWidget.h.
Referenced by Do_layout(), and Set_control().
wxButton* wxQuantificationWidget::_bt_CleanAllContours3D [private] |
Definition at line 217 of file wxQuantificationWidget.h.
Referenced by Do_layout(), and Set_control().
wxButton* wxQuantificationWidget::_bt_CleanContour3D [private] |
Definition at line 216 of file wxQuantificationWidget.h.
Referenced by Do_layout(), and Set_control().
wxButton* wxQuantificationWidget::_bt_Healthy [private] |
Definition at line 219 of file wxQuantificationWidget.h.
wxButton* wxQuantificationWidget::_bt_SaveContours3D [private] |
Definition at line 218 of file wxQuantificationWidget.h.
Referenced by Do_layout(), and Set_control().
wxCheckBox* wxQuantificationWidget::_cb_HealthySlice [private] |
Definition at line 233 of file wxQuantificationWidget.h.
Referenced by Do_layout(), OnHealthySlice_CB(), Set_control(), and SetHealthySlice().
wxCheckBox* wxQuantificationWidget::_cb_Perpendicular [private] |
Definition at line 234 of file wxQuantificationWidget.h.
Referenced by Do_layout(), OnPerpendicular_CB(), and Set_control().
wxCheckBox* wxQuantificationWidget::_cb_ShowSurface [private] |
Definition at line 237 of file wxQuantificationWidget.h.
Referenced by Do_layout(), OnShowSurface_CB(), and Set_control().
wxCheckBox* wxQuantificationWidget::_cb_VisibleRings [private] |
Definition at line 236 of file wxQuantificationWidget.h.
Referenced by Do_layout(), OnContour_BT(), OnVisibleRing_CB(), RefreshAxis(), and Set_control().
int wxQuantificationWidget::_depth [private] |
Definition at line 301 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_first_point_quant [private] |
Definition at line 316 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_first_quant [private] |
Definition at line 314 of file wxQuantificationWidget.h.
Referenced by Clean3D().
float wxQuantificationWidget::_fp[3] [private] |
Definition at line 342 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_given_points [private] |
Definition at line 304 of file wxQuantificationWidget.h.
Referenced by Set_Data().
int wxQuantificationWidget::_height [private] |
Definition at line 301 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_initLevel [private] |
Definition at line 327 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_initWindow [private] |
Definition at line 326 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_initX [private] |
Definition at line 324 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_initY [private] |
Definition at line 325 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_intRange [private] |
Definition at line 319 of file wxQuantificationWidget.h.
float wxQuantificationWidget::_ip[3] [private] |
Definition at line 342 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_last_point_quant [private] |
Definition at line 317 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_last_quant [private] |
Definition at line 315 of file wxQuantificationWidget.h.
Referenced by Clean3D().
wxList* wxQuantificationWidget::_man_points [private] |
Definition at line 347 of file wxQuantificationWidget.h.
marInterface* wxQuantificationWidget::_mar [private] |
Definition at line 193 of file wxQuantificationWidget.h.
Referenced by AddAxisActors(), CallBackOnLeftDClick(), Clean3D(), DetectHealthySickSlice(), GetHealthySlice(), GetHealthySliceRange(), GetStenosisArea(), GetStenosisDiameter(), GetVolumeAxisExtended(), MoveSlider(), OnCleanAll_BT(), OnContour_BT(), OnHealthySlice_CB(), OnSaveContours3D_BT(), RefreshAxis(), Reset_sl_Slider(), ResetAxis(), SetHealthySlice(), SetManualContour_AddPoint_2DWorld(), SetManualContour_ReplaceContour(), ShowMARACASData(), and showVariables().
int wxQuantificationWidget::_nClicks [private] |
Definition at line 320 of file wxQuantificationWidget.h.
Referenced by Set_Data().
int wxQuantificationWidget::_numpoint [private] |
Definition at line 299 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_perpe [private] |
Definition at line 307 of file wxQuantificationWidget.h.
Definition at line 221 of file wxQuantificationWidget.h.
Referenced by Do_layout(), Set_control(), and ShowMARACASData().
int wxQuantificationWidget::_quant_shown [private] |
Definition at line 309 of file wxQuantificationWidget.h.
Referenced by Clean3D(), and Set_Data().
wxList* wxQuantificationWidget::_quant_sten [private] |
Definition at line 346 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_quantifing [private] |
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().
wxList* wxQuantificationWidget::_rings_index [private] |
Definition at line 345 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_show_hs [private] |
Definition at line 311 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_show_rings [private] |
Definition at line 310 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_shown [private] |
Definition at line 308 of file wxQuantificationWidget.h.
Referenced by Back(), Forget(), and Set_Data().
int wxQuantificationWidget::_showS [private] |
Definition at line 312 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_sizeHealthyRegion [private] |
Definition at line 322 of file wxQuantificationWidget.h.
Referenced by GetSizeHealthyRegion(), and SetSizeHealthyRegion().
wxSlider* wxQuantificationWidget::_sl_Isovalue [private] |
Definition at line 239 of file wxQuantificationWidget.h.
Referenced by Do_layout(), Set_control(), SetSlider_Isovalue_Opacity(), and ShowMARACASData().
wxSlider* wxQuantificationWidget::_sl_Opacity [private] |
Definition at line 240 of file wxQuantificationWidget.h.
Referenced by Do_layout(), Set_control(), SetSlider_Isovalue_Opacity(), and ShowMARACASData().
wxSlider* wxQuantificationWidget::_sl_Slice [private] |
Definition at line 238 of file wxQuantificationWidget.h.
Referenced by CallBackOnLeftDClick(), CallBackOnMouseWheel(), DetectHealthySickSlice(), Do_layout(), GetActualSlice(), GetMaxActualSlice(), OnClean_BT(), OnContour_BT(), Reset_sl_Slider(), ResetAxis(), Set_control(), SetHealthySlice(), and SetManualContour_AddPoint_2DWorld().
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().
int wxQuantificationWidget::_typ [private] |
Definition at line 305 of file wxQuantificationWidget.h.
int wxQuantificationWidget::_width [private] |
Definition at line 301 of file wxQuantificationWidget.h.
wxPanel* wxQuantificationWidget::_wxStenosisPanel [private] |
Definition at line 203 of file wxQuantificationWidget.h.
Referenced by Do_layout(), Set_control(), and ShowMARACASData().
wxPanel* wxQuantificationWidget::panel_left_down [private] |
Definition at line 209 of file wxQuantificationWidget.h.
Referenced by Do_layout(), and Set_control().
wxPanel* wxQuantificationWidget::panel_left_up [private] |
Definition at line 208 of file wxQuantificationWidget.h.
Referenced by Do_layout().
wxPanel* wxQuantificationWidget::panel_right [private] |
Definition at line 210 of file wxQuantificationWidget.h.
Referenced by Do_layout().
wxPanel* wxQuantificationWidget::panel_right_down [private] |
Definition at line 212 of file wxQuantificationWidget.h.
Referenced by CreateStenosisPanel(), Do_layout(), and Set_control().
wxPanel* wxQuantificationWidget::panel_right_up [private] |
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().