OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimSingleImageChain.h
Go to the documentation of this file.
1 //---
2 //
3 // License: MIT
4 //
5 // Author: David Burken
6 //
7 // Description: Utility class declaration for a single image chain.
8 //
9 //---
10 // $Id$
11 #ifndef ossimSingleImageChain_HEADER
12 #define ossimSingleImageChain_HEADER 1
13 
14 #include <ossim/base/ossimConstants.h> /* OSSIM_DLL */
26 #include <vector>
27 
28 // Forward class declarations:
29 class ossimFilename;
30 class ossimGeoPolygon;
31 class ossimSrcRecord;
32 
59 {
60 public:
61 
64 
66  ossimSingleImageChain(bool addNullPixelFlipFlag,
67  bool addHistogramFlag,
68  bool addResamplerCacheFlag,
69  bool addChainCacheFlag,
70  bool remapToEightBitFlag,
71  bool threeBandFlag,
72  bool threeBandReverseFlag,
73  bool brightnessContrastFlag=false,
74  bool sharpenFlag=false,
75  bool geoPolyCutterFlag=false);
76 
78  virtual ~ossimSingleImageChain();
79 
85  void reset();
86 
102  bool open(const ossimFilename& file, bool openOverview=true);
103 
113  bool open(const ossimSrcRecord& src);
114 
116  bool isOpen() const;
117 
119  void close();
120 
122  ossimFilename getFilename() const;
123 
153  void createRenderedChain();
154 
158  void createRenderedChain(const ossimSrcRecord& src);
159 
171  bool addImageHandler(const ossimFilename& file,
172  bool openOverview=true);
173 
183  bool addImageHandler(const ossimSrcRecord& src);
184 
186  void addBandSelector();
187 
196  void addBandSelector(const ossimSrcRecord& src);
197 
199  void addHistogramRemapper();
200 
209  void addHistogramRemapper(const ossimSrcRecord& src);
210 
216 
218  void addResampler();
219 
224  void addRenderer();
225 
230  void addScalarRemapper();
231 
236  void addBrightnessContrast();
237 
241  void addSharpen();
242 
243 
247  void addNullPixelFlip();
248  void addNullPixelFlip(const ossimSrcRecord& src);
255  void addGeoPolyCutter();
256 
257  void addGeoPolyCutterPolygon(const vector<ossimGpt>& polygon);
258  void addGeoPolyCutterPolygon(const ossimGeoPolygon& polygon);
259 
264  ossimRefPtr<const ossimImageHandler> getImageHandler() const;
265 
270  ossimRefPtr<ossimImageHandler> getImageHandler();
271 
276  ossimRefPtr<const ossimBandSelector> getBandSelector() const;
277 
281  ossimRefPtr<const ossimNullPixelFlip> getNullPixelFlip() const;
282 
287  ossimRefPtr<ossimBandSelector> getBandSelector();
288 
293  ossimRefPtr<const ossimHistogramRemapper> getHistogramRemapper() const;
294 
299  ossimRefPtr<ossimHistogramRemapper> getHistogramRemapper();
300 
305  ossimRefPtr<const ossimCacheTileSource> getResamplerCache() const;
306 
311  ossimRefPtr<ossimCacheTileSource> getResamplerCache();
312 
317  ossimRefPtr<const ossimImageRenderer> getImageRenderer() const;
318 
323  ossimRefPtr<ossimImageRenderer> getImageRenderer();
324 
329  ossimRefPtr<const ossimScalarRemapper> getScalarRemapper() const;
330 
335  ossimRefPtr<ossimScalarRemapper> getScalarRemapper();
336 
342  getBrightnessContrast() const;
343 
348  ossimRefPtr<ossimBrightnessContrastSource> getBrightnessContrast();
349 
354  ossimRefPtr<const ossimImageSharpenFilter> getSharpenFilter() const;
355 
360  ossimRefPtr<ossimImageSharpenFilter> getSharpenFilter();
361 
366  ossimRefPtr<const ossimCacheTileSource> getChainCache() const;
367 
372  ossimRefPtr<ossimCacheTileSource> getChainCache();
373 
378  void setAddNullPixelFlipFlag(bool flag);
379 
384  bool getNullPixelFlipFlag() const;
385 
386 
387 
392  void setAddHistogramFlag(bool flag);
393 
398  bool getAddHistogramFlag() const;
399 
405  void setAddResamplerCacheFlag(bool flag);
406 
411  bool getAddResamplerCacheFlag() const;
412 
418  void setAddChainCacheFlag(bool flag);
419 
424  bool getAddChainCacheFlag() const;
425 
430  void setRemapToEightBitFlag(bool flag);
431 
436  bool getRemapToEightBitFlag() const;
437 
447  void setThreeBandFlag(bool flag);
448 
453  bool getThreeBandFlag() const;
454 
460  void setThreeBandReverseFlag(bool flag);
461 
466  bool getThreeBandReverseFlag() const;
467 
473  void setBrightnessContrastFlag(bool flag);
474 
479  bool getBrightnessContrastFlag() const;
480 
486  void setSharpenFlag(bool flag);
487 
492  bool getSharpenFlag() const;
493 
503  void setToThreeBands();
504 
514  void setToThreeBandsReverse();
515 
524  void setBandSelection(const std::vector<ossim_uint32>& bandList);
525 
526  void setDefaultBandSelection();
527 
538  ossimScalarType getImageHandlerScalarType() const;
539 
559  bool openHistogram( ossimHistogramRemapper::StretchMode mode );
560 
561 private:
562 
586 
587 };
588 
589 #endif /* #ifndef ossimSingleImageChain_HEADER */
ossimRefPtr< ossimImageSharpenFilter > m_sharpen
Class used for parsing the command line *.src files.
ossimRefPtr< ossimCacheTileSource > m_chainCache
ossimRefPtr< ossimNullPixelFlip > m_nullPixelFlip
ossimRefPtr< ossimBrightnessContrastSource > m_brightnessContrast
ossimRefPtr< ossimGeoPolyCutter > m_geoPolyCutter
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
ossimRefPtr< ossimScalarRemapper > m_scalarRemapper
Single image chain class.
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper
ossimRefPtr< ossimImageRenderer > m_resampler
bool m_addNullPixelFlipFlag
control flags
ossimScalarType
ossimRefPtr< ossimBandSelector > m_bandSelector
#define OSSIM_DLL
ossimRefPtr< ossimCacheTileSource > m_resamplerCache