OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Image.h
Go to the documentation of this file.
1 //**************************************************************************************************
2 //
3 // OSSIM Open Source Geospatial Data Processing Library
4 // See top level LICENSE.txt file for license information
5 //
6 //**************************************************************************************************
7 #ifndef Image_HEADER
8 #define Image_HEADER 1
9 
10 #include <map>
11 #include <memory>
12 #include <string>
13 #include <ossim/base/ossimGpt.h>
16 #include <ossim/matrix/newmat.h>
19 #include <string>
20 
21 namespace ossim
22 {
23 
28  public std::enable_shared_from_this<Image>
29 {
30 public:
31  static unsigned int UNASSIGNED_PHOTOBLOCK_INDEX;
32 
33  Image(const std::string& imageId,
34  const std::string& filename,
35  const std::string& modelName="",
36  unsigned int entryIndex=0,
37  unsigned int band=1);
38 
39  Image(const Json::Value& image_json_node);
40 
41  ~Image();
42 
43  std::string getImageId() const { return m_imageId; }
44  std::string getFilename() const { return m_filename; }
45  std::string getModelName() const { return m_modelName; }
46  unsigned int getEntryIndex() const { return m_entryIndex; }
47  unsigned int getActiveBand() const { return m_activeBand; }
48 
49  void setImageId(const std::string& id) { m_imageId = id; }
50  void setFilename(const std::string& f) { m_filename = f; }
51  void setEntryIndex(unsigned int i) { m_entryIndex = i; }
52 
57  virtual void getAvailableModels(std::vector< pair<std::string, std::string> >& availableModels) const;
58 
63  virtual void loadJSON(const Json::Value& json);
64 
69  virtual void saveJSON(Json::Value& json) const;
70 
71 protected:
72  std::string m_imageId;
74  unsigned int m_entryIndex;
75  unsigned int m_activeBand;
76  std::string m_modelName;
77  std::vector< pair<std::string, std::string> > m_availableModel;
79 };
80 
81 typedef std::vector< std::shared_ptr<Image> > ImageList;
82 
83 } // End namespace ATP
84 
85 #endif
ossimFilename m_filename
Definition: Image.h:73
void setFilename(const std::string &f)
Definition: Image.h:50
static unsigned int UNASSIGNED_PHOTOBLOCK_INDEX
Definition: Image.h:31
This code was derived from https://gist.github.com/mshockwave.
Definition: Barrier.h:8
std::string m_imageId
Definition: Image.h:72
std::vector< std::shared_ptr< Image > > ImageList
Definition: Image.h:81
ossimRefPtr< ossimSensorModel > m_sensorModel
Definition: Image.h:78
unsigned int getActiveBand() const
Definition: Image.h:47
unsigned int m_activeBand
Definition: Image.h:75
unsigned int m_entryIndex
Definition: Image.h:74
std::string getFilename() const
Definition: Image.h:44
void setEntryIndex(unsigned int i)
Definition: Image.h:51
unsigned int getEntryIndex() const
Definition: Image.h:46
Class representing an Image as used by ossim-msp services.
Definition: Image.h:27
std::vector< pair< std::string, std::string > > m_availableModel
Definition: Image.h:77
std::string getImageId() const
Definition: Image.h:43
Pure virtual interface for classes implementing JSON-based load/save state.
Definition: JsonInterface.h:19
std::string getModelName() const
Definition: Image.h:45
#define OSSIM_DLL
void setImageId(const std::string &id)
Definition: Image.h:49
std::string m_modelName
Definition: Image.h:76