void ImageInfoUR::SetImageName(const StringType &imgName) {
this->m_ImageName = imgName;
}
+
void ImageInfoUR::SetImageMManager(ImageMManagerType* imMManager) {
this->m_ImageMManager = imMManager;
}
+
void ImageInfoUR::SetStatus(const bool& onMemory) {
this->m_OnMemory = onMemory;
}
-void ImageInfoUR::SetImage(VTKImageDataPointerType img) {
- this->m_Image = img;
- this->SetStatus(true);
-}
+
ImageInfoUR::StringType ImageInfoUR::GetImageName() {
return (this->m_ImageName);
}
-ImageInfoUR::VTKImageDataPointerType ImageInfoUR::GetImage() {
- return (this->m_Image);
+ImageInfoUR::VTKImageDataPointerType ImageInfoUR::GetUndoImage() {
+ return (this->m_UndoImage);
+}
+
+ImageInfoUR::VTKImageDataPointerType ImageInfoUR::GetRedoImage() {
+ return (this->m_RedoImage);
}
ImageInfoUR::ImageMManagerType* ImageInfoUR::GetImageMManager() {
return (this->m_ImageMManager);
}
+
bool ImageInfoUR::GetStatus() {
return (this->m_OnMemory);
}
-void ImageInfoUR::RemoveImageFromMemory(const StringType& gPath) {
- if (!this->m_OnDisk) {
- this->SaveImageAsMHD(gPath);
- }
- this->m_Image = NULL;
- this->SetStatus(false);
+
+void ImageInfoUR::SetImages(VTKImageDataPointerType imgUndo,
+ VTKImageDataPointerType imgRedo) {
+ this->m_UndoImage = imgUndo;
+ this->m_RedoImage = imgRedo;
+ this->SetStatus(true);
}
-void ImageInfoUR::LoadImageMHDToMemory(const StringType& gPath) {
+
+void ImageInfoUR::LoadImagesToMemory(const StringType& gPath) {
+ //setting paths
StringType filename = gPath + this->m_ImageName;
- filename.append(".mhd");
- VTKMetaImageReaderPointerType reader = VTKMetaImageReaderPointerType::New();
- reader->SetFileName(filename.c_str());
- this->m_Image = reader->GetOutput();
- this->m_Image->Update();
+ StringType undoImagePath = filename + "_Undo.mhd";
+ StringType redoImagePath = filename + "_Redo.mhd";
+ //Loading Undo Image
+ VTKMetaImageReaderPointerType readerUndo =
+ VTKMetaImageReaderPointerType::New();
+ readerUndo->SetFileName(undoImagePath.c_str());
+ this->m_UndoImage = readerUndo->GetOutput();
+ this->m_UndoImage->Update();
+ //Loading Redo Image
+ VTKMetaImageReaderPointerType readerRedo =
+ VTKMetaImageReaderPointerType::New();
+ readerRedo->SetFileName(redoImagePath.c_str());
+ this->m_RedoImage = readerRedo->GetOutput();
+ this->m_RedoImage->Update();
+ //Updating status
this->m_OnMemory = true;
}
-void ImageInfoUR::SaveImageAsMHD(const StringType& gPath) {
+
+void ImageInfoUR::RemoveImagesFromMemory(const StringType& gPath) {
+ if (!this->m_OnDisk) {
+ this->SaveImagesOnDisk(gPath);
+ }
+ this->m_UndoImage = NULL;
+ this->m_RedoImage = NULL;
+ this->SetStatus(false);
+}
+
+void ImageInfoUR::SaveImagesOnDisk(const StringType& gPath) {
this->m_OnDisk = true;
- StringType filename = gPath + this->m_ImageName;
- filename.append(".mhd");
//managing temporary files
//EED-11/11/2011 mkstemp((char*) filename.c_str());
+ StringType filename = gPath + this->m_ImageName;
+ StringType undoImagePath = filename + "_Undo.mhd";
+ StringType redoImagePath = filename + "_Redo.mhd";
+ this->SaveImageAsMHD(undoImagePath, this->m_UndoImage);
+ this->SaveImageAsMHD(redoImagePath, this->m_RedoImage);
+}
+
+void ImageInfoUR::RemoveImagesFromDisk(const StringType& gPath) {
+ StringType filename = gPath + this->m_ImageName;
+ StringType undoImagePathMHD = filename + "_Undo.mhd";
+ StringType redoImagePathMHD = filename + "_Redo.mhd";
+ StringType undoImagePathRAW = filename + "_Undo.raw";
+ StringType redoImagePathRAW = filename + "_Redo.raw";
+ //Unlink the files!!
+}
+
+void ImageInfoUR::SaveImageAsMHD(const StringType& filename,
+ VTKImageDataPointerType image) {
VTKMetaImageWriterPointerType w = VTKMetaImageWriterPointerType::New();
- w->SetInput(this->m_Image);
+ w->SetInput(image);
w->SetCompression(false);
- w->SetFileDimensionality(this->m_Image->GetDataDimension());
+ w->SetFileDimensionality(image->GetDataDimension());
w->SetFileName(filename.c_str());
w->Write();
}
-
-void ImageInfoUR::RemoveImageFromDisk(const StringType& gPath) {
- StringType filename = gPath + this->m_ImageName;
- filename.append(".mhd");
- StringType filenameRaw = gPath + this->m_ImageName;
- filenameRaw.append(".raw");
-//EED-11/11/2011 mkstemp((char*) filenameRaw.c_str());
- unlink((char*) filename.c_str());
- unlink((char*) filenameRaw.c_str());
-}