]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx
DFCH: ManualPaint, ImageUndoRedo (module) 70%.
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / imageUndoRedo / imageInfoUR.cxx
diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/imageUndoRedo/imageInfoUR.cxx
new file mode 100755 (executable)
index 0000000..b45e21d
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * ImageInfo.cxx
+ *
+ *  Created on: Sep 22, 2011
+ *      Author: caceres
+ */
+#include "imageInfoUR.h"
+
+ImageInfoUR::ImageInfoUR() {
+       this->m_Image = NULL;
+       this->m_OnMemory = false;
+       this->m_OnDisk = false;
+}
+
+ImageInfoUR::~ImageInfoUR() {
+       this->m_Image->Delete();
+}
+
+void ImageInfoUR::SetImageName(const std::string &imgName) {
+       this->m_ImageName = imgName;
+}
+void ImageInfoUR::SetRegion(const RegionStructUR &region) {
+       this->m_Region = region;
+}
+void ImageInfoUR::SetStatus(const bool& onMemory) {
+       this->m_OnMemory = onMemory;
+}
+void ImageInfoUR::SetImage(vtkImageData* img) {
+       this->m_Image = img;
+       this->SetStatus(true);
+}
+std::string ImageInfoUR::GetImageName() {
+       return (this->m_ImageName);
+}
+RegionStructUR ImageInfoUR::GetRegion() {
+       return (this->m_Region);
+}
+bool ImageInfoUR::GetStatus() {
+       return (this->m_OnMemory);
+}
+void ImageInfoUR::RemoveImageFromMemory(const std::string& gPath) {
+       if (!this->m_OnDisk) {
+               this->SaveImageAsMHD(gPath);
+       }
+       this->m_Image->Delete();
+       this->SetStatus(false);
+}
+void ImageInfoUR::LoadImageMHDToMemory(const std::string& gPath) {
+       std::string filename = gPath + this->m_ImageName;
+       vtkSmartPointer<vtkMetaImageReader> reader = vtkSmartPointer<
+                       vtkMetaImageReader>::New();
+       reader->SetFileName(filename.c_str());
+       this->m_Image = reader->GetOutput();
+       this->m_OnMemory = true;
+}
+void ImageInfoUR::SaveImageAsMHD(const std::string& gPath) {
+       this->m_OnDisk = true;
+       std::string filename = gPath + this->m_ImageName;
+       vtkSmartPointer<vtkMetaImageWriter> w =
+                       vtkSmartPointer<vtkMetaImageWriter>::New();
+       w->SetInput(this->m_Image);
+       w->SetCompression(false);
+       w->SetFileDimensionality(this->m_Image->GetDataDimension());
+       w->SetFileName(filename.c_str());
+       w->Update();
+       w->Write();
+       w->Delete();
+}
+
+void ImageInfoUR::RemoveImageFromDisk(const std::string& gPath)
+{
+
+}