Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

volume_data.h

Go to the documentation of this file.
00001 // Copyright (C) 2005-2008 Washington University in St Louis, Baylor College of Medicine.  All rights reserved
00002 // Author:        Sasakthi S. Abeysinghe (sasakthi@gmail.com)
00003 // Description:   Stores information of a density volume
00004 #include "emdata.h"
00005 using namespace EMAN;
00006 
00007 #ifndef SKELETON_MAKER_VOLUME_DATA_H
00008 #define SKELETON_MAKER_VOLUME_DATA_H
00009 
00010 namespace wustl_mm {
00011         namespace SkeletonMaker {
00012                 class VolumeData {
00013                 public:
00014                 //Constructors & Destructor
00015                         VolumeData(EMData* em); //eman2
00016                         VolumeData(int sizeX, int sizeY, int sizeZ);
00017                         VolumeData(int sizeX, int sizeY, int sizeZ, float val);
00018                         VolumeData(int sizeX, int sizeY, int sizeZ, int offsetX, int offsetY, int offsetZ, VolumeData * data);
00019                         VolumeData(VolumeData& obj); //eman2
00020                         ~VolumeData();
00021 
00022                 //Member functions
00023                         int GetSize(int dimension);
00024                         int GetSizeX();
00025                         int GetSizeY();
00026                         int GetSizeZ();
00027                         float GetSpacing(int dimension);
00028                         float GetSpacingX();
00029                         float GetSpacingY();
00030                         float GetSpacingZ();
00031                         float GetOrigin(int dimension);
00032                         float GetOriginX();
00033                         float GetOriginY();
00034                         float GetOriginZ();
00035                         float GetDataAt(int x, int y, int z);
00036                         float GetDataAt(int index);
00037                         int GetIndex(int x, int y, int z);
00038                         int GetMaxIndex();
00039 
00040                         void SetSpacing(float spacingX, float spacingY, float spacingZ);
00041                         void SetOrigin(float originX, float originY, float originZ);
00042                         void SetDataAt(int x, int y, int z, float value);
00043                         void SetDataAt(int index, float value);
00044                         void Pad(int padBy, double padValue);
00045                         EMData * get_emdata(); //eman2
00046                 private:
00047                         void InitializeVolumeData(int sizeX, int sizeY, int sizeZ, float spacingX, float spacingY, float spacingZ, float originX, float originY, float originZ, bool initializeData, float val);
00048                         void SetSize(int sizeX, int sizeY, int sizeZ);
00049 
00050                 //Member variables
00051                 public:
00052                         bool owns_emdata; //eman2
00053                 private:
00054                         EMData * emdata; //eman2
00055                         
00056                 };
00057 
00058 
00059         }
00060 }
00061 
00062 
00063 #endif

Generated on Tue Jun 11 13:46:20 2013 for EMAN2 by  doxygen 1.3.9.1