class vvImageReader;
class vvLandmarks;
+enum WindowLevelPreset {
+ WL_AUTO,
+ WL_HOUNSFIELD,
+ WL_SOFTTISSUE,
+ WL_LUNGS,
+ WL_BONES,
+ WL_HEAD,
+ WL_BINARY,
+ WL_USER,
+ WL_VENTILATION
+};
+
//------------------------------------------------------------------------------
class vvSlicerManager : public QObject {
Q_OBJECT
bool SetImages(std::vector<std::string> filenames, vvImageReader::LoadedImageType type, int n=0);
bool SetOverlay(std::vector<std::string> filenames, int dim, std::string component, vvImageReader::LoadedImageType type);
- bool SetFusion(std::string filename, int dim, std::string component);
+ bool SetFusion(std::vector<std::string> filenames,int dim, std::string component, vvImageReader::LoadedImageType type);
bool SetFusionSequence(std::vector<std::string> filenames, int dim, std::string component, vvImageReader::LoadedImageType type);
///Set a VF by loading it from the disk
bool SetVF(std::string filename);
mFusionSequenceListInitialTransformMatrices.push_back( tmpMat );
}
void SetFusionSequenceIndexOfLinkedManager(int index) { mFusionSequenceIndexLinkedManager = index; }
- void SetFusionSequenceTemporalSignal(std::vector<double> s) { mFusionSequenceTemporalSignal = s; }
+ void SetFusionSequenceCorrespondances(std::vector<unsigned> s) { mFusionSequenceCorrespondances = s; }
void SetFusionSequenceInvolvmentCode(int code) { mFusionSequenceInvolvementCode=code; }
int GetFusionSequenceInvolvmentCode() { return mFusionSequenceInvolvementCode;}
const vtkSmartPointer<vtkMatrix4x4>& GetFusionSequenceInitialTransformMatrixAtFrame(unsigned i) {
return mFusionSequenceListInitialTransformMatrices[i];
}
- const std::vector<double>& GetFusionSequenceTemporalSignal() {return mFusionSequenceTemporalSignal;}
+ const std::vector<unsigned>& GetFusionSequenceCorrespondances() {return mFusionSequenceCorrespondances;}
double GetColorWindow() const;
double GetColorLevel() const;
void SetSlicingPreset(SlicingPresetType preset);
vvLandmarks *GetLandmarks();
- void AddLandmark(float x,float y,float z,float t);
+ void AddNewLandmark(float x,float y,float z,float t);
+ void AddLandmarkProfile(float x,float y,float z,float t);
void NextImage(int slicer);
void PrevImage(int slicer);
void VerticalSliderHasChanged(int slicer, int slice);
double GetScalarComponentAsDouble(vtkImageData *image, double X, double Y, double Z, int component=0);
+public slots:
+ void AddLandmark(float x,float y,float z,float t);
+ void UpdateLandmark();
+
signals :
+ void callAddLandmark(float x,float y,float z,float t);
void currentImageChanged(std::string id);
void currentPickedImageChanged(std::string id);
void UpdatePosition(int visibility,double x, double y, double z, double X, double Y, double Z, double value);
bool mFusionSequenceSpatialSyncFlag, mFusionSequenceTemporalSyncFlag; //flags indicating whether the spatial/temporal synchronization are actives
vtkSmartPointer<vtkMatrix4x4> mFusionSequenceMainTransform;
std::vector< vtkSmartPointer<vtkMatrix4x4> > mFusionSequenceListInitialTransformMatrices;
- std::vector<double> mFusionSequenceTemporalSignal;
+ std::vector<unsigned> mFusionSequenceCorrespondances;
int mPreset;
SlicingPresetType mSlicingPreset;