marExperimentCT Class Reference

#include <marExperimentCT.h>

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

List of all members.

Public Member Functions

 marExperimentCT (marParameters *p=NULL)
marContour * getContour (int point, int contour)
vtkPoints * get3Dcontour (int point, int contour)
vtkPolyData * get2Dcontour (int point, int contour)
vtkPoints * get2DDiameterMin (int point, int contour)
vtkPoints * get2DDiameterMax (int point, int contour)
int getNumberOfContours (int point)
void prepareQuantification ()
void RegenerateAxis ()
void RecalculateAxis ()
void updateLumenPercentage (int percentage)
void updateCalcPercentage (int percentage)
void updateDiscontinuityThreshold (int percentage)
int getContourType (int point, int index)
void histogram (int point)
void setCalibration (bool calib)
bool getCalibration ()
void ClearContoursPartial (int start)
void setStartIndex (int start)
int getPointSize ()
marPointgetPoint (int i)
void markUpLumen (int point)
void generateFile ()
void replaceContour2D (int size, double *vx, double *vy, int type)
void cleanContours (int type)
marIsocontourloadMarIsocontour (int size, double *vx, double *vy)
double performXOR (int type, std::vector< marIsocontour * > manual)
double performAND (int type, std::vector< marIsocontour * > manual)
double performUnion (int type, std::vector< marIsocontour * > manual)
wxString & getDescription ()
void setDescription (wxString &d)
marDynDatagetDynData ()
void getVOI (int *voi)
void setVOI (int *voi)
void initExperiment (kVolume *volume)
void setStartPoint (int *sp)
void setStartPoint (int sx, int sy, int sz)
void extractVascularTree (int sens=1, double *vit=NULL, int cleanLevel=0)
void DeleteAxis (unsigned int index)
vtkPolyData * generateContour (int slice, int x, int y, std::vector< double * > *points)
void applyChangeResolution ()
int getNumberOfAxes ()
marAxisgetAxis (int i=-1)
void appendAxis (marAxis *ax)
void setAxis (int i)
int getQuantStart ()
int getQuantFinish ()
void backQuant ()
marContour * getContour (int i)
vtkImageData * getSliceImage (int i)
vtkProbeFilter * get3DSlice (int i)
vtkPoints * get3Dcontour (int i)
vtkPolyData * get2Dcontour (int i)
vtkPoints * get2DDiameterMin (int i)
vtkPoints * get2DDiameterMax (int i)
double getTotalLength ()
double getSubAxisLength ()
double getReferenceArea ()
double getReferenceAverDiam ()
double getAverageArea (int pIni, int pEnd)
int getNumberOfSlices ()
void calculateAxesSignal ()
void prepareContourImages ()
void ClearContours ()
void RegenerateSignal ()
void reset ()
void copyFrom (const marObject &from)
virtual void copyFrom (const marObject &from)=0
bool save (std::ofstream &os)
bool save (std::string &nw)
bool load (std::ifstream &is)
bool load (std::string &nr)
void setParameters (marParameters *p)
void copyParameters (marParameters *p)
void makeACopyParameters ()
marParametersgetParameters ()
bool parametersOwned ()

Detailed Description

Definition at line 28 of file marExperimentCT.h.


Constructor & Destructor Documentation

marExperimentCT::marExperimentCT ( marParameters p = NULL  ) 

Definition at line 23 of file marExperimentCT.cpp.

00023                                                    : marExperiment( p )
00024                               
00025 {
00026   
00027 }


Member Function Documentation

void marExperiment::appendAxis ( marAxis ax  )  [inline, inherited]

Definition at line 68 of file marExperiment.h.

Referenced by marInterfaceCT::appendAxis(), and wxSurfaceWidget::OnManualAxis().

00069   {
00070     _axes.push_back( ax );
00071     _axes[ 0 ] = ax;
00072   }

Here is the caller graph for this function:

void marExperiment::applyChangeResolution (  )  [inherited]

Definition at line 197 of file marExperiment.cpp.

References marExperiment::_axes.

00198 {
00199   int i;
00200 
00201   for( i = 1; i < _axes.size( ); i++ )
00202     _axes[ i ]->changeAxisResolution( );
00203 }

void marExperiment::backQuant (  )  [inherited]

Definition at line 218 of file marExperiment.cpp.

References marExperiment::_axes.

00219 {
00220 //Cette méthode n'existe plus: dommage 
00221 //    if ( _axes[0]->getQuantOn() )
00222   {
00223     _axes[0]->setFinishQuant( _axes[0]->getFinishQuant() - 1);
00224     if ( _axes[0]->getFinishQuant() < 0 )
00225       _axes[0]->setFinishQuant(0);
00226   }
00227 }

void marExperiment::calculateAxesSignal (  )  [inherited]

Definition at line 251 of file marExperiment.cpp.

References marExperiment::_axes, marExperiment::_dynData, and marDynData::getVolume().

00252 {
00253   int i;
00254   for( i = 1; i < _axes.size( ); i++ )
00255     _axes[ i ]->calculateSignal( _dynData->getVolume( ) );
00256 }

Here is the call graph for this function:

void marExperimentCT::cleanContours ( int  type  ) 

Definition at line 190 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::cleanContours().

00191 {
00192         int point = ((marAxisCT *)getAxis())->getActualQuant();
00193         ((marAxisCT *)getAxis())->cleanContours(type,point);
00194 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperiment::ClearContours (  )  [inherited]

Definition at line 366 of file marExperiment.cpp.

References marAxis::eraseContourVectorsContent(), and marExperiment::getAxis().

Referenced by wxMaracasQuantification::CleanContours(), and marInterfaceCT::ClearContours().

00366                                  {
00367         marAxis *maraxis = getAxis(); 
00368         if (maraxis!=NULL) maraxis->eraseContourVectorsContent();                        
00369 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperimentCT::ClearContoursPartial ( int  start  ) 

Definition at line 146 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::ClearContoursPartial().

00147 {
00148         ((marAxisCT *)getAxis())->eraseContoursPartial(start);
00149 }

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void marObject::copyFrom ( const marObject from  )  [pure virtual, inherited]
void marExperiment::copyFrom ( const marObject from  )  [inherited]

Definition at line 266 of file marExperiment.cpp.

00267 { // TODO
00268 }

void marObject::copyParameters ( marParameters p  )  [inherited]

Definition at line 42 of file marObject.cpp.

References marObject::_parameters, and marObject::_parametersCopied.

00043 {
00044     if( _parametersCopied && _parameters != NULL ) delete _parameters;
00045     _parameters = new marParameters( );
00046     *_parameters = *p;
00047     _parametersCopied = true;
00048 }

void marExperiment::DeleteAxis ( unsigned int  index  )  [inherited]

Definition at line 325 of file marExperiment.cpp.

References marExperiment::_axes.

Referenced by wxSurfaceWidget::OnDeleteAxis(), and marExperiment::RegenerateAxis().

00326 {
00327         /* Very naughty bug, when doing a - 1, where a is uint result is still
00328         uint, imaging when a=0 :) need to cast to int*/
00329   
00330   int axesize=_axes.size( )-1;
00331   index=index+1;
00332   delete _axes[ index ];
00333   for( int i = index; i < axesize; i++ ) 
00334      _axes[ i ] = _axes[ i + 1 ];
00335   _axes.pop_back( );
00336 
00337   if (index<axesize) {
00338         _axes[ 0 ]=_axes[ index ];
00339   } else {
00340         _axes[ 0 ]=NULL;
00341   }
00342 
00343 /*  
00344   _axes[index]->Delete();
00345   if(_axes[ 0 ]) 
00346           _axes[ 0 ]->Delete( );
00347   _axes.erase(_axes.begin() + index);
00348 */
00349 
00350 // PS ->   // PS : traitement identique à la methode std::vector::erase(iterator)
00351 /*
00352   if(_axes[ 0 ]) 
00353           _axes[ 0 ]->Delete( );
00354   delete _axes[ index ];
00355 */
00356 }

Here is the caller graph for this function:

void marExperiment::extractVascularTree ( int  sens = 1,
double *  vit = NULL,
int  cleanLevel = 0 
) [inherited]

Definition at line 72 of file marExperiment.cpp.

References marExperiment::_axes, marExperiment::_dynData, marExperiment::_startPoint, marAxis::addAxisPoint(), marAxis::calculateSignal(), marAxis::doSpline(), marParameters::e_distance_to_maximum_intensity, marParameters::e_flexion_coeficient, marParameters::e_gravity_distance, marParameters::e_mass_power, marParameters::e_roi_dimension, marParameters::e_step, marParameters::e_tension_coeficient, marParameters::getDoubleParam(), marParameters::getIntParam(), marObject::getParameters(), marAxis::getSignal(), marDynData::getVolume(), marParameters::getVoxelSize(), marAxis::INDX_count, marAxis::set_points_disc(), and marAxis::setDescription().

Referenced by TreeExtraction_MH_JFC::Execute(), ExtractAxes_dll(), wxProcessingCTWidget::OnExtract(), wxSurfaceWidget::OnExtractAxis(), and marExperiment::RegenerateAxis().

00073 {
00074 
00075   marAxis* tmpAxis;
00076   marAxis* tmpAxis2;
00077 
00078 #ifdef __LFV__GET__VASCULAR__TREE__
00079     PPPOINTAXE pts = NULL;
00080     PARBREVASCULAIRE res = NULL;
00081 #else
00082     PPPOINTAXE res = NULL;
00083     double pt[ marAxis::INDX_count ];
00084 #endif
00085     int n, i;
00086     res = ExtraireArbre(
00087       _startPoint[ 0 ],
00088       _startPoint[ 1 ],
00089       _startPoint[ 2 ],
00090       ( PPPVOLUME_USHORT )( _dynData->getVolume( )->castIdo( ) ),
00091       1, 1, 1,
00092       _dynData->getVolume( )->getXdim( ) - 1,
00093       _dynData->getVolume( )->getYdim( ) - 1,
00094       _dynData->getVolume( )->getZdim( ) - 1,
00095       ( double )( getParameters( )->getIntParam( marParameters::e_roi_dimension ) ),
00096       ( double )( getParameters( )->getIntParam( marParameters::e_step ) ),
00097       getParameters( )->getDoubleParam( marParameters::e_gravity_distance ),
00098       getParameters( )->getDoubleParam( marParameters::e_distance_to_maximum_intensity ),
00099       getParameters( )->getDoubleParam( marParameters::e_flexion_coeficient ),
00100       getParameters( )->getDoubleParam( marParameters::e_tension_coeficient ),
00101       getParameters( )->getIntParam( marParameters::e_mass_power ),
00102 #ifdef __LFV__GET__VASCULAR__TREE__
00103       pts,
00104 #else
00105       res,
00106 #endif
00107       &n , sens , vit);
00108 
00109     // Data treatment
00110 #ifdef __LFV__GET__VASCULAR__TREE__
00111     for( n = 0; n < res->nomAxes; n++ ) {
00112       tmp = new marAxis( getParameters( ) );
00113       tmp->set_points_disc( res->lstAxes[ n ] );
00114       for( i = 0; i < res->lstAxes[ n ]->nomPoints; i++ )
00115         tmp->AddAxisPoint( *( res->lstAxes[ n ]->lstPoints[ i ] ) );
00116       tmp->doSpline( );
00117       tmp->calculateSignal( _dynData->getVolume( ) );
00118       _axes.push_back( tmp );
00119     } // rof
00120 #else
00121         if (n>2){
00122                 //
00123                 double voxSize = this->getParameters( )->getVoxelSize( );
00124                 tmpAxis = new marAxis( this->getParameters( ) );
00125                 std::string desc = "Axis N.";
00126                 desc += _axes.size( );
00127                 tmpAxis->setDescription( desc );
00128                 tmpAxis->set_points_disc( res );
00129                 for( i = 0; i < n; i++ ) {
00130                         memcpy( pt, res[ i ], sizeof( POINTAXE ) );
00131                         pt[ 0 ] *= voxSize;
00132                         pt[ 1 ] *= voxSize;
00133                         pt[ 2 ] *= voxSize;
00134                         tmpAxis->addAxisPoint( pt );
00135                 }        // rof
00136                 tmpAxis->doSpline( );
00137                 tmpAxis->calculateSignal( _dynData->getVolume( ) );
00138 
00139                 //
00140                 int jCount=0;
00141                 tmpAxis2 = new marAxis( this->getParameters( ) );
00142                 tmpAxis2->setDescription( desc );
00143                 tmpAxis2->set_points_disc( res );       
00144                 for( i = 0; i < n; i++ ) {
00145                         if (tmpAxis->getSignal(i)>=cleanLevel ){
00146                                 jCount++;
00147                                 memcpy( pt, res[ i ], sizeof( POINTAXE ) );
00148                                 pt[ 0 ] *= voxSize;
00149                                 pt[ 1 ] *= voxSize;
00150                                 pt[ 2 ] *= voxSize;
00151                                 tmpAxis2->addAxisPoint( pt );
00152                         } else {
00153                                 i=n;
00154                         }
00155                 } // for 
00156                 delete tmpAxis;
00157 
00158                 if (jCount>2){
00159                         tmpAxis2->doSpline( );
00160                         tmpAxis2->calculateSignal( _dynData->getVolume( ) );
00161                         _axes.push_back( tmpAxis2 );
00162                         _axes[ 0 ] = tmpAxis2;
00163                 } else {
00164                         delete tmpAxis2;
00165                 }
00166     }
00167 #endif // __LFV__GET__VASCULAR__TREE__
00168 
00169 }

Here is the call graph for this function:

Here is the caller graph for this function:

vtkPolyData * marExperiment::generateContour ( int  slice,
int  x,
int  y,
std::vector< double * > *  points 
) [inherited]

Definition at line 173 of file marExperiment.cpp.

00174 {
00175 /*  vtkImageData* imagedata;
00176 
00177   imagedata = getSliceImage( slice );
00178   vtkKitwareContourFilter* cntVTK = vtkKitwareContourFilter::New( );
00179   cntVTK->SetInput( imagedata );
00180   cntVTK->SetNumberOfContours( 1 );
00181   //cntVTK->SetValue( 0, vmin );
00182   cntVTK->SetValue( 0, 20 );
00183   //cntVTK->SetValue( 1, vmax );
00184   cntVTK->Update( );
00185 
00186     return cntVTK;*/
00187 
00188 //  return(_axes[ 0 ]->setContour( slice, x, y, points));
00189 
00190         return NULL;
00191         
00192   //return( _axes[ 0 ]->getContour( slice ) );
00193 }

void marExperimentCT::generateFile (  ) 

Definition at line 176 of file marExperimentCT.cpp.

References marExperiment::getAxis(), marExperiment::getDynData(), and marDynData::getVolume().

Referenced by marInterfaceCT::generateFile().

00177 {
00178         int point = ((marAxisCT *)getAxis())->getActualQuant();
00179         ((marAxisCT *)getAxis())->generateFile(point, getDynData()->getVolume());
00180 }

Here is the call graph for this function:

Here is the caller graph for this function:

vtkPolyData* marExperiment::get2Dcontour ( int  i  )  [inline, inherited]

Definition at line 89 of file marExperiment.h.

Referenced by wxQuantificationWidget::RefreshAxis().

00089 { return(_axes[0]->get2Dcontour         ( i ,  _dynData->getVolume( )  ));      };

Here is the caller graph for this function:

vtkPolyData * marExperimentCT::get2Dcontour ( int  point,
int  contour 
)

Definition at line 40 of file marExperimentCT.cpp.

References marExperiment::getAxis(), and marExperiment::getDynData().

Referenced by marInterfaceCT::get2Dcontour().

00040                                                                    {
00041         return ((marAxisCT *)getAxis())->get2Dcontour(point,getDynData()->getVolume(),contour);
00042 }

Here is the call graph for this function:

Here is the caller graph for this function:

vtkPoints* marExperiment::get2DDiameterMax ( int  i  )  [inline, inherited]

Definition at line 91 of file marExperiment.h.

Referenced by wxQuantificationWidget::RefreshAxis().

00091 { return(_axes[0]->get2DDiameterMax     ( i ,  _dynData->getVolume( )  ));      };

Here is the caller graph for this function:

vtkPoints * marExperimentCT::get2DDiameterMax ( int  point,
int  contour 
)

Definition at line 50 of file marExperimentCT.cpp.

References marExperiment::getAxis(), and marExperiment::getDynData().

Referenced by marInterfaceCT::get2DDiameterMax().

00050                                                                      {
00051         return ((marAxisCT *)getAxis())->get2DDiameterMax(point,getDynData()->getVolume(),contour);;
00052 }

Here is the call graph for this function:

Here is the caller graph for this function:

vtkPoints* marExperiment::get2DDiameterMin ( int  i  )  [inline, inherited]

Definition at line 90 of file marExperiment.h.

Referenced by wxQuantificationWidget::RefreshAxis().

00090 { return(_axes[0]->get2DDiameterMin     ( i ,  _dynData->getVolume( )  ));      };

Here is the caller graph for this function:

vtkPoints * marExperimentCT::get2DDiameterMin ( int  point,
int  contour 
)

Definition at line 45 of file marExperimentCT.cpp.

References marExperiment::getAxis(), and marExperiment::getDynData().

Referenced by marInterfaceCT::get2DDiameterMin().

00045                                                                      {
00046         return ((marAxisCT *)getAxis())->get2DDiameterMin(point,getDynData()->getVolume(),contour);
00047 }

Here is the call graph for this function:

Here is the caller graph for this function:

vtkPoints* marExperiment::get3Dcontour ( int  i  )  [inline, inherited]

Definition at line 88 of file marExperiment.h.

Referenced by wxQuantificationWidget::OnContour_BT(), and wxQuantificationWidget::SetHealthySlice().

00088 { return(_axes[0]->get3Dcontour         ( i ,  _dynData->getVolume( )  ));      };

Here is the caller graph for this function:

vtkPoints * marExperimentCT::get3Dcontour ( int  point,
int  contour 
)

Definition at line 35 of file marExperimentCT.cpp.

References marExperiment::getAxis(), and marExperiment::getDynData().

Referenced by marInterfaceCT::get3Dcontour().

00035                                                                       {
00036         return ((marAxisCT *)getAxis())->get3Dcontour(point,getDynData()->getVolume(),contour);
00037 }

Here is the call graph for this function:

Here is the caller graph for this function:

vtkProbeFilter* marExperiment::get3DSlice ( int  i  )  [inline, inherited]

Definition at line 87 of file marExperiment.h.

Referenced by marInterfaceCT::get3DSlice(), wxQuantificationWidget::RefreshAxis(), and vtk3DQuantSurfaceWidget::ShowMARACASDataAndAxe().

00087 { return(_axes[0]->get3DSlice           ( i ,  _dynData->getVolume( )  ));      };

Here is the caller graph for this function:

double marExperiment::getAverageArea ( int  pIni,
int  pEnd 
) [inline, inherited]

Definition at line 97 of file marExperiment.h.

Referenced by wxQuantificationWidget::DetectHealthySickSlice(), and marInterfaceCT::getAverageArea().

00097 {return _axes[0]->getAverageArea(pIni,pEnd, _dynData->getVolume( ) );           };

Here is the caller graph for this function:

marAxis* marExperiment::getAxis ( int  i = -1  )  [inline, inherited]

Definition at line 63 of file marExperiment.h.

Referenced by wxSurfaceWidget::AddAxisActors(), wxQuantificationWidget::AddAxisActors(), wxSurfaceWidget::CallBackOnLeftDClick(), wxQuantificationWidget::CallBackOnLeftDClick(), cleanContours(), marExperiment::ClearContours(), ClearContoursPartial(), vtk3DSurfaceSTLWidget::ConvertMarAxisToPolyData(), marInterfaceCT::EraseContour(), TreeExtraction_MH_JFC::Execute(), wxSTLWidget_02::ExtractTree2_JF(), TreeExtraction_MH_JFC::FindVit(), generateFile(), get2Dcontour(), get2DDiameterMax(), get2DDiameterMin(), get3Dcontour(), GetActualAxis_dll(), GetActualAxisNumberOfPoints_dll(), GetActualAxisPoint_dll(), marInterfaceCT::getActualQuant(), GetAllAxes_dll(), marInterfaceCT::getAxis(), GetAxisLength_dll(), getCalibration(), getContour(), getContourType(), marInterfaceCT::getHealthySlice(), wxQuantificationWidget::GetHealthySlice(), marInterfaceCT::getHealthySliceEnd(), wxQuantificationWidget::GetHealthySliceRange(), marInterfaceCT::getHealthySliceStart(), getNumberOfContours(), getPoint(), getPointSize(), histogram(), loadMarIsocontour(), markUpLumen(), wxQuantificationWidgetCT::MoveSlider(), wxQuantificationWidget::MoveSlider(), wxProcessingCTWidget::OnExtract(), wxQuantificationWidget::OnHealthySlice_CB(), wxQuantificationWidget::OnSaveContours3D_BT(), wxEmptyPanelWidget_2::PaintVascularTree_MH_JFC(), performAND(), performUnion(), performXOR(), prepareQuantification(), RecalculateAxis(), marExperiment::RecalculateAxis(), wxQuantificationWidget::RefreshAxis(), RegenerateAxis(), marExperiment::RegenerateAxis(), marExperiment::RegenerateSignal(), marInterfaceCT::replaceContour2D(), replaceContour2D(), wxQuantificationWidget::ResetAxis(), vtk3DQuantSurfaceWidget::Set3DEndRegionSliceActor(), vtk3DQuantSurfaceWidget::Set3DHealthySliceActor(), vtk3DQuantSurfaceWidget::Set3DSliceActor(), vtk3DQuantSurfaceWidget::Set3DStartRegionSliceActor(), marInterfaceCT::setActualQuant(), setCalibration(), marInterfaceCT::setHealthySlice(), wxQuantificationWidget::SetHealthySlice(), wxQuantificationWidget::SetManualContour_AddPoint_2DWorld(), wxQuantificationWidget::SetManualContour_ReplaceContour(), setStartIndex(), wxQuantificationWidget::ShowMARACASData(), vtk3DSurfaceSTLWidget::ShowMARACASDataAndAxe(), vtk3DQuantSurfaceWidget::ShowMARACASDataAndAxe(), wxQuantificationWidget::showVariables(), updateCalcPercentage(), updateDiscontinuityThreshold(), updateLumenPercentage(), and wxEmptyPanelWidget_2::WriteSignals().

00064   { 
00065     return( _axes[ i + 1 ] ); 
00066   };

bool marExperimentCT::getCalibration (  ) 

Definition at line 140 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::getCalibration().

00141 {
00142         return ((marAxisCT *)getAxis())->getCalibration();
00143 }

Here is the call graph for this function:

Here is the caller graph for this function:

marContour* marExperiment::getContour ( int  i  )  [inline, inherited]

Definition at line 85 of file marExperiment.h.

Referenced by wxQuantificationWidget::GetStenosisArea(), wxQuantificationWidget::GetStenosisDiameter(), and wxQuantificationWidget::showVariables().

00085 { return(_axes[0]->getContour           ( i ,  _dynData->getVolume( )  ));      };

Here is the caller graph for this function:

marContour * marExperimentCT::getContour ( int  point,
int  contour 
)

Definition at line 30 of file marExperimentCT.cpp.

References marExperiment::getAxis(), and marExperiment::getDynData().

Referenced by marInterfaceCT::getContour().

00030                                                                 {
00031         return ((marAxisCT *)getAxis())->getContour(point,getDynData()->getVolume(),contour);
00032 }

Here is the call graph for this function:

Here is the caller graph for this function:

int marExperimentCT::getContourType ( int  point,
int  index 
)

Definition at line 123 of file marExperimentCT.cpp.

References marExperiment::getAxis(), and marExperiment::getDynData().

Referenced by marInterfaceCT::getContourType().

00123                                                             {
00124         return ((marAxisCT *)getAxis())->getContourType(point, index, getDynData()->getVolume());
00125 }

Here is the call graph for this function:

Here is the caller graph for this function:

wxString& marExperiment::getDescription (  )  [inline, inherited]

Definition at line 34 of file marExperiment.h.

00034 { return( _description ); };

marDynData* marExperiment::getDynData (  )  [inline, inherited]
int marExperiment::getNumberOfAxes (  )  [inline, inherited]

Definition at line 58 of file marExperiment.h.

Referenced by TreeExtraction_MH_JFC::Execute(), TreeExtraction_MH_JFC::FindVit(), GetAllAxes_dll(), GetNumberOfAxes_dll(), wxEmptyPanelWidget_2::PaintVascularTree_MH_JFC(), and wxEmptyPanelWidget_2::WriteSignals().

00059   {
00060     return( _axes.size( ) - 1 );
00061   };

Here is the caller graph for this function:

int marExperimentCT::getNumberOfContours ( int  point  ) 

Definition at line 55 of file marExperimentCT.cpp.

References marExperiment::getAxis(), and marExperiment::getDynData().

Referenced by marInterfaceCT::getNumberOfContours().

00055                                                   {
00056         return ((marAxisCT *)getAxis())->getNumberOfContours(point,getDynData()->getVolume( )) ;
00057 }

Here is the call graph for this function:

Here is the caller graph for this function:

int marExperiment::getNumberOfSlices (  )  [inline, inherited]
marParameters* marObject::getParameters (  )  [inline, inherited]
marPoint * marExperimentCT::getPoint ( int  i  ) 

Definition at line 164 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::getPoint().

00165 {
00166         return ((marAxisCT *)getAxis())->getPoint(i);
00167 }

Here is the call graph for this function:

Here is the caller graph for this function:

int marExperimentCT::getPointSize (  ) 

Definition at line 158 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::getPointSize().

00159 {
00160         return ((marAxisCT *)getAxis())->getPointSize();
00161 }

Here is the call graph for this function:

Here is the caller graph for this function:

int marExperiment::getQuantFinish (  )  [inline, inherited]

Definition at line 80 of file marExperiment.h.

Referenced by marInterfaceCT::getQuantFinish().

00080 { return _axes[0]->getFinishQuant( );};

Here is the caller graph for this function:

int marExperiment::getQuantStart (  )  [inline, inherited]

Definition at line 79 of file marExperiment.h.

Referenced by marInterfaceCT::getQuantStart().

00079 { return _axes[0]->getStartQuant( );};

Here is the caller graph for this function:

double marExperiment::getReferenceArea (  )  [inline, inherited]

Definition at line 94 of file marExperiment.h.

Referenced by marInterfaceCT::getReferenceArea(), wxQuantificationWidget::GetStenosisArea(), and wxQuantificationWidget::showVariables().

00094 { return _axes[0]->getReferenceArea( _dynData->getVolume( ));                   };

Here is the caller graph for this function:

double marExperiment::getReferenceAverDiam (  )  [inline, inherited]

Definition at line 95 of file marExperiment.h.

Referenced by marInterfaceCT::getReferenceAverDiam(), wxQuantificationWidget::GetStenosisDiameter(), and wxQuantificationWidget::showVariables().

00095 { return _axes[0]->getReferenceAverDiam( _dynData->getVolume( ));               };

Here is the caller graph for this function:

vtkImageData* marExperiment::getSliceImage ( int  i  )  [inline, inherited]

Definition at line 86 of file marExperiment.h.

Referenced by marInterfaceCT::getSliceImage(), wxQuantificationWidget::GetVolumeAxisExtended(), wxQuantificationWidget::RefreshAxis(), and wxQuantificationWidget::ShowMARACASData().

00086 { return(_axes[0]->getSliceImage        ( i ,  _dynData->getVolume( )  ));      };

Here is the caller graph for this function:

double marExperiment::getSubAxisLength (  )  [inline, inherited]

Definition at line 93 of file marExperiment.h.

Referenced by marInterfaceCT::getSubAxisLength(), and wxQuantificationWidget::showVariables().

00093 { return _axes[0]->getSubAxisLength() * _dynData->getActualVoxel();             };

Here is the caller graph for this function:

double marExperiment::getTotalLength (  )  [inline, inherited]

Definition at line 92 of file marExperiment.h.

Referenced by marInterfaceCT::getTotalLength(), and wxQuantificationWidget::showVariables().

00092 { return _axes[0]->getTotalLength() * _dynData->getActualVoxel() ;              };

Here is the caller graph for this function:

void marExperiment::getVOI ( int *  voi  )  [inline, inherited]

Definition at line 39 of file marExperiment.h.

Referenced by wxEmptyPanelWidget_2::OnBtnExtractTree_MH_JFC(), wxSTLWidget_02::wxSTLWidget_02(), and wxSTLWidget_03::wxSTLWidget_03().

00039 { memcpy( voi, _voi, sizeof( int ) * 6 ); };

Here is the caller graph for this function:

void marExperimentCT::histogram ( int  point  ) 

Definition at line 128 of file marExperimentCT.cpp.

References marExperiment::getAxis(), marExperiment::getDynData(), and marDynData::getVolume().

Referenced by marInterfaceCT::histogram().

00128                                          {
00129         
00130         ((marAxisCT *)getAxis())->histogram(point, getDynData()->getVolume());
00131 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperiment::initExperiment ( kVolume *  volume  )  [inherited]

Definition at line 39 of file marExperiment.cpp.

References marExperiment::_dynData, marExperiment::_voi, marObject::getParameters(), marDynData::loadData(), and marExperiment::reset().

Referenced by marInterfaceCT::initExperiment(), marInterface::initExperiment(), InitExperiment_dll(), wxEmptyPanelWidget_2::OnBtnExtractTree_MH_JFC(), and wxProcessingCTWidget::OnExtract().

00040 {
00041   {
00042     reset( );
00043     _dynData = new marDynData( getParameters( ) );
00044 
00045      _dynData->loadData( volume, _voi );
00046 
00047 /* EED Borrame
00048 #ifndef DXMM
00049      _dynData->loadData( volume, _voi );
00050 #else
00051     _dynData->loadDataDXMM( volume, _voi );
00052 #endif
00053 */
00054   }
00055 }

Here is the call graph for this function:

Here is the caller graph for this function:

bool marObject::load ( std::string &  nr  )  [inherited]

Definition at line 67 of file marObject.cpp.

References marObject::load().

Referenced by marObject::load().

00068 {
00069     std::ifstream is( nr.c_str( ) );
00070 
00071     if( is ) {
00072 
00073         load( is );
00074         is.close( );
00075         return( true );
00076 
00077     } // fi
00078 
00079     return( false );
00080 }

Here is the call graph for this function:

Here is the caller graph for this function:

bool marExperiment::load ( std::ifstream &  is  )  [virtual, inherited]

Implements marObject.

Definition at line 290 of file marExperiment.cpp.

References marExperiment::_axes, marExperiment::_description, marExperiment::_dynData, marExperiment::_startPoint, marExperiment::_voi, marObject::getParameters(), marAxis::load(), marDynData::load(), and marExperiment::reset().

Referenced by marInterfaceCT::loadExperiment(), and marInterface::loadExperiment().

00291 {
00292 
00293   int i, n;
00294   char ttmp[ 5000 ];
00295   size_t st;
00296   marAxis* ax;
00297 
00298   reset( );
00299 
00300   is.read( ( char* )&st, sizeof( size_t ) );
00301   is.read( ( char* )ttmp, sizeof( char ) * st );
00302   ttmp[ st ] = '\0';
00303 
00304 // EED 05 join 2007
00305 // _description  = ttmp;
00306   _description   = wxString(ttmp, wxConvUTF8);
00307 
00308   is.read( ( char* )_startPoint, 3 * sizeof( int ) );
00309   is.read( ( char* )_voi, 6 * sizeof( int ) );
00310 
00311   _dynData = new marDynData( getParameters( ) );
00312   _dynData->load( is );
00313 
00314   is.read( ( char* )&n, sizeof( int ) );
00315   for( i = 1; i <= n; i++ ) {
00316     ax = new marAxis( getParameters( ) );
00317     ax->load( is );
00318     _axes.push_back( ax );
00319     _axes[ 0 ] = ax;
00320   } // rof
00321   return( true );
00322 }

Here is the call graph for this function:

Here is the caller graph for this function:

marIsocontour * marExperimentCT::loadMarIsocontour ( int  size,
double *  vx,
double *  vy 
)

Definition at line 197 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::loadMarIsocontour().

00198 {
00199         return ((marAxisCT *)getAxis())->loadMarIsocontour(size,vx,vy);
00200 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marObject::makeACopyParameters (  )  [inline, inherited]

Definition at line 48 of file marObject.h.

00049     {
00050             copyParameters( _parameters );
00051     }

void marExperimentCT::markUpLumen ( int  point  ) 

Definition at line 170 of file marExperimentCT.cpp.

References marExperiment::getAxis(), marExperiment::getDynData(), and marDynData::getVolume().

Referenced by marInterfaceCT::markUpLumen().

00171 {
00172         ((marAxisCT *)getAxis())->markUpLumen(point, getDynData()->getVolume());
00173 }

Here is the call graph for this function:

Here is the caller graph for this function:

bool marObject::parametersOwned (  )  [inline, inherited]

Definition at line 56 of file marObject.h.

00056 { return( _parametersCopied ); };

double marExperimentCT::performAND ( int  type,
std::vector< marIsocontour * >  manual 
)

Definition at line 211 of file marExperimentCT.cpp.

References marExperiment::getAxis(), marExperiment::getDynData(), and marDynData::getVolume().

Referenced by marInterfaceCT::performAND().

00212 {
00213         int point = ((marAxisCT *)getAxis())->getActualQuant();
00214          
00215         return ((marAxisCT *)getAxis())->performAND(type,point,manual, getDynData()->getVolume());
00216         
00217 
00218 }

Here is the call graph for this function:

Here is the caller graph for this function:

double marExperimentCT::performUnion ( int  type,
std::vector< marIsocontour * >  manual 
)

Definition at line 221 of file marExperimentCT.cpp.

References marExperiment::getAxis(), marExperiment::getDynData(), and marDynData::getVolume().

Referenced by marInterfaceCT::performUnion().

00222 {
00223         int point = ((marAxisCT *)getAxis())->getActualQuant();
00224          
00225         return ((marAxisCT *)getAxis())->performUnion(type,point,manual, getDynData()->getVolume());
00226 }

Here is the call graph for this function:

Here is the caller graph for this function:

double marExperimentCT::performXOR ( int  type,
std::vector< marIsocontour * >  manual 
)

Definition at line 203 of file marExperimentCT.cpp.

References marExperiment::getAxis(), marExperiment::getDynData(), and marDynData::getVolume().

Referenced by marInterfaceCT::performXOR().

00204 {
00205         int point = ((marAxisCT *)getAxis())->getActualQuant();
00206 
00207         return ((marAxisCT *)getAxis())->performXOR(type,point,manual, getDynData()->getVolume());
00208 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperiment::prepareContourImages (  )  [inherited]

Definition at line 259 of file marExperiment.cpp.

References marExperiment::_axes, marExperiment::_dynData, and marDynData::getVolume().

00260 {
00261   if( _axes[ 0 ] )
00262     _axes[ 0 ]->sliceVolumeAxis( _dynData->getVolume( ) );
00263 }

Here is the call graph for this function:

void marExperimentCT::prepareQuantification (  ) 

Reimplemented from marExperiment.

Definition at line 60 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::prepareQuantification().

00060                                              {
00061 
00062         if(getAxis())
00063         {
00064                 ((marAxisCT *)getAxis())->eraseContours();
00065                 ((marAxisCT *)getAxis())->createEmptyContours();
00066                 marExperiment::prepareQuantification();
00067         }
00068         
00069 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperimentCT::RecalculateAxis (  ) 

Reimplemented from marExperiment.

Definition at line 84 of file marExperimentCT.cpp.

References marExperiment::getAxis().

00084                                       {
00085 
00086         if (getAxis()!=NULL){
00087                 ((marAxisCT *)getAxis())->eraseContours();
00088                 ((marAxisCT *)getAxis())->createEmptyContours();
00089                 marExperiment::RecalculateAxis();
00090         }
00091         
00092 }

Here is the call graph for this function:

void marExperimentCT::RegenerateAxis (  ) 

Reimplemented from marExperiment.

Definition at line 72 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::RecalculateAxis(), and marInterfaceCT::RegenerateAxis().

00072                                      {
00073 
00074         if (getAxis()!=NULL){
00075                 ((marAxisCT *)getAxis())->eraseContours();
00076                 ((marAxisCT *)getAxis())->createEmptyContours();
00077         //      marExperiment::RegenerateAxis();
00078         }
00079 
00080         
00081 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperiment::RegenerateSignal (  )  [inherited]

Definition at line 358 of file marExperiment.cpp.

References marExperiment::_dynData, marAxis::calculateSignal(), marAxis::eraseContourVectorsContent(), marExperiment::getAxis(), and marDynData::getVolume().

Referenced by marInterfaceCT::RegenerateSignal(), and wxMaracasQuantification::RegenerateSignal().

00358                                     {
00359         marAxis *maraxis = getAxis(); 
00360         if (maraxis!=NULL) {
00361                 maraxis->calculateSignal( _dynData->getVolume( ) );
00362                 maraxis->eraseContourVectorsContent();                   
00363         }
00364 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperimentCT::replaceContour2D ( int  size,
double *  vx,
double *  vy,
int  type 
)

Definition at line 183 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::replaceContour2D().

00184 {
00185         int point = ((marAxisCT *)getAxis())->getActualQuant();
00186         ((marAxisCT *)getAxis())->replaceContour2D(point,size,vx,vy,type);
00187 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperiment::reset (  )  [virtual, inherited]

Virtual general methods (must be defined in each sub-class).

Implements marObject.

Definition at line 231 of file marExperiment.cpp.

References marExperiment::_axes, marExperiment::_description, and marExperiment::_dynData.

Referenced by marInterfaceCT::initExperiment(), marInterface::initExperiment(), marExperiment::initExperiment(), marExperiment::load(), marInterfaceCT::loadExperiment(), marInterface::loadExperiment(), and marExperiment::~marExperiment().

00232 {
00233   int i;
00234 
00235   _description = _T("");
00236   if( _dynData != NULL ) delete _dynData;
00237     
00238  
00239   _dynData = NULL;
00240 
00241   for( i = 1; i < _axes.size( ); i++ ){
00242     if (_axes[ i ]!=NULL) delete _axes[ i ];
00243   }
00244 
00245   _axes.clear( );
00246   _axes.push_back( NULL );
00247 // PS ->   // PS Et les images ???? _quantificationImages
00248 }

Here is the caller graph for this function:

bool marObject::save ( std::string &  nw  )  [inherited]

Persistence methods

Definition at line 51 of file marObject.cpp.

References marObject::save().

00052 {
00053     std::ofstream os( nw.c_str( ) );
00054 
00055     if( os ) {
00056 
00057         save( os );
00058         os.close( );
00059         return( true );
00060 
00061     } // fi
00062 
00063     return( false );
00064 }

Here is the call graph for this function:

bool marExperiment::save ( std::ofstream &  os  )  [virtual, inherited]

Virtual persistence methods (must be defined in each sub-class).

Implements marObject.

Definition at line 271 of file marExperiment.cpp.

References marExperiment::_axes, marExperiment::_description, marExperiment::_dynData, marExperiment::_startPoint, marExperiment::_voi, and marDynData::save().

Referenced by marInterfaceCT::saveExperiment(), and marInterface::saveExperiment().

00272 {
00273   int i;
00274   size_t st;
00275 
00276   st = _description.length( );
00277   os.write( ( const char* )&st, sizeof( size_t ) );
00278   os.write( ( const char* )_description.c_str( ), sizeof( char ) * st );
00279   os.write( ( const char* )_startPoint, 3 * sizeof( int ) );
00280   os.write( ( const char* )_voi, 6 * sizeof( int ) );
00281   _dynData->save( os );
00282   i = _axes.size( ) - 1;
00283   os.write( ( const char* )&i, sizeof( int ) );
00284   for( i = 1; i < _axes.size( ); i++ )
00285     _axes[ i ]->save( os );
00286   return( true );
00287 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperiment::setAxis ( int  i  )  [inline, inherited]
void marExperimentCT::setCalibration ( bool  calib  ) 

Definition at line 134 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::setCalibration(), and updateDiscontinuityThreshold().

00135 {
00136         ((marAxisCT *)getAxis())->setCalibration(calib);
00137 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperiment::setDescription ( wxString &  d  )  [inline, inherited]

Definition at line 35 of file marExperiment.h.

00035 { _description = d; };

void marObject::setParameters ( marParameters p  )  [inherited]

Parameters assignation methods.

You can assign a marParameters object by reference (setParameters) or by value (copyParameters). Besides, if you want to make your actual reference to be by value, call makeACopyParameters.

Definition at line 34 of file marObject.cpp.

References marObject::_parameters, and marObject::_parametersCopied.

00035 {
00036     if( _parametersCopied && _parameters != NULL ) delete _parameters;
00037     _parameters = p;
00038     _parametersCopied = false;
00039 }

void marExperimentCT::setStartIndex ( int  start  ) 

Definition at line 152 of file marExperimentCT.cpp.

References marExperiment::getAxis().

Referenced by marInterfaceCT::setStartIndex().

00153 {
00154         ((marAxisCT *)getAxis())->setStartIndex(start);
00155 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperiment::setStartPoint ( int  sx,
int  sy,
int  sz 
) [inherited]

Definition at line 58 of file marExperiment.cpp.

References marExperiment::_startPoint.

00059 {
00060 // EED 22 sep 2006
00061 //  _startPoint[ 0 ] = ( int )( ( double )sx * getParameters( )->getVoxelSize( ) );
00062 //  _startPoint[ 1 ] = ( int )( ( double )sy * getParameters( )->getVoxelSize( ) );
00063 //  _startPoint[ 2 ] = ( int )( ( double )sz * getParameters( )->getVoxelSize( ) );
00064 
00065   _startPoint[ 0 ] = sx;
00066   _startPoint[ 1 ] = sy;
00067   _startPoint[ 2 ] = sz;
00068 
00069 }

void marExperiment::setStartPoint ( int *  sp  )  [inline, inherited]
void marExperiment::setVOI ( int *  voi  )  [inline, inherited]

Definition at line 40 of file marExperiment.h.

Referenced by InitExperiment_dll(), wxEmptyPanelWidget_2::OnBtnExtractTree_MH_JFC(), wxProcessingCTWidget::OnExtract(), wxMaracasFrame::OnStartExperiment(), wxSTLWidget_02::wxSTLWidget_02(), and wxSTLWidget_03::wxSTLWidget_03().

00040 { memcpy( _voi, voi, sizeof( int ) * 6 ); };

Here is the caller graph for this function:

void marExperimentCT::updateCalcPercentage ( int  percentage  ) 

Definition at line 103 of file marExperimentCT.cpp.

References marExperiment::getAxis(), marExperiment::getDynData(), marObject::getParameters(), marDynData::getVolume(), and marParameters::setCalcPercentage().

Referenced by marInterfaceCT::updateCalcPercentage().

00104 {
00105         int point = ((marAxisCT *)getAxis())->getActualQuant();
00106         ((marAxisCT *)getAxis())->getParameters()->setCalcPercentage(percentage);
00107         ((marAxisCT *)getAxis())->updateCalcPercentage(point,getDynData()->getVolume());
00108 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperimentCT::updateDiscontinuityThreshold ( int  percentage  ) 

Definition at line 111 of file marExperimentCT.cpp.

References marExperiment::getAxis(), marObject::getParameters(), setCalibration(), and marParameters::setContourThresh().

Referenced by marInterfaceCT::updateDiscontinuityThreshold().

00112 {
00113         ((marAxisCT *)getAxis())->getParameters()->setContourThresh(percentage);
00114         ((marAxisCT *)getAxis())->eraseContours();
00115         ((marAxisCT *)getAxis())->createEmptyContours();
00116         ((marAxisCT *)getAxis())->setCalibration(false);
00117 
00118 }

Here is the call graph for this function:

Here is the caller graph for this function:

void marExperimentCT::updateLumenPercentage ( int  percentage  ) 

Definition at line 95 of file marExperimentCT.cpp.

References marExperiment::getAxis(), marExperiment::getDynData(), marObject::getParameters(), marDynData::getVolume(), and marParameters::setLumenPercentage().

Referenced by marInterfaceCT::updateLumenPercentage().

00096 {
00097         int point = ((marAxisCT *)getAxis())->getActualQuant();
00098         ((marAxisCT *)getAxis())->getParameters()->setLumenPercentage(percentage);
00099         ((marAxisCT *)getAxis())->updateLumenPercentage(point,getDynData()->getVolume());
00100 }

Here is the call graph for this function:

Here is the caller graph for this function:


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

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1