OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Private Attributes | List of all members
ossimSingleImageChain Class Reference

Single image chain class. More...

#include <ossimSingleImageChain.h>

Inheritance diagram for ossimSingleImageChain:
ossimImageChain ossimImageSource ossimConnectableObjectListener ossimConnectableContainerInterface ossimSource ossimListener ossimConnectableObject ossimErrorStatusInterface ossimObject ossimListenerManager ossimPropertyInterface ossimReferenced

Public Member Functions

 ossimSingleImageChain ()
 default constructor More...
 
 ossimSingleImageChain (bool addNullPixelFlipFlag, bool addHistogramFlag, bool addResamplerCacheFlag, bool addChainCacheFlag, bool remapToEightBitFlag, bool threeBandFlag, bool threeBandReverseFlag, bool brightnessContrastFlag=false, bool sharpenFlag=false, bool geoPolyCutterFlag=false)
 Constructor that takes flags. More...
 
virtual ~ossimSingleImageChain ()
 virtual destructor More...
 
void reset ()
 reset method This deletes all links in the chain, zero's out all data members, and sets all flags back to default. More...
 
bool open (const ossimFilename &file, bool openOverview=true)
 open method that takes an image file. More...
 
bool open (const ossimSrcRecord &src)
 open method that takes an ossimSrcRecord. More...
 
bool isOpen () const
 
void close ()
 close method to delete the image handler. More...
 
ossimFilename getFilename () const
 
void createRenderedChain ()
 Create a rendered image chain. More...
 
void createRenderedChain (const ossimSrcRecord &src)
 Create a rendered image chain that takes an ossimSrcRecord. More...
 
bool addImageHandler (const ossimFilename &file, bool openOverview=true)
 Adds an image handler for file. More...
 
bool addImageHandler (const ossimSrcRecord &src)
 Adds an image handler from src record. More...
 
void addBandSelector ()
 Adds a band selector to the end of the chain. More...
 
void addBandSelector (const ossimSrcRecord &src)
 Adds a band selector. More...
 
void addHistogramRemapper ()
 Adds histogram remapper to the chain. More...
 
void addHistogramRemapper (const ossimSrcRecord &src)
 Adds a band selector. More...
 
ossimRefPtr< ossimCacheTileSourceaddCache ()
 Adds a new cache to the current end of the chain. More...
 
void addResampler ()
 Adds a resampler (a.k.a. More...
 
void addRenderer ()
 Adds a resampler (a.k.a. More...
 
void addScalarRemapper ()
 Adds scalar remapper either to the left of the resampler cache or at the end of the chain if not present. More...
 
void addBrightnessContrast ()
 Adds brightness contrast filter the end of the chain if not present. More...
 
void addSharpen ()
 Adds sharpen filter the end of the chain if not present. More...
 
void addNullPixelFlip ()
 Adds the null pixel flip just after the band selection. More...
 
void addNullPixelFlip (const ossimSrcRecord &src)
 
void addGeoPolyCutter ()
 Adds a geo polycutter to allow for cropping imagery or nulling out regions. More...
 
void addGeoPolyCutterPolygon (const vector< ossimGpt > &polygon)
 
void addGeoPolyCutterPolygon (const ossimGeoPolygon &polygon)
 
ossimRefPtr< const ossimImageHandlergetImageHandler () const
 
ossimRefPtr< ossimImageHandlergetImageHandler ()
 
ossimRefPtr< const ossimBandSelectorgetBandSelector () const
 
ossimRefPtr< const ossimNullPixelFlipgetNullPixelFlip () const
 
ossimRefPtr< ossimBandSelectorgetBandSelector ()
 
ossimRefPtr< const ossimHistogramRemappergetHistogramRemapper () const
 
ossimRefPtr< ossimHistogramRemappergetHistogramRemapper ()
 
ossimRefPtr< const ossimCacheTileSourcegetResamplerCache () const
 
ossimRefPtr< ossimCacheTileSourcegetResamplerCache ()
 
ossimRefPtr< const ossimImageRenderergetImageRenderer () const
 
ossimRefPtr< ossimImageRenderergetImageRenderer ()
 
ossimRefPtr< const ossimScalarRemappergetScalarRemapper () const
 
ossimRefPtr< ossimScalarRemappergetScalarRemapper ()
 
ossimRefPtr< const ossimBrightnessContrastSourcegetBrightnessContrast () const
 
ossimRefPtr< ossimBrightnessContrastSourcegetBrightnessContrast ()
 
ossimRefPtr< const ossimImageSharpenFiltergetSharpenFilter () const
 
ossimRefPtr< ossimImageSharpenFiltergetSharpenFilter ()
 
ossimRefPtr< const ossimCacheTileSourcegetChainCache () const
 
ossimRefPtr< ossimCacheTileSourcegetChainCache ()
 
void setAddNullPixelFlipFlag (bool flag)
 If flag is true a null pixel flip will be added to the chain at create time. More...
 
bool getNullPixelFlipFlag () const
 Gets the add histogram flag. More...
 
void setAddHistogramFlag (bool flag)
 If flag is true a histogram will be added to the chain at create time. More...
 
bool getAddHistogramFlag () const
 Gets the add histogram flag. More...
 
void setAddResamplerCacheFlag (bool flag)
 If flag is true a resampler cache will be added to the chain at create time. More...
 
bool getAddResamplerCacheFlag () const
 Gets the add resampler cache flag. More...
 
void setAddChainCacheFlag (bool flag)
 If flag is true a chain cache will be added to the chain at create time. More...
 
bool getAddChainCacheFlag () const
 Gets the add chain cache flag. More...
 
void setRemapToEightBitFlag (bool flag)
 Sets remap to eigth bit flag. More...
 
bool getRemapToEightBitFlag () const
 Get the remap to eight bit flag. More...
 
void setThreeBandFlag (bool flag)
 Sets the three band flag. More...
 
bool getThreeBandFlag () const
 Get the three band flag. More...
 
void setThreeBandReverseFlag (bool flag)
 Sets the three band reverse flag. More...
 
bool getThreeBandReverseFlag () const
 Get the three band reverse flag. More...
 
void setBrightnessContrastFlag (bool flag)
 Sets the brightness contrast flag. More...
 
bool getBrightnessContrastFlag () const
 Get the brightness constrast flag. More...
 
void setSharpenFlag (bool flag)
 Sets the sharpenflag. More...
 
bool getSharpenFlag () const
 Get the sharpen flag. More...
 
void setToThreeBands ()
 Utility method to force 3 band output. More...
 
void setToThreeBandsReverse ()
 Utility method to set to 3 bandsand reverse them. More...
 
void setBandSelection (const std::vector< ossim_uint32 > &bandList)
 method to set band selector. More...
 
void setDefaultBandSelection ()
 
ossimScalarType getImageHandlerScalarType () const
 Convenience method to return the scalar type of the image handler. More...
 
bool openHistogram (ossimHistogramRemapper::StretchMode mode)
 
Convenience method to open the histogram and apply a default stretch. More...
 
- Public Member Functions inherited from ossimImageChain
 ossimImageChain ()
 
virtual ~ossimImageChain ()
 
ossimConnectableObject::ConnectableObjectListgetChainList ()
 
const ossimConnectableObject::ConnectableObjectListgetChainList () const
 
ossimConnectableObjectoperator[] (ossim_uint32 index)
 
virtual ossimConnectableObjectgetConnectableObject (ossim_uint32 index)
 Same as operator[](ossim_uint32 i) More...
 
virtual ossim_int32 indexOf (ossimConnectableObject *obj) const
 
virtual ossimImageSourcegetFirstSource ()
 Return the first source which is the one that first receives the getTile request. More...
 
virtual const ossimImageSourcegetFirstSource () const
 
virtual ossimObjectgetFirstObject ()
 
virtual ossimImageSourcegetLastSource ()
 Return the last source which is the one that last receives the getTile request. More...
 
virtual const ossimImageSourcegetLastSource () const
 
virtual ossimObjectgetLastObject ()
 
bool addFirst (ossimConnectableObject *obj)
 Adds it to the start of the chain. More...
 
bool addLast (ossimConnectableObject *obj)
 Adds it to the end. More...
 
bool deleteFirst ()
 Deletes the first object. More...
 
bool deleteLast ()
 Deletes the last object. More...
 
bool insertRight (ossimConnectableObject *newObj, ossimConnectableObject *rightOfThisObj)
 
bool insertRight (ossimConnectableObject *newObj, const ossimId &id)
 
bool insertLeft (ossimConnectableObject *newObj, const ossimId &id)
 
bool insertLeft (ossimConnectableObject *newObj, ossimConnectableObject *leftOfThisObj)
 
bool replace (ossimConnectableObject *newObj, ossimConnectableObject *oldObj)
 
virtual bool add (ossimConnectableObject *source)
 Will return true or false if an image source was added to the chain. More...
 
virtual ossimRefPtr< ossimImageDatagetTile (const ossimIrect &tileRect, ossim_uint32 resLevel=0)
 Within the image chain will pass the head of the list. More...
 
virtual ossim_uint32 getNumberOfInputBands () const
 this call is passed to the head of the list. More...
 
virtual ossimScalarType getOutputScalarType () const
 This call is passed to the head of the list. More...
 
virtual double getNullPixelValue (ossim_uint32 band=0) const
 Each band has a null pixel associated with it. More...
 
virtual double getMinPixelValue (ossim_uint32 band=0) const
 Returns the min pixel of the band. More...
 
virtual double getMaxPixelValue (ossim_uint32 band=0) const
 Returns the max pixel of the band. More...
 
virtual void getOutputBandList (std::vector< ossim_uint32 > &bandList) const
 Initializes bandList. More...
 
virtual ossim_uint32 getTileWidth () const
 This call is passed to the head of the list. More...
 
virtual ossim_uint32 getTileHeight () const
 This call is passed to the head of the list. More...
 
virtual ossimIrect getBoundingRect (ossim_uint32 resLevel=0) const
 Will pass this call to the head of the list. More...
 
virtual void getValidImageVertices (vector< ossimIpt > &validVertices, ossimVertexOrdering ordering=OSSIM_CLOCKWISE_ORDER, ossim_uint32 resLevel=0) const
 
virtual ossimRefPtr< ossimImageGeometrygetImageGeometry ()
 Returns the image geometry object associated with this tile source or NULL if not defined. More...
 
virtual void getDecimationFactor (ossim_uint32 resLevel, ossimDpt &result) const
 Will return the decimation factor for the given resolution level. More...
 
virtual void getDecimationFactors (vector< ossimDpt > &decimations) const
 
virtual ossim_uint32 getNumberOfDecimationLevels () const
 Will return the number of resolution levels. More...
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=NULL) const
 Will save the state of the chain. More...
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=NULL)
 Will load the state. More...
 
virtual void initialize ()
 
virtual void enableSource ()
 
virtual void disableSource ()
 
bool canConnectMyInputTo (ossim_int32 myInputIndex, const ossimConnectableObject *object) const
 required to be overriden by derived classes More...
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject::ConnectableObjectList findAllObjectsOfType(const RTTItypeid &typeInfo, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject::ConnectableObjectList findAllObjectsOfType(const ossimString &className, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findFirstObjectOfType(const RTTItypeid &typeInfo, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findFirstObjectOfType(const ossimString &className, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findObject(const ossimId &id, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findObject(const ossimConnectableObject *obj, bool recurse=true))
 
virtual void makeUniqueIds ()
 Will cycle through all sources setting their ids. More...
 
virtual ossim_uint32 getNumberOfObjects (bool recurse=true) const
 Returns the number of objects within this container and all child containers. More...
 
virtual ossim_uint32 getNumberOfSources () const
 Deprecated! Please use getNumberOfObjects(false). More...
 
virtual bool addChild (ossimConnectableObject *attachableObject)
 Will add an object to the container and then set the added objects owner to this. More...
 
virtual bool removeChild (ossimConnectableObject *object)
 Will remove the child from the container. More...
 
virtual ossimConnectableObjectremoveChild (const ossimId &id)
 
virtual void getChildren (vector< ossimConnectableObject *> &children, bool immediateChildrenOnlyFlag)
 
virtual void disconnectInputEvent (ossimConnectionEvent &event)
 
virtual void disconnectOutputEvent (ossimConnectionEvent &event)
 
virtual void connectInputEvent (ossimConnectionEvent &event)
 
virtual void connectOutputEvent (ossimConnectionEvent &event)
 
virtual void objectDestructingEvent (ossimObjectDestructingEvent &event)
 
virtual void propagateEventToOutputs (ossimEvent &event)
 
virtual void propagateEventToInputs (ossimEvent &event)
 
virtual void processEvent (ossimEvent &event)
 ProcessEvent. More...
 
virtual void accept (ossimVisitor &visitor)
 We will add a visitor interface for all connectable objects. More...
 
void deleteList ()
 
virtual ossimConnectableObject::ConnectableObjectListimageChainList ()
 These access methods greatly facilitate the implementation of an image chain adaptor class. More...
 
virtual const ossimConnectableObject::ConnectableObjectListimageChainList () const
 
- Public Member Functions inherited from ossimImageSource
 ossimImageSource (ossimObject *owner=0)
 
 ossimImageSource (ossimObject *owner, ossim_uint32 inputListSize, ossim_uint32 outputListSize, bool inputListIsFixedFlag=true, bool outputListIsFixedFlag=true)
 
virtual ~ossimImageSource ()
 
virtual ossimRefPtr< ossimImageDatagetTile (const ossimIpt &origin, ossim_uint32 resLevel=0)
 
virtual bool getTile (ossimImageData *result, ossim_uint32 resLevel=0)
 Method to get a tile. More...
 
virtual ossimObjectgetObject ()
 For RTTI support. More...
 
virtual const ossimObjectgetObject () const
 For RTTI support. More...
 
virtual void getDecimationFactors (std::vector< ossimDpt > &decimations) const
 Will return an array of all decimations for each resolution level. More...
 
virtual ossim_uint32 getNumberOfOutputBands () const
 Returns the number of bands in a tile returned from this TileSource. More...
 
virtual void getBoundingRect (ossimIrect &rect, ossim_uint32 resLevel=0) const
 Gets the bounding rectangle of the source. More...
 
virtual void getValidImageVertices (std::vector< ossimIpt > &validVertices, ossimVertexOrdering ordering=OSSIM_CLOCKWISE_ORDER, ossim_uint32 resLevel=0) const
 ordering specifies how the vertices should be arranged. More...
 
virtual void setImageGeometry (const ossimImageGeometry *geom)
 Default implementation sets geometry of the first input to the geometry specified. More...
 
virtual void saveImageGeometry () const
 Default method to call input's saveImageGeometry. More...
 
virtual void saveImageGeometry (const ossimFilename &geometry_file) const
 Default method to call input's saveImageGeometry. More...
 
virtual ossimRefPtr< ossimPropertygetProperty (const ossimString &name) const
 
virtual void setProperty (ossimRefPtr< ossimProperty > property)
 
virtual void getPropertyNames (std::vector< ossimString > &propertyNames) const
 
virtual bool isIndexedData () const
 
- Public Member Functions inherited from ossimSource
 ossimSource (ossimObject *owner=0)
 
 ossimSource (ossimObject *owner, ossim_uint32 inputListSize, ossim_uint32 outputListSize, bool inputListIsFixedFlag=true, bool outputListIsFixedFlag=true)
 
virtual ~ossimSource ()
 
virtual bool isSourceEnabled () const
 
virtual bool getEnableFlag () const
 
virtual void setEnableFlag (bool flag)
 
virtual bool isInitialized () const
 
virtual void setInitializedFlag (bool flag)
 
virtual std::ostream & print (std::ostream &out) const
 Outputs theErrorStatus as an ossimErrorCode and an ossimString. More...
 
- Public Member Functions inherited from ossimConnectableObject
 ossimConnectableObject (ossimObject *owner=0)
 Base constructor of this object. More...
 
 ossimConnectableObject (ossimObject *owner, ossim_int32 inputListSize, ossim_int32 outputListSize, bool inputListIsFixedFlag=true, bool outputListIsFixedFlag=true)
 
virtual ~ossimConnectableObject ()
 
void setId (const ossimId &id)
 All connectable objects will have id's. More...
 
const ossimIdgetId () const
 Will allow us to get this object's id. More...
 
const ossimObjectgetOwner () const
 Fetches the current owner, most likely a container but not limited to one. More...
 
virtual void changeOwner (ossimObject *owner)
 Permits changing the object's owner. More...
 
virtual void setDescription (const ossimString &description)
 
virtual ossimString getDescription () const
 
virtual bool isConnected (ossimConnectableObjectDirectionType direction=CONNECTABLE_DIRECTION_INPUT) const
 will check the direction specified to see if all slots are full. More...
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findConnectableObject(const ossimId &id))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findObjectOfType(RTTItypeid typeId, ossimConnectableObjectDirectionType directionType, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findObjectOfType(const ossimString &obj, ossimConnectableObjectDirectionType directionType, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual ossimConnectableObject *findInputObjectOfType(const ossimString &className))
 
virtual ossim_int32 findInputIndex (const ossimConnectableObject *object)
 Return a valid index of the input list if the passed in object is found else return -1. More...
 
virtual ossim_int32 findInputIndex (const ossimId &id)
 Return a valid index of the input list if the passed id is found else return -1. More...
 
virtual ossim_int32 findOutputIndex (const ossimConnectableObject *object)
 Return a valid index of the output list if the passed in object is found else return -1. More...
 
virtual ossim_int32 findOutputIndex (const ossimId &id)
 Return a valid index of the output list if the passed in object is found else return -1. More...
 
virtual ossim_int32 getMyInputIndexToConnectTo (ossimConnectableObject *object) const
 Should return the first available index to connect to. More...
 
virtual ossim_int32 getMyOutputIndexToConnectTo (ossimConnectableObject *object) const
 Should return the first available index to connect to. More...
 
virtual bool canConnectMyOutputTo (ossim_int32 myOutputIndex, const ossimConnectableObject *object) const
 default implementation is to allow anyone to connect to us. More...
 
virtual void disconnect (ossimConnectableObject *object=0)
 Will disconnect the object passed in. More...
 
virtual void disconnect (const ossimId &id)
 Will disconnect the object passed in. More...
 
virtual ossimRefPtr< ossimConnectableObjectdisconnectMyInput (ossim_int32 inputIndex, bool disconnectOutputFlag=true, bool createEventFlag=true)
 Will disconnect the object at the given input index and generate a connection event. More...
 
virtual void disconnectMyInput (ossimConnectableObject *input, bool disconnectOutputFlag=true, bool createEventFlag=true)
 Finds the index of the passed in input and calls disconnectMyInput(inputIndex, disconnectOutputFlag, createEventFlag);. More...
 
virtual void disconnectMyInputs (ConnectableObjectList &inputList, bool disconnectOutputFlag=true, bool createEventFlag=true)
 
virtual ossimRefPtr< ossimConnectableObjectdisconnectMyOutput (ossim_int32 outputIndex, bool disconnectInputFlag=true, bool createEventFlag=true)
 Will disconnect the object at the given output index and generate a connection event. More...
 
virtual void disconnectMyOutput (ossimConnectableObject *output, bool disconnectInputFlag=true, bool createEventFlag=true)
 Will disconnect the output object. More...
 
virtual void disconnectMyOutputs (ConnectableObjectList &outputList, bool disconnectOutputFlag=true, bool createEventFlag=true)
 
virtual void disconnectAllInputs ()
 Will disconnect all of the input objects. More...
 
virtual void disconnectAllOutputs ()
 Will disconnect all of the output objects. More...
 
virtual ossim_int32 connectMyInputTo (ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true)
 Will try to connect this objects input to the passed in object. More...
 
virtual ossim_int32 connectMyInputTo (ossim_int32 inputIndex, ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true)
 Will connect the specified input to the passed in object. More...
 
virtual bool connectMyInputTo (ConnectableObjectList &inputList, bool makeOutputConnection=true, bool createEventFlag=true)
 
virtual ossim_int32 connectMyOutputTo (ossimConnectableObject *outputObject, bool makeInputConnection=true, bool createEventFlag=true)
 Will try to connect this objects output to the passed in object. More...
 
virtual bool connectMyOutputTo (ConnectableObjectList &outputList, bool makeInputConnection=true, bool createEventFlag=true)
 
virtual bool connectInputList (ConnectableObjectList &inputList)
 Will disconnect itself from all inputs and reset to the passed in input list. More...
 
virtual bool connectOutputList (ConnectableObjectList &outputList)
 Will disconnect itself from all outputs and reset to the passed in output list. More...
 
virtual ossim_uint32 getNumberOfInputs () const
 Returns the number of input objects. More...
 
virtual ossim_uint32 getNumberOfOutputs () const
 Return the number of output objects. More...
 
ossimConnectableObjectgetInput (ossim_uint32 index=0)
 returns the object at the specified index. More...
 
const ossimConnectableObjectgetInput (ossim_uint32 index=0) const
 returns the object at the specified index. More...
 
ossimConnectableObjectgetOutput (ossim_uint32 index=0)
 returns the object at the specified index. More...
 
const ossimConnectableObjectgetOutput (ossim_uint32 index=0) const
 returns the object at the specified index. More...
 
virtual void setNumberOfInputs (ossim_int32 numberOfInputs)
 Will set the number of inputs. More...
 
virtual bool getInputListIsFixedFlag () const
 
virtual bool getOutputListIsFixedFlag () const
 
virtual void setNumberOfOutputs (ossim_int32 numberOfInputs)
 Will set the number of outputs. More...
 
const ConnectableObjectListgetInputList () const
 
const ConnectableObjectListgetOutputList () const
 
ConnectableObjectListgetInputList ()
 
ConnectableObjectListgetOutputList ()
 
 OSSIM_DEPRECATE_METHOD (virtual void findAllObjectsOfType(ConnectableObjectList &result, const RTTItypeid &typeInfo, bool recurse=true))
 
 OSSIM_DEPRECATE_METHOD (virtual void findAllObjectsOfType(ConnectableObjectList &result, const ossimString &className, bool recurse=true))
 
virtual void setProperty (const ossimString &name, const ossimString &value)
 
virtual ossim_uint32 saveStateOfAllInputs (ossimKeywordlist &kwl, bool saveThisStateFlag=true, ossim_uint32 objectIndex=1, const char *prefix=0) const
 Save the state of all inputs to a keyword list. More...
 
virtual bool fillContainer (ossimConnectableContainer &container)
 Inserts this object and all of its children and inputs into the container provided. More...
 
bool moveInputUp (const ossimId &id)
 Moves the input connection matching id up one in the connection list. More...
 
bool moveInputDown (const ossimId &id)
 Moves the input connection matching id down one in the connection list. More...
 
bool moveInputToTop (const ossimId &id)
 Moves the input connection matching id to the top of the connection list. More...
 
bool moveInputToBottom (const ossimId &id)
 Moves the input connection matching id to the bottom of the connection list. More...
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 
- Public Member Functions inherited from ossimListenerManager
 ossimListenerManager ()
 
virtual ~ossimListenerManager ()
 
virtual void fireEvent (ossimEvent &event)
 
virtual bool addListener (ossimListener *listener)
 
virtual bool removeListener (ossimListener *listener)
 
virtual bool findListener (ossimListener *listener)
 
- Public Member Functions inherited from ossimPropertyInterface
 ossimPropertyInterface ()
 
virtual ~ossimPropertyInterface ()
 
virtual ossimString getPropertyValueAsString (const ossimString &name) const
 
void getPropertyList (std::vector< ossimRefPtr< ossimProperty > > &propertyList) const
 
void setProperties (std::vector< ossimRefPtr< ossimProperty > > &propertyList)
 
- Public Member Functions inherited from ossimErrorStatusInterface
 ossimErrorStatusInterface ()
 
virtual ~ossimErrorStatusInterface ()
 
virtual ossimErrorCode getErrorStatus () const
 
virtual ossimString getErrorStatusString () const
 
virtual void setErrorStatus (ossimErrorCode error_status) const
 
virtual void setErrorStatus () const
 
virtual void clearErrorStatus () const
 
bool hasError () const
 
- Public Member Functions inherited from ossimConnectableObjectListener
 ossimConnectableObjectListener ()
 
virtual ~ossimConnectableObjectListener ()
 
virtual void connectionEvent (ossimConnectionEvent &)
 
virtual void propertyEvent (ossimPropertyEvent &)
 
virtual void addObjectEvent (ossimContainerEvent &)
 
virtual void removeObjectEvent (ossimContainerEvent &)
 
virtual void containerEvent (ossimContainerEvent &)
 
virtual void refreshEvent (ossimRefreshEvent &)
 
- Public Member Functions inherited from ossimListener
 ossimListener ()
 
virtual ~ossimListener ()
 
void enableListener ()
 
void disableListener ()
 
void setListenerEnableFlag (bool flag)
 
bool isListenerEnabled () const
 
bool getListenerEnableFlag () const
 
- Public Member Functions inherited from ossimConnectableContainerInterface
 ossimConnectableContainerInterface (ossimObject *obj)
 
virtual ~ossimConnectableContainerInterface ()
 
virtual ossimConnectableObject::ConnectableObjectList findAllObjectsOfType (const RTTItypeid &typeInfo, bool recurse=true)=0
 
virtual ossimConnectableObject::ConnectableObjectList findAllObjectsOfType (const ossimString &className, bool recurse=true)=0
 
virtual ossimConnectableObjectfindFirstObjectOfType (const RTTItypeid &typeInfo, bool recurse=true)=0
 
virtual ossimConnectableObjectfindFirstObjectOfType (const ossimString &className, bool recurse=true)=0
 
virtual ossimConnectableObjectfindObject (const ossimId &id, bool recurse=true)=0
 
virtual ossimConnectableObjectfindObject (const ossimConnectableObject *obj, bool recurse=true)=0
 
ossimObjectgetObject ()
 
const ossimObjectgetObject () const
 
void deleteAllChildren ()
 
virtual void getChildren (std::vector< ossimConnectableObject *> &children, bool immediateChildrenOnlyFlag)=0
 

Private Attributes

ossimRefPtr< ossimImageHandlerm_handler
 Pointers to links in chain. More...
 
ossimRefPtr< ossimBandSelectorm_bandSelector
 
ossimRefPtr< ossimNullPixelFlipm_nullPixelFlip
 
ossimRefPtr< ossimHistogramRemapperm_histogramRemapper
 
ossimRefPtr< ossimBrightnessContrastSourcem_brightnessContrast
 
ossimRefPtr< ossimImageSharpenFilterm_sharpen
 
ossimRefPtr< ossimScalarRemapperm_scalarRemapper
 
ossimRefPtr< ossimCacheTileSourcem_resamplerCache
 
ossimRefPtr< ossimImageRendererm_resampler
 
ossimRefPtr< ossimGeoPolyCutterm_geoPolyCutter
 
ossimRefPtr< ossimCacheTileSourcem_chainCache
 
bool m_addNullPixelFlipFlag
 control flags More...
 
bool m_addHistogramFlag
 
bool m_addResamplerCacheFlag
 
bool m_addChainCacheFlag
 
bool m_remapToEightBitFlag
 
bool m_threeBandFlag
 
bool m_threeBandReverseFlag
 
bool m_brightnessContrastFlag
 
bool m_sharpenFlag
 
bool m_geoPolyCutterFlag
 

Additional Inherited Members

- Public Types inherited from ossimConnectableObject
enum  ossimConnectableObjectDirectionType { CONNECTABLE_DIRECTION_NONE = 0, CONNECTABLE_DIRECTION_INPUT = 1, CONNECTABLE_DIRECTION_OUTPUT = 2 }
 
typedef std::vector< ossimRefPtr< ossimConnectableObject > > ConnectableObjectList
 
- Protected Member Functions inherited from ossimImageChain
void prepareForRemoval (ossimConnectableObject *connectableObject)
 Inserts all of this object's children and inputs into the container provided. More...
 
bool addAllSources (map< ossimId, vector< ossimId > > &idMapping, const ossimKeywordlist &kwl, const char *prefix=NULL)
 For dynamic loading to take place we must allocate all objects first and then assign id's later. More...
 
void findInputConnectionIds (vector< ossimId > &result, const ossimKeywordlist &kwl, const char *prefix=NULL)
 
bool connectAllSources (const map< ossimId, vector< ossimId > > &idMapping)
 
- Protected Member Functions inherited from ossimImageSource
 ossimImageSource (const ossimImageSource &rhs)
 
const ossimImageSourceoperator= (const ossimImageSource &)
 
- Protected Member Functions inherited from ossimSource
 ossimSource (const ossimSource &rhs)
 
const ossimSourceoperator= (const ossimSource &rhs)
 
- Protected Member Functions inherited from ossimConnectableObject
ossimConnectableObjectfindObjectOfType (ConnectableObjectList *connectableList, ossimVisitor &visitor)
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 
- Protected Member Functions inherited from ossimListenerManager
 ossimListenerManager (const ossimListenerManager &rhs)
 
- Protected Attributes inherited from ossimImageChain
ossimConnectableObject::ConnectableObjectList theImageChainList
 This will hold a sequence of image sources. More...
 
ossimRefPtr< ossimImageDatatheBlankTile
 
bool theLoadStateFlag
 
- Protected Attributes inherited from ossimSource
bool theEnableFlag
 
bool theInitializedFlag
 
- Protected Attributes inherited from ossimConnectableObject
ossimId theId
 
ossimString theDescription
 
ossimObjecttheOwner
 
bool theInputListIsFixedFlag
 Indicates whether the theInputObjectList is fixed. More...
 
bool theOutputListIsFixedFlag
 Indicates whether the theOutputObjectList is fixed. More...
 
ConnectableObjectList theInputObjectList
 Holds a list of input objects. More...
 
ConnectableObjectList theOutputObjectList
 Holds a list of output objects. More...
 
- Protected Attributes inherited from ossimListenerManager
std::list< ossimListener * > theListenerList
 
bool theEnabledFlag
 
std::list< ossimListener * > theDelayedAdd
 
std::list< ossimListener * > theDelayedRemove
 
bool theFireEventFlag
 
- Protected Attributes inherited from ossimErrorStatusInterface
ossimErrorCode theErrorStatus
 
- Protected Attributes inherited from ossimListener
bool theListenerEnableFlag
 
- Protected Attributes inherited from ossimConnectableContainerInterface
ossimObjecttheBaseObject
 

Detailed Description

Single image chain class.

Convenience class for a single image chain.

For code example see: ossim/src/test/ossim-single-image-chain-test.cpp
Just a clarification on "start of chain" versus "end of chain" in this file.

Given chain of: 1) image handler 2) band selector (optional) 3) histogram remapper(optional) 4) scalar remapper (optional) 5) resampler cache 6) resampler 7) band selector (optional when going one band to three) 8) chain cache

The "image handle" is the "start of chain". The "chain cache" is the "end of chain".

Definition at line 58 of file ossimSingleImageChain.h.

Constructor & Destructor Documentation

◆ ossimSingleImageChain() [1/2]

ossimSingleImageChain::ossimSingleImageChain ( )

default constructor

Definition at line 22 of file ossimSingleImageChain.cpp.

23  :
25  m_handler(0),
26  m_bandSelector(0),
29  m_sharpen(0),
32  m_resampler(0),
33  m_chainCache(0),
35  m_addHistogramFlag(false),
37  m_addChainCacheFlag(false),
38  m_remapToEightBitFlag(false),
39  m_threeBandFlag(false),
42  m_sharpenFlag(false),
43  m_geoPolyCutterFlag(false)
44 {
45 }
ossimRefPtr< ossimImageSharpenFilter > m_sharpen
ossimRefPtr< ossimCacheTileSource > m_chainCache
ossimRefPtr< ossimBrightnessContrastSource > m_brightnessContrast
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
ossimRefPtr< ossimScalarRemapper > m_scalarRemapper
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper
ossimRefPtr< ossimImageRenderer > m_resampler
bool m_addNullPixelFlipFlag
control flags
ossimRefPtr< ossimBandSelector > m_bandSelector
ossimRefPtr< ossimCacheTileSource > m_resamplerCache

◆ ossimSingleImageChain() [2/2]

ossimSingleImageChain::ossimSingleImageChain ( bool  addNullPixelFlipFlag,
bool  addHistogramFlag,
bool  addResamplerCacheFlag,
bool  addChainCacheFlag,
bool  remapToEightBitFlag,
bool  threeBandFlag,
bool  threeBandReverseFlag,
bool  brightnessContrastFlag = false,
bool  sharpenFlag = false,
bool  geoPolyCutterFlag = false 
)

Constructor that takes flags.

Definition at line 47 of file ossimSingleImageChain.cpp.

57  :
59  m_handler(0),
60  m_bandSelector(0),
63  m_sharpen(0),
66  m_resampler(0),
67  m_chainCache(0),
68  m_addNullPixelFlipFlag(addNullPixelFlipFlag),
69  m_addHistogramFlag(addHistogramFlag),
70  m_addResamplerCacheFlag(addResamplerCacheFlag),
71  m_addChainCacheFlag(addChainCacheFlag),
72  m_remapToEightBitFlag(remapToEightBitFlag),
73  m_threeBandFlag(threeBandFlag),
74  m_threeBandReverseFlag(threeBandReverseFlag),
75  m_brightnessContrastFlag(brightnessContrastFlag),
76  m_sharpenFlag(sharpenFlag),
77  m_geoPolyCutterFlag(geoPolyCutterFlag)
78 {
79 }
ossimRefPtr< ossimImageSharpenFilter > m_sharpen
ossimRefPtr< ossimCacheTileSource > m_chainCache
ossimRefPtr< ossimBrightnessContrastSource > m_brightnessContrast
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
ossimRefPtr< ossimScalarRemapper > m_scalarRemapper
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper
ossimRefPtr< ossimImageRenderer > m_resampler
bool m_addNullPixelFlipFlag
control flags
ossimRefPtr< ossimBandSelector > m_bandSelector
ossimRefPtr< ossimCacheTileSource > m_resamplerCache

◆ ~ossimSingleImageChain()

ossimSingleImageChain::~ossimSingleImageChain ( )
virtual

virtual destructor

Definition at line 81 of file ossimSingleImageChain.cpp.

References m_bandSelector, m_brightnessContrast, m_chainCache, m_geoPolyCutter, m_handler, m_histogramRemapper, m_nullPixelFlip, m_resampler, m_resamplerCache, m_scalarRemapper, and m_sharpen.

82 {
83  m_handler = 0;
84  m_nullPixelFlip = 0;
85  m_bandSelector = 0;
88  m_sharpen = 0;
89  m_scalarRemapper = 0;
90  m_resamplerCache = 0;
91  m_resampler = 0;
92  m_chainCache = 0;
93  m_geoPolyCutter = 0;
94 
95 }
ossimRefPtr< ossimImageSharpenFilter > m_sharpen
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
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper
ossimRefPtr< ossimImageRenderer > m_resampler
ossimRefPtr< ossimBandSelector > m_bandSelector
ossimRefPtr< ossimCacheTileSource > m_resamplerCache

Member Function Documentation

◆ addBandSelector() [1/2]

void ossimSingleImageChain::addBandSelector ( )

Adds a band selector to the end of the chain.

Definition at line 526 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), and m_bandSelector.

Referenced by createRenderedChain(), setBandSelection(), setDefaultBandSelection(), and setToThreeBands().

527 {
528  if (!m_bandSelector)
529  {
531 
532  // Add to the end of the chain.
534  }
535 }
ossimRefPtr< ossimBandSelector > m_bandSelector
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addBandSelector() [2/2]

void ossimSingleImageChain::addBandSelector ( const ossimSrcRecord src)

Adds a band selector.

This takes an ossimSrcRecord which can contain a band selection list.

Parameters
srcRecord to initialize band selector from.

Definition at line 537 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), ossimSrcRecord::getBands(), m_bandSelector, and ossimBandSelector::setOutputBandList().

538 {
539  if (!m_bandSelector)
540  {
542 
543  // Add to the end of the chain.
545  }
546  if ( src.getBands().size() )
547  {
549  }
550 }
const std::vector< ossim_uint32 > & getBands() const
ossimRefPtr< ossimBandSelector > m_bandSelector
virtual void setOutputBandList(const vector< ossim_uint32 > &outputBandList, bool disablePassThru=false)
Sets the output band list.
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addBrightnessContrast()

void ossimSingleImageChain::addBrightnessContrast ( )

Adds brightness contrast filter the end of the chain if not present.

Definition at line 702 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), and m_brightnessContrast.

Referenced by createRenderedChain().

703 {
704  if ( !m_brightnessContrast )
705  {
707 
708  // Add to the end of the chain.
710  }
711 }
ossimRefPtr< ossimBrightnessContrastSource > m_brightnessContrast
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addCache()

ossimRefPtr< ossimCacheTileSource > ossimSingleImageChain::addCache ( )

Adds a new cache to the current end of the chain.

Returns
Pointer to cache.

Definition at line 658 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), and ossimRefPtr< T >::get().

Referenced by ossimChipProcTool::createInputChain(), and createRenderedChain().

659 {
661 
662  // Add to the end of the chain.
663  addFirst(cache.get());
664 
665  return cache;
666 }
Cache Tile Source.
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addGeoPolyCutter()

void ossimSingleImageChain::addGeoPolyCutter ( )

Adds a geo polycutter to allow for cropping imagery or nulling out regions.

This has no affect on modification of the bounds

Definition at line 724 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), ossimImageChain::getImageGeometry(), m_geoPolyCutter, ossimGeoPolyCutter::setView(), and ossimRefPtr< T >::valid().

Referenced by addGeoPolyCutterPolygon(), and createRenderedChain().

725 {
726  if(!m_geoPolyCutter.valid())
727  {
729 
730  //---
731  // ossimGeoPolyCutter requires a view geometry to transform the points.
732  // So set prior to adding to end of chain if valid. If not, user is
733  // responsible for setting.
734  //---
736  if ( geom.valid() )
737  {
738  m_geoPolyCutter->setView( geom.get() );
739  }
740 
742  }
743 }
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if not defined...
ossimRefPtr< ossimGeoPolyCutter > m_geoPolyCutter
bool valid() const
Definition: ossimRefPtr.h:75
virtual bool setView(ossimObject *baseObject)
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addGeoPolyCutterPolygon() [1/2]

void ossimSingleImageChain::addGeoPolyCutterPolygon ( const vector< ossimGpt > &  polygon)

Definition at line 745 of file ossimSingleImageChain.cpp.

References addGeoPolyCutter(), ossimGeoPolyCutter::addPolygon(), m_geoPolyCutter, and ossimRefPtr< T >::valid().

Referenced by ossimHdf5Tool::loadImageFiles().

746 {
747  if(!m_geoPolyCutter.valid())
748  {
750  }
751 
752  // sanity check to verify that the add did not fail
753  if(m_geoPolyCutter.valid())
754  {
755  m_geoPolyCutter->addPolygon(polygon);
756  }
757 }
ossimRefPtr< ossimGeoPolyCutter > m_geoPolyCutter
bool valid() const
Definition: ossimRefPtr.h:75
void addGeoPolyCutter()
Adds a geo polycutter to allow for cropping imagery or nulling out regions.
virtual void addPolygon(const vector< ossimIpt > &polygon)

◆ addGeoPolyCutterPolygon() [2/2]

void ossimSingleImageChain::addGeoPolyCutterPolygon ( const ossimGeoPolygon polygon)

Definition at line 759 of file ossimSingleImageChain.cpp.

References addGeoPolyCutter(), ossimGeoPolyCutter::addPolygon(), m_geoPolyCutter, and ossimRefPtr< T >::valid().

760 {
761  if(!m_geoPolyCutter.valid())
762  {
764  }
765 
766  // sanity check to verify that the add did not fail
767  if(m_geoPolyCutter.valid())
768  {
769  m_geoPolyCutter->addPolygon(polygon);
770  }
771 }
ossimRefPtr< ossimGeoPolyCutter > m_geoPolyCutter
bool valid() const
Definition: ossimRefPtr.h:75
void addGeoPolyCutter()
Adds a geo polycutter to allow for cropping imagery or nulling out regions.
virtual void addPolygon(const vector< ossimIpt > &polygon)

◆ addHistogramRemapper() [1/2]

void ossimSingleImageChain::addHistogramRemapper ( )

Adds histogram remapper to the chain.

Definition at line 569 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), m_histogramRemapper, and ossimSource::setEnableFlag().

Referenced by createRenderedChain().

570 {
571  if (!m_histogramRemapper)
572  {
574 
576 
577  // Add to the end of the chain.
579  }
580 }
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper
virtual void setEnableFlag(bool flag)
Definition: ossimSource.cpp:99
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addHistogramRemapper() [2/2]

void ossimSingleImageChain::addHistogramRemapper ( const ossimSrcRecord src)

Adds a band selector.

This takes an ossimSrcRecord which can contain a histogram operation to be performed.

Parameters
srcRecord to initialize band selector from.

Definition at line 582 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimFilename::dirCat(), ossimString::downcase(), ossimFilename::fileNoExtension(), ossimRefPtr< T >::get(), ossimImageHandler::getFilename(), ossimImageHandler::getFilenameWithThisExtension(), ossimHistogramRemapper::getHistogramFile(), ossimSrcRecord::getHistogramOp(), ossimSrcRecord::getSupportDir(), ossimHistogramRemapper::LINEAR_1STD_FROM_MEAN, ossimHistogramRemapper::LINEAR_2STD_FROM_MEAN, ossimHistogramRemapper::LINEAR_3STD_FROM_MEAN, ossimHistogramRemapper::LINEAR_AUTO_MIN_MAX, m_handler, m_histogramRemapper, ossimFilename::NIL, ossimHistogramRemapper::openHistogram(), ossimNotify(), ossimNotifyLevel_WARN, ossimSource::setEnableFlag(), ossimFilename::setExtension(), ossimHistogramRemapper::setStretchMode(), ossimString::size(), and ossimRefPtr< T >::valid().

583 {
584  static const char MODULE[] =
585  "ossimSingleImageChain::addHistogramRemapper(const ossimSrcRecord&)";
586 
587  if (!m_histogramRemapper)
588  {
590 
592 
593  // Add to the end of the chain.
595  }
596 
597  if ( src.getHistogramOp().size() && m_handler.valid() )
598  {
599  // Create histogram code here???
600 
601  // Open the histogram if needed.
603  {
604  ossimFilename f;
605  if ( src.getSupportDir().size() )
606  {
607  f = src.getSupportDir();
609  f.setExtension(".his");
610  }
611  else
612  {
614  }
615  if ( m_histogramRemapper->openHistogram( f ) == false )
616  {
618  << MODULE << "\nCould not open: " << f << "\n";
619  }
620  }
621 
622  // Set the histogram strech mode.
623  if ( src.getHistogramOp().size() )
624  {
625  // Enable.
627 
628  // Set the histo mode:
629  ossimString op = src.getHistogramOp();
630  op.downcase();
631  if ( op == "auto-minmax" )
632  {
634  }
635  else if ( (op == "std-stretch-1") || (op == "std-stretch 1") )
636  {
638  }
639  else if ( (op == "std-stretch-2") || (op == "std-stretch 2") )
640  {
642  }
643  else if ( (op == "std-stretch-3") || (op == "std-stretch 3") )
644  {
646  }
647  else
648  {
651  << MODULE << "\nUnhandled operation: " << op << "\n";
652  }
653  }
654 
655  } // End: if ( src.setHistogramOp().size() && m_handler.valid() )
656 }
static const ossimFilename NIL
This was taken from Wx widgets for performing touch and access date stamps.
Definition: ossimFilename.h:40
bool valid() const
Definition: ossimRefPtr.h:75
ossimFilename getHistogramFile() const
Returns the currently opened histogram.
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
const ossimFilename & getSupportDir() const
void setStretchMode(StretchMode mode, bool rebuildTableFlag=false)
Sets remap mode to mode.
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper
virtual const ossimFilename & getFilename() const
Returns the filename.
std::string::size_type size() const
Definition: ossimString.h:405
static ossimString downcase(const ossimString &aString)
Definition: ossimString.cpp:48
virtual void setEnableFlag(bool flag)
Definition: ossimSource.cpp:99
ossimFilename fileNoExtension() const
ossimFilename dirCat(const ossimFilename &file) const
ossimFilename & setExtension(const ossimString &e)
Sets the extension of a file name.
const ossimString & getHistogramOp() const
ossimFilename getFilenameWithThisExtension(const ossimString &ext, bool set_e0_prefix=false) const
Returns the image file with extension set using supplentary directory for dirname if set...
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
bool openHistogram(const ossimFilename &histogram_file)
Open the histogram file.
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addImageHandler() [1/2]

bool ossimSingleImageChain::addImageHandler ( const ossimFilename file,
bool  openOverview = true 
)

Adds an image handler for file.

Parameters
fileFile to open.
openOverviewIf true image handler will attempt to open overview. Note that if you are planning on doing a rendered chain or want to go between res levels you should set this to true. default = true
Returns
true on success, false on error.

Definition at line 413 of file ossimSingleImageChain.cpp.

References ossimImageChain::addLast(), close(), ossimRefPtr< T >::get(), ossimImageHandlerRegistry::instance(), m_handler, ossimImageHandlerRegistry::openConnection(), and ossimRefPtr< T >::valid().

Referenced by open().

414 {
415  bool result = false;
416 
417  close();
418 
419  // m_handler = ossimImageHandlerRegistry::instance()->open(file, true, openOverview);
421 
422  if ( m_handler.valid() )
423  {
424  // Add to the chain. Note: last is really first.
425  addLast( m_handler.get() );
426 
427  result = true;
428  }
429 
430  return result;
431 }
bool addLast(ossimConnectableObject *obj)
Adds it to the end.
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
ossimRefPtr< ossimImageHandler > openConnection(const ossimString &connectionString, bool openOverview=true) const
static ossimImageHandlerRegistry * instance()
void close()
close method to delete the image handler.

◆ addImageHandler() [2/2]

bool ossimSingleImageChain::addImageHandler ( const ossimSrcRecord src)

Adds an image handler from src record.

This take an ossimSrcRecord which can contain a supplemental directory to look for overviews.

Parameters
recRecord to open.
Returns
true on success, false on error.

Definition at line 433 of file ossimSingleImageChain.cpp.

References ossimImageChain::addLast(), close(), ossimString::empty(), ossimRefPtr< T >::get(), ossimSrcRecord::getAttributesKwl(), ossimSrcRecord::getEntryIndex(), ossimSrcRecord::getFilename(), ossimImageHandler::getFilenameWithThisExtension(), ossimSrcRecord::getHistogramPath(), ossimSrcRecord::getMaskPath(), ossimImageHandler::getOverview(), ossimSrcRecord::getOverviewPath(), ossimSrcRecord::getSupportDir(), ossimImageHandlerRegistry::instance(), ossimFilename::isDir(), m_handler, ossimImageHandlerRegistry::open(), ossimImageHandler::openOverview(), ossimFilename::path(), ossimImageHandler::setCurrentEntry(), ossimImageHandler::setSupplementaryDirectory(), ossimString::size(), and ossimRefPtr< T >::valid().

434 {
435  bool result = false;
436 
437  close();
438 
439  // m_handler = ossimImageHandlerRegistry::instance()->open(file, true, openOverview);
441 
442  if ( m_handler.valid() )
443  {
444  // Add to the chain. Note: last is really first.
445  addLast( m_handler.get() );
446 
447  result = true;
448  }
449 
450  return result;
451 
452 // bool result = addImageHandler( src.getFilename() );
453 #if 0
454  if (result)
455  {
456  //---
457  // When loading from ossimSrcRecord typically the overview/histograms are
458  // not in the same directory and the "support" keyword is not set. For
459  // the ossimImageHandler::getFilenameWithThisExtension to work correctly
460  // the ossimImageHandler::theSupplementaryDirectory must be set.
461  // So if the ossimSrcRecord::getSupportDir() is empty and the overview
462  // or histogram is not co-located with the image we will set it here.
463  //---
464  ossimFilename supportDir = src.getSupportDir();
465  if ( supportDir.empty() )
466  {
467  if ( src.getOverviewPath().size() )
468  {
469  if ( src.getOverviewPath().isDir() )
470  {
471  supportDir = src.getOverviewPath();
472  }
473  else
474  {
475  supportDir = src.getOverviewPath().path();
476  }
477  }
478  else if ( src.getHistogramPath().size() )
479  {
480  if ( src.getHistogramPath().isDir() )
481  {
482  supportDir = src.getHistogramPath();
483  }
484  else
485  {
486  supportDir = src.getHistogramPath().path();
487  }
488  }
489  else if ( src.getMaskPath().size() )
490  {
491  if ( src.getMaskPath().isDir() )
492  {
493  supportDir = src.getMaskPath();
494  }
495  else
496  {
497  supportDir = src.getMaskPath().path();
498  }
499  }
500  }
501  if ( supportDir.size() && (src.getFilename().path() != supportDir) )
502  {
503  m_handler->setSupplementaryDirectory( supportDir );
504  }
505  if ( src.getEntryIndex() > 0 ) // defaulted to -1.
506  {
507  m_handler->setCurrentEntry( static_cast<ossim_uint32>( src.getEntryIndex() ) );
508  }
509  if ( m_handler->getOverview() == 0 )
510  {
511  if ( src.getOverviewPath().size() )
512  {
514  }
515  else
516  {
518  m_handler->openOverview( ovrFile );
519  }
520  }
521  }
522  #endif
523  return result;
524 }
ossim_int32 getEntryIndex() const
bool addLast(ossimConnectableObject *obj)
Adds it to the end.
virtual ossimImageHandler * open(const ossimFilename &fileName, bool trySuffixFirst=true, bool openOverview=true) const
open that takes a filename.
bool valid() const
Definition: ossimRefPtr.h:75
const ossimFilename & getMaskPath() const
virtual const ossimImageHandler * getOverview() const
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
bool isDir() const
const ossimFilename & getSupportDir() const
virtual bool openOverview()
Searches for an overview.
const ossimFilename & getOverviewPath() const
See note below on these data members.
const ossimFilename & getFilename() const
const ossimKeywordlist & getAttributesKwl() const
Returns the KWL containing the desired vector representation properties.
std::string::size_type size() const
Definition: ossimString.h:405
const ossimFilename & getHistogramPath() const
bool empty() const
Definition: ossimString.h:411
virtual void setSupplementaryDirectory(const ossimFilename &dir)
Sets the supplementary directory.
static ossimImageHandlerRegistry * instance()
virtual bool setCurrentEntry(ossim_uint32 entryIdx)
ossimFilename getFilenameWithThisExtension(const ossimString &ext, bool set_e0_prefix=false) const
Returns the image file with extension set using supplentary directory for dirname if set...
ossimFilename path() const
void close()
close method to delete the image handler.

◆ addNullPixelFlip() [1/2]

void ossimSingleImageChain::addNullPixelFlip ( )

Adds the null pixel flip just after the band selection.

Definition at line 552 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), and m_nullPixelFlip.

Referenced by createRenderedChain().

553 {
554  if(!m_nullPixelFlip)
555  {
558  }
559 }
ossimRefPtr< ossimNullPixelFlip > m_nullPixelFlip
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addNullPixelFlip() [2/2]

void ossimSingleImageChain::addNullPixelFlip ( const ossimSrcRecord src)

Definition at line 560 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), and m_nullPixelFlip.

561 {
562  if(!m_nullPixelFlip)
563  {
566  }
567 }
ossimRefPtr< ossimNullPixelFlip > m_nullPixelFlip
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addRenderer()

void ossimSingleImageChain::addRenderer ( )

Adds a resampler (a.k.a.

"renderer") to the end of the chain. This method in turn calls "addResampler()".

Definition at line 678 of file ossimSingleImageChain.cpp.

References addResampler().

679 {
680  addResampler();
681 }
void addResampler()
Adds a resampler (a.k.a.

◆ addResampler()

void ossimSingleImageChain::addResampler ( )

Adds a resampler (a.k.a.

"renderer") to the end of the chain.

Definition at line 668 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), and m_resampler.

Referenced by addRenderer(), ossimChipProcTool::createInputChain(), and createRenderedChain().

669 {
670  if ( !m_resampler )
671  {
673 
674  // Add to the end of the chain.
676  }
677 }
ossimRefPtr< ossimImageRenderer > m_resampler
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ addScalarRemapper()

void ossimSingleImageChain::addScalarRemapper ( )

Adds scalar remapper either to the left of the resampler cache or at the end of the chain if not present.

Definition at line 683 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), ossimImageChain::insertLeft(), m_resamplerCache, m_scalarRemapper, and ossimRefPtr< T >::valid().

Referenced by createRenderedChain().

684 {
685  if ( !m_scalarRemapper )
686  {
688 
689  if ( m_resamplerCache.valid() )
690  {
691  // Add to the left of the resampler cache.
693  }
694  else
695  {
696  // Add to the end of the chain.
698  }
699  }
700 }
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimScalarRemapper > m_scalarRemapper
bool insertLeft(ossimConnectableObject *newObj, const ossimId &id)
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.
ossimRefPtr< ossimCacheTileSource > m_resamplerCache

◆ addSharpen()

void ossimSingleImageChain::addSharpen ( )

Adds sharpen filter the end of the chain if not present.

Definition at line 713 of file ossimSingleImageChain.cpp.

References ossimImageChain::addFirst(), ossimRefPtr< T >::get(), and m_sharpen.

Referenced by createRenderedChain().

714 {
715  if ( !m_sharpen )
716  {
718 
719  // Add to the end of the chain.
720  addFirst( m_sharpen.get() );
721  }
722 }
ossimRefPtr< ossimImageSharpenFilter > m_sharpen
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.

◆ close()

void ossimSingleImageChain::close ( )

close method to delete the image handler.

Definition at line 129 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), m_handler, ossimImageChain::removeChild(), and ossimRefPtr< T >::valid().

Referenced by addImageHandler().

130 {
131  if ( m_handler.valid() )
132  {
133  if ( removeChild(m_handler.get()) )
134  {
135  m_handler = 0;
136  }
137  }
138 }
virtual bool removeChild(ossimConnectableObject *object)
Will remove the child from the container.
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.

◆ createRenderedChain() [1/2]

void ossimSingleImageChain::createRenderedChain ( )

Create a rendered image chain.

Typical usage is to call this after "open" method returns true like: if ( myChain->open(myFile) == true ) { myChain->createRenderedChain(); code-goes-here(); }

Typical chain is:

1) image handler 2) band selector (optional) 3) histogram remapper(optional) 4) scalar remapper (optional) 5) resampler cache 6) resampler 7) band selector (optional when going one band to three) 8) chain cache

NOTES: 1) Cache on left hand side of resampler is critical to speed if you have the ossimImageRender enabled.

2) If doing a sequential write where tiles to the right of the resampler will not be revisited the chain cache could be disabled to save memory.

Definition at line 165 of file ossimSingleImageChain.cpp.

References addBandSelector(), addBrightnessContrast(), addCache(), ossimImageChain::addFirst(), addGeoPolyCutter(), addHistogramRemapper(), addNullPixelFlip(), addResampler(), addScalarRemapper(), addSharpen(), ossimRefPtr< T >::get(), ossimImageHandler::getImageTileHeight(), ossimImageHandler::getImageTileWidth(), ossimImageSource::getNumberOfOutputBands(), ossimImageSource::getOutputScalarType(), ossimImageChain::initialize(), ossimImageHandler::isImageTiled(), m_addChainCacheFlag, m_addHistogramFlag, m_addNullPixelFlipFlag, m_addResamplerCacheFlag, m_bandSelector, m_brightnessContrastFlag, m_chainCache, m_geoPolyCutterFlag, m_handler, m_remapToEightBitFlag, m_resamplerCache, m_sharpenFlag, m_threeBandFlag, m_threeBandReverseFlag, OSSIM_UINT8, ossimTiledImagePatch::setInputTileSize(), ossimCacheTileSource::setTileSize(), setToThreeBands(), setToThreeBandsReverse(), ossimRefPtr< T >::valid(), ossimIpt::x, and ossimIpt::y.

166 {
167  // Band selector after image handler only if needed.
168  if ( m_handler.valid() )
169  {
170  // Only add if multiple bands.
171  if ( m_handler->getNumberOfOutputBands() != 1 )
172  {
173  addBandSelector();
175  {
177  }
178  }
179  }
180  else // No image handler so just add it.
181  {
182  addBandSelector();
183  }
184 
185  // will do this here. Not sure if we want flipped just before the resampler or if we want to do it here.
186  // I think this is a better place for you can now manipulate the flipped pixel
188  {
190  }
191 
192  // histogram:
193  if ( m_addHistogramFlag )
194  {
196  }
197 
198  // brightness contrast:
200  {
202  }
203 
204  // sharpen filter:
205  if ( m_sharpenFlag )
206  {
207  addSharpen();
208  }
209 
210  // scalar remapper
211  if ( m_remapToEightBitFlag )
212  {
213  if ( m_handler.valid() )
214  {
215  // See if it's eight bit.
217  {
219  }
220  }
221  else
222  {
223  // Just add...
225  }
226  }
227 
228  // resampler cache
230  {
232 
233  // If input image is tiled set the cache input tile size to that.
234  if ( m_handler.valid() )
235  {
236  if ( m_handler->isImageTiled() )
237  {
238  ossimIpt inputImageTileSize;
239  inputImageTileSize.x = (ossim_int32)m_handler->getImageTileWidth();
240  inputImageTileSize.y = (ossim_int32)m_handler->getImageTileHeight();
241  if ( m_resamplerCache.valid() )
242  {
243  m_resamplerCache->setTileSize( inputImageTileSize );
244  }
245  }
246  }
247  }
248 
249 #if 0 /* test code - drb */
251  if ( m_handler.valid() )
252  {
253  if ( m_handler->isImageTiled() )
254  {
255  ossimIpt inputImageTileSize;
256  inputImageTileSize.x = (ossim_int32)m_handler->getImageTileWidth();
257  inputImageTileSize.y = (ossim_int32)m_handler->getImageTileHeight();
258  tp->setInputTileSize( inputImageTileSize );
259  }
260  }
261  addFirst( tp.get() );
262 #endif
263 
264  // resampler
265  addResampler();
266 
267 #if 0 /* test code - drb */
269  ossimIpt inputImageTileSize(64, 64);
270  tp2->setInputTileSize( inputImageTileSize );
271  addFirst( tp2.get() );
272 #endif
273 
274  //---
275  // Do this here so that if a band selector is added to the end of the
276  // chain it will go in before the end of chain cache.
277  //---
278  if (m_threeBandFlag)
279  {
280  if (!m_bandSelector)
281  {
282  addBandSelector();
283  }
284  setToThreeBands();
285  }
286 
287  //---
288  // Ditto...
289  //---
291  {
292  addBandSelector();
294  }
295 
296  // Put the geo cutter just before the cache.
298  {
300  }
301 
302  // End of chain cache.
303  if ( m_addChainCacheFlag )
304  {
306  }
307 
308  initialize();
309 
310 }
void setToThreeBands()
Utility method to force 3 band output.
void addBandSelector()
Adds a band selector to the end of the chain.
ossimRefPtr< ossimCacheTileSource > m_chainCache
void addNullPixelFlip()
Adds the null pixel flip just after the band selection.
void setToThreeBandsReverse()
Utility method to set to 3 bandsand reverse them.
void addResampler()
Adds a resampler (a.k.a.
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
bool valid() const
Definition: ossimRefPtr.h:75
virtual void initialize()
void addSharpen()
Adds sharpen filter the end of the chain if not present.
void addGeoPolyCutter()
Adds a geo polycutter to allow for cropping imagery or nulling out regions.
Class to fill a patch from input tiles requested on even tile boundaries with a tile size typically m...
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
virtual ossim_uint32 getImageTileHeight() const =0
Returns the tile width of the image or 0 if the image is not tiled.
void addBrightnessContrast()
Adds brightness contrast filter the end of the chain if not present.
void setTileSize(const ossimIpt &size)
Set the tile size.
void addScalarRemapper()
Adds scalar remapper either to the left of the resampler cache or at the end of the chain if not pres...
bool m_addNullPixelFlipFlag
control flags
ossimRefPtr< ossimCacheTileSource > addCache()
Adds a new cache to the current end of the chain.
ossimRefPtr< ossimBandSelector > m_bandSelector
virtual ossim_uint32 getImageTileWidth() const =0
Returns the tile width of the image or 0 if the image is not tiled.
virtual bool isImageTiled() const
Indicates whether or not the image is tiled internally.
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
void addHistogramRemapper()
Adds histogram remapper to the chain.
ossim_int32 y
Definition: ossimIpt.h:142
ossim_int32 x
Definition: ossimIpt.h:141
8 bit unsigned integer
bool setInputTileSize(const ossimIpt &tileSize)
Sets the input tile size.
bool addFirst(ossimConnectableObject *obj)
Adds it to the start of the chain.
int ossim_int32
ossimRefPtr< ossimCacheTileSource > m_resamplerCache

◆ createRenderedChain() [2/2]

void ossimSingleImageChain::createRenderedChain ( const ossimSrcRecord src)

Create a rendered image chain that takes an ossimSrcRecord.

Definition at line 312 of file ossimSingleImageChain.cpp.

References addBandSelector(), addBrightnessContrast(), addCache(), addHistogramRemapper(), addNullPixelFlip(), addResampler(), addScalarRemapper(), addSharpen(), ossimSrcRecord::getBands(), ossimSrcRecord::getHistogramOp(), ossimImageSource::getNumberOfOutputBands(), ossimImageSource::getOutputScalarType(), ossimImageChain::initialize(), m_addChainCacheFlag, m_addHistogramFlag, m_addNullPixelFlipFlag, m_addResamplerCacheFlag, m_bandSelector, m_brightnessContrastFlag, m_chainCache, m_handler, m_remapToEightBitFlag, m_resamplerCache, m_sharpenFlag, m_threeBandFlag, m_threeBandReverseFlag, OSSIM_UINT8, setToThreeBands(), setToThreeBandsReverse(), ossimString::size(), and ossimRefPtr< T >::valid().

313 {
314  // Band selector after image handler only if needed.
315  if ( m_handler.valid() )
316  {
317  // Only add if needed.
318  if ( ( m_handler->getNumberOfOutputBands() != 1 ) || src.getBands().size() )
319  {
320  addBandSelector(src);
322  {
324  }
325  }
326  }
327  else // No image handler so just add it.
328  {
329  addBandSelector(src);
330  }
331 
333  {
335  }
336  // histogram
337  if ( m_addHistogramFlag || src.getHistogramOp().size() )
338  {
340  }
341 
342  // brightness contrast:
344  {
346  }
347 
348  // sharpen filter:
349  if ( m_sharpenFlag )
350  {
351  addSharpen();
352  }
353 
354  // scalar remapper
355  if ( m_remapToEightBitFlag )
356  {
357  if ( m_handler.valid() )
358  {
359  // See if it's eight bit.
361  {
363  }
364  }
365  else
366  {
367  // Just add...
369  }
370  }
371 
372  // resampler cache
374  {
376  }
377 
378  // resampler
379  addResampler();
380 
381  //---
382  // Do this here so that if a band selector is added to the end of the
383  // chain it will go in before the end of chain cache.
384  //---
385  if (m_threeBandFlag)
386  {
387  if (!m_bandSelector) // Input must be one band.
388  {
389  addBandSelector(src);
390  }
391  setToThreeBands();
392  }
393 
394  //---
395  // Ditto...
396  //---
398  {
399  addBandSelector();
401  }
402 
403  // End of chain cache.
404  if ( m_addChainCacheFlag )
405  {
407  }
408 
409  initialize();
410 
411 }
void setToThreeBands()
Utility method to force 3 band output.
void addBandSelector()
Adds a band selector to the end of the chain.
ossimRefPtr< ossimCacheTileSource > m_chainCache
void addNullPixelFlip()
Adds the null pixel flip just after the band selection.
void setToThreeBandsReverse()
Utility method to set to 3 bandsand reverse them.
void addResampler()
Adds a resampler (a.k.a.
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
bool valid() const
Definition: ossimRefPtr.h:75
virtual void initialize()
void addSharpen()
Adds sharpen filter the end of the chain if not present.
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
const std::vector< ossim_uint32 > & getBands() const
std::string::size_type size() const
Definition: ossimString.h:405
void addBrightnessContrast()
Adds brightness contrast filter the end of the chain if not present.
void addScalarRemapper()
Adds scalar remapper either to the left of the resampler cache or at the end of the chain if not pres...
bool m_addNullPixelFlipFlag
control flags
ossimRefPtr< ossimCacheTileSource > addCache()
Adds a new cache to the current end of the chain.
ossimRefPtr< ossimBandSelector > m_bandSelector
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
void addHistogramRemapper()
Adds histogram remapper to the chain.
8 bit unsigned integer
const ossimString & getHistogramOp() const
ossimRefPtr< ossimCacheTileSource > m_resamplerCache

◆ getAddChainCacheFlag()

bool ossimSingleImageChain::getAddChainCacheFlag ( ) const

Gets the add chain cache flag.

Returns
true or false.

Definition at line 907 of file ossimSingleImageChain.cpp.

References m_addChainCacheFlag.

908 {
909  return m_addChainCacheFlag;
910 }

◆ getAddHistogramFlag()

bool ossimSingleImageChain::getAddHistogramFlag ( ) const

Gets the add histogram flag.

Returns
true or false.

Definition at line 887 of file ossimSingleImageChain.cpp.

References m_addHistogramFlag.

888 {
889  return m_addHistogramFlag;
890 }

◆ getAddResamplerCacheFlag()

bool ossimSingleImageChain::getAddResamplerCacheFlag ( ) const

Gets the add resampler cache flag.

Returns
true or false.

Definition at line 897 of file ossimSingleImageChain.cpp.

References m_addResamplerCacheFlag.

898 {
900 }

◆ getBandSelector() [1/2]

ossimRefPtr< const ossimBandSelector > ossimSingleImageChain::getBandSelector ( ) const
Returns
ossimRefPtr containing the band selector.
Note
Can contain a null pointer so callers should validate.

Definition at line 783 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), and m_bandSelector.

784 {
786 }
ossimRefPtr< ossimBandSelector > m_bandSelector

◆ getBandSelector() [2/2]

ossimRefPtr< ossimBandSelector > ossimSingleImageChain::getBandSelector ( )
Returns
ossimRefPtr containing the band selector.
Note
Can contain a null pointer so callers should validate.

Definition at line 794 of file ossimSingleImageChain.cpp.

References m_bandSelector.

795 {
796  return m_bandSelector;
797 }
ossimRefPtr< ossimBandSelector > m_bandSelector

◆ getBrightnessContrast() [1/2]

ossimRefPtr< const ossimBrightnessContrastSource > ossimSingleImageChain::getBrightnessContrast ( ) const
Returns
ossimRefPtr containing the brightness contrast filter.
Note
Can contain a null pointer so callers should validate.

Definition at line 840 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), and m_brightnessContrast.

841 {
843 }
ossimRefPtr< ossimBrightnessContrastSource > m_brightnessContrast

◆ getBrightnessContrast() [2/2]

ossimRefPtr< ossimBrightnessContrastSource > ossimSingleImageChain::getBrightnessContrast ( )
Returns
ossimRefPtr containing the brightness contrast filter.
Note
Can contain a null pointer so callers should validate.

Definition at line 845 of file ossimSingleImageChain.cpp.

References m_brightnessContrast.

846 {
847  return m_brightnessContrast;
848 }
ossimRefPtr< ossimBrightnessContrastSource > m_brightnessContrast

◆ getBrightnessContrastFlag()

bool ossimSingleImageChain::getBrightnessContrastFlag ( ) const

Get the brightness constrast flag.

Returns
true or false.

Definition at line 947 of file ossimSingleImageChain.cpp.

References m_brightnessContrastFlag.

948 {
950 }

◆ getChainCache() [1/2]

ossimRefPtr< const ossimCacheTileSource > ossimSingleImageChain::getChainCache ( ) const
Returns
ossimRefPtr containing the chain cache.
Note
Can contain a null pointer so callers should validate.

Definition at line 861 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), and m_chainCache.

862 {
864 }
ossimRefPtr< ossimCacheTileSource > m_chainCache

◆ getChainCache() [2/2]

ossimRefPtr< ossimCacheTileSource > ossimSingleImageChain::getChainCache ( )
Returns
ossimRefPtr containing the chain cache.
Note
Can contain a null pointer so callers should validate.

Definition at line 866 of file ossimSingleImageChain.cpp.

References m_chainCache.

867 {
868  return m_chainCache;
869 }
ossimRefPtr< ossimCacheTileSource > m_chainCache

◆ getFilename()

ossimFilename ossimSingleImageChain::getFilename ( ) const
Returns
The filename of the image.

Definition at line 140 of file ossimSingleImageChain.cpp.

References ossimImageHandler::getFilename(), m_handler, and ossimRefPtr< T >::valid().

Referenced by ossimTiledElevationDatabase::addEntry().

141 {
142  ossimFilename result;
143  if ( m_handler.valid() )
144  {
145  result = m_handler->getFilename();
146  }
147  return result;
148 }
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
virtual const ossimFilename & getFilename() const
Returns the filename.

◆ getHistogramRemapper() [1/2]

ossimRefPtr< const ossimHistogramRemapper > ossimSingleImageChain::getHistogramRemapper ( ) const
Returns
ossimRefPtr containing the histogram remapper.
Note
Can contain a null pointer so callers should validate.

Definition at line 799 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), and m_histogramRemapper.

Referenced by openHistogram().

800 {
802 }
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper

◆ getHistogramRemapper() [2/2]

ossimRefPtr< ossimHistogramRemapper > ossimSingleImageChain::getHistogramRemapper ( )
Returns
ossimRefPtr containing the histogram remapper.
Note
Can contain a null pointer so callers should validate.

Definition at line 804 of file ossimSingleImageChain.cpp.

References m_histogramRemapper.

805 {
806  return m_histogramRemapper;
807 }
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper

◆ getImageHandler() [1/2]

ossimRefPtr< const ossimImageHandler > ossimSingleImageChain::getImageHandler ( ) const

◆ getImageHandler() [2/2]

ossimRefPtr< ossimImageHandler > ossimSingleImageChain::getImageHandler ( )
Returns
ossimRefPtr containing the image handler.
Note
Can contain a null pointer so callers should validate.

Definition at line 778 of file ossimSingleImageChain.cpp.

References m_handler.

779 {
780  return m_handler;
781 }
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.

◆ getImageHandlerScalarType()

ossimScalarType ossimSingleImageChain::getImageHandlerScalarType ( ) const

Convenience method to return the scalar type of the image handler.

Returns
Scalar type of the image handler.

This can return OSSIM_SCALAR_UNKNOWN if the image handler has not been set yet. Also, this is NOT the same as calling getOutputScalarType which could have a different scalar type than the image if the m_remapToEightBitFlag has been set.

Definition at line 1060 of file ossimSingleImageChain.cpp.

References ossimImageSource::getOutputScalarType(), m_handler, OSSIM_SCALAR_UNKNOWN, and ossimRefPtr< T >::valid().

1061 {
1063  if ( m_handler.valid() )
1064  {
1065  result = m_handler->getOutputScalarType();
1066  }
1067  return result;
1068 }
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
ossimScalarType
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.

◆ getImageRenderer() [1/2]

ossimRefPtr< const ossimImageRenderer > ossimSingleImageChain::getImageRenderer ( ) const
Returns
ossimRefPtr containing the resampler (a.k.a. "renderer").
Note
Can contain a null pointer so callers should validate.

Definition at line 819 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), and m_resampler.

Referenced by ossimChipProcTool::mosaicDemSources().

820 {
822 }
ossimRefPtr< ossimImageRenderer > m_resampler

◆ getImageRenderer() [2/2]

ossimRefPtr< ossimImageRenderer > ossimSingleImageChain::getImageRenderer ( )
Returns
ossimRefPtr containing the resampler (a.k.a. "renderer").
Note
Can contain a null pointer so callers should validate.

Definition at line 824 of file ossimSingleImageChain.cpp.

References m_resampler.

825 {
826  return m_resampler;
827 }
ossimRefPtr< ossimImageRenderer > m_resampler

◆ getNullPixelFlip()

ossimRefPtr< const ossimNullPixelFlip > ossimSingleImageChain::getNullPixelFlip ( ) const
Returns
the null pixel flip

Definition at line 788 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), and m_nullPixelFlip.

789 {
791 }
ossimRefPtr< ossimNullPixelFlip > m_nullPixelFlip

◆ getNullPixelFlipFlag()

bool ossimSingleImageChain::getNullPixelFlipFlag ( ) const

Gets the add histogram flag.

Returns
true or false.

Definition at line 877 of file ossimSingleImageChain.cpp.

References m_addNullPixelFlipFlag.

878 {
879  return m_addNullPixelFlipFlag;
880 }
bool m_addNullPixelFlipFlag
control flags

◆ getRemapToEightBitFlag()

bool ossimSingleImageChain::getRemapToEightBitFlag ( ) const

Get the remap to eight bit flag.

Returns
true or false.

Definition at line 917 of file ossimSingleImageChain.cpp.

References m_remapToEightBitFlag.

918 {
919  return m_remapToEightBitFlag;
920 }

◆ getResamplerCache() [1/2]

ossimRefPtr< const ossimCacheTileSource > ossimSingleImageChain::getResamplerCache ( ) const
Returns
ossimRefPtr containing the resampler cache.
Note
Can contain a null pointer so callers should validate.

Definition at line 809 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), and m_resamplerCache.

810 {
812 }
ossimRefPtr< ossimCacheTileSource > m_resamplerCache

◆ getResamplerCache() [2/2]

ossimRefPtr< ossimCacheTileSource > ossimSingleImageChain::getResamplerCache ( )
Returns
ossimRefPtr containing the resampler cache.
Note
Can contain a null pointer so callers should validate.

Definition at line 814 of file ossimSingleImageChain.cpp.

References m_resamplerCache.

815 {
816  return m_resamplerCache;
817 }
ossimRefPtr< ossimCacheTileSource > m_resamplerCache

◆ getScalarRemapper() [1/2]

ossimRefPtr< const ossimScalarRemapper > ossimSingleImageChain::getScalarRemapper ( ) const
Returns
ossimRefPtr containing the scalar remapper.
Note
Can contain a null pointer so callers should validate.

Definition at line 829 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), and m_scalarRemapper.

830 {
832 }
ossimRefPtr< ossimScalarRemapper > m_scalarRemapper

◆ getScalarRemapper() [2/2]

ossimRefPtr< ossimScalarRemapper > ossimSingleImageChain::getScalarRemapper ( )
Returns
ossimRefPtr containing the scalar remapper.
Note
Can contain a null pointer so callers should validate.

Definition at line 834 of file ossimSingleImageChain.cpp.

References m_scalarRemapper.

835 {
836  return m_scalarRemapper;
837 }
ossimRefPtr< ossimScalarRemapper > m_scalarRemapper

◆ getSharpenFilter() [1/2]

ossimRefPtr< const ossimImageSharpenFilter > ossimSingleImageChain::getSharpenFilter ( ) const
Returns
ossimRefPtr containing the sharpen filter.
Note
Can contain a null pointer so callers should validate.

Definition at line 851 of file ossimSingleImageChain.cpp.

References ossimRefPtr< T >::get(), and m_sharpen.

852 {
854 }
ossimRefPtr< ossimImageSharpenFilter > m_sharpen

◆ getSharpenFilter() [2/2]

ossimRefPtr< ossimImageSharpenFilter > ossimSingleImageChain::getSharpenFilter ( )
Returns
ossimRefPtr containing the sharpen.
Note
Can contain a null pointer so callers should validate.

Definition at line 856 of file ossimSingleImageChain.cpp.

References m_sharpen.

857 {
858  return m_sharpen;
859 }
ossimRefPtr< ossimImageSharpenFilter > m_sharpen

◆ getSharpenFlag()

bool ossimSingleImageChain::getSharpenFlag ( ) const

Get the sharpen flag.

Returns
true or false.

Definition at line 957 of file ossimSingleImageChain.cpp.

References m_sharpenFlag.

958 {
959  return m_sharpenFlag;
960 }

◆ getThreeBandFlag()

bool ossimSingleImageChain::getThreeBandFlag ( ) const

Get the three band flag.

Returns
true or false.

Definition at line 927 of file ossimSingleImageChain.cpp.

References m_threeBandFlag.

928 {
929  return m_threeBandFlag;
930 }

◆ getThreeBandReverseFlag()

bool ossimSingleImageChain::getThreeBandReverseFlag ( ) const

Get the three band reverse flag.

Returns
true or false.

Definition at line 937 of file ossimSingleImageChain.cpp.

References m_threeBandReverseFlag.

938 {
939  return m_threeBandReverseFlag;
940 }

◆ isOpen()

bool ossimSingleImageChain::isOpen ( ) const
Returns
true if image handler is opened.

Definition at line 155 of file ossimSingleImageChain.cpp.

References m_handler, and ossimRefPtr< T >::valid().

156 {
157  return m_handler.valid();
158 }
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.

◆ open() [1/2]

bool ossimSingleImageChain::open ( const ossimFilename file,
bool  openOverview = true 
)

open method that takes an image file.

Opens file and creates a simple chain with ossimImageHandler.

Parameters
fileFile to open.
openOverviewIf true image handler will attempt to open overview. Note that if you are planning on doing a rendered chain or want to go between res levels you should set this to true. default = true
Returns
true on success, false on error.
Note
This will close previous chain if one was opened.

Definition at line 150 of file ossimSingleImageChain.cpp.

References addImageHandler().

Referenced by ossimChipProcTool::createInputChain().

151 {
152  return addImageHandler(file, openOverview);
153 }
bool addImageHandler(const ossimFilename &file, bool openOverview=true)
Adds an image handler for file.

◆ open() [2/2]

bool ossimSingleImageChain::open ( const ossimSrcRecord src)

open method that takes an ossimSrcRecord.

Opens file and creates a simple chain with ossimImageHandler.

Returns
true on success, false on error.
Note
This will close previous chain if one was opened.

Definition at line 160 of file ossimSingleImageChain.cpp.

References addImageHandler().

161 {
162  return addImageHandler(src);
163 }
bool addImageHandler(const ossimFilename &file, bool openOverview=true)
Adds an image handler for file.

◆ openHistogram()

bool ossimSingleImageChain::openHistogram ( ossimHistogramRemapper::StretchMode  mode)


Convenience method to open the histogram and apply a default stretch.

This will only work if the image is open, there is a histogram remapper in the chain, and there was a histogram created.

Valid stretches (from ossimHistogramRemapper.h):

  ossimHistogramRemapper::LINEAR_ONE_PIECE
  ossimHistogramRemapper::LINEAR_1STD_FROM_MEAN
  ossimHistogramRemapper::LINEAR_2STD_FROM_MEAN
  ossimHistogramRemapper::LINEAR_3STD_FROM_MEAN
  ossimHistogramRemapper::LINEAR_AUTO_MIN_MAX
Returns
true on success, false on error.

Definition at line 1070 of file ossimSingleImageChain.cpp.

References ossimImageHandler::getFilenameWithThisExtension(), getHistogramRemapper(), getImageHandler(), ossimHistogramRemapper::openHistogram(), ossimSource::setEnableFlag(), ossimHistogramRemapper::setStretchMode(), true, and ossimRefPtr< T >::valid().

1071 {
1072  bool result = false;
1074  if ( ih.valid() )
1075  {
1077  if ( hr.valid() )
1078  {
1080  if ( hr->openHistogram( f ) == true )
1081  {
1082  // Enable:
1083  hr->setEnableFlag(true);
1084 
1085  // Set the mode:
1086  hr->setStretchMode( mode );
1087 
1088  result = true;
1089  }
1090  }
1091  }
1092  return result;
1093 }
ossimRefPtr< const ossimImageHandler > getImageHandler() const
bool valid() const
Definition: ossimRefPtr.h:75
void setStretchMode(StretchMode mode, bool rebuildTableFlag=false)
Sets remap mode to mode.
virtual void setEnableFlag(bool flag)
Definition: ossimSource.cpp:99
ossimRefPtr< const ossimHistogramRemapper > getHistogramRemapper() const
ossimFilename getFilenameWithThisExtension(const ossimString &ext, bool set_e0_prefix=false) const
Returns the image file with extension set using supplentary directory for dirname if set...
bool openHistogram(const ossimFilename &histogram_file)
Open the histogram file.

◆ reset()

void ossimSingleImageChain::reset ( void  )

reset method This deletes all links in the chain, zero's out all data members, and sets all flags back to default.

Definition at line 97 of file ossimSingleImageChain.cpp.

References ossimImageChain::deleteLast(), m_addChainCacheFlag, m_addHistogramFlag, m_addNullPixelFlipFlag, m_addResamplerCacheFlag, m_bandSelector, m_brightnessContrast, m_brightnessContrastFlag, m_chainCache, m_geoPolyCutter, m_geoPolyCutterFlag, m_handler, m_histogramRemapper, m_nullPixelFlip, m_remapToEightBitFlag, m_resampler, m_resamplerCache, m_scalarRemapper, m_sharpen, m_sharpenFlag, m_threeBandFlag, and m_threeBandReverseFlag.

98 {
99  bool result = true;
100  do
101  {
102  result = deleteLast();
103  } while (result);
104 
105  m_handler = 0;
106  m_bandSelector = 0;
107  m_nullPixelFlip = 0;
110  m_sharpen = 0;
111  m_scalarRemapper = 0;
112  m_resamplerCache = 0;
113  m_resampler = 0;
114  m_geoPolyCutter = 0;
115  m_chainCache = 0;
116 
117  m_addHistogramFlag = false;
118  m_addNullPixelFlipFlag = false;
119  m_addResamplerCacheFlag = false;
120  m_addChainCacheFlag = false;
121  m_remapToEightBitFlag = false;
122  m_threeBandFlag = false;
123  m_threeBandReverseFlag = false;
124  m_brightnessContrastFlag = false;
125  m_sharpenFlag = false;
126  m_geoPolyCutterFlag = false;
127 }
ossimRefPtr< ossimImageSharpenFilter > m_sharpen
ossimRefPtr< ossimCacheTileSource > m_chainCache
ossimRefPtr< ossimNullPixelFlip > m_nullPixelFlip
bool deleteLast()
Deletes the last object.
ossimRefPtr< ossimBrightnessContrastSource > m_brightnessContrast
ossimRefPtr< ossimGeoPolyCutter > m_geoPolyCutter
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
ossimRefPtr< ossimScalarRemapper > m_scalarRemapper
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper
ossimRefPtr< ossimImageRenderer > m_resampler
bool m_addNullPixelFlipFlag
control flags
ossimRefPtr< ossimBandSelector > m_bandSelector
ossimRefPtr< ossimCacheTileSource > m_resamplerCache

◆ setAddChainCacheFlag()

void ossimSingleImageChain::setAddChainCacheFlag ( bool  flag)

If flag is true a chain cache will be added to the chain at create time.

This is a cache at the end of the chain.

Parameters
flag

Definition at line 902 of file ossimSingleImageChain.cpp.

References m_addChainCacheFlag.

903 {
904  m_addChainCacheFlag = flag;
905 }

◆ setAddHistogramFlag()

void ossimSingleImageChain::setAddHistogramFlag ( bool  flag)

If flag is true a histogram will be added to the chain at create time.

Parameters
flag

Definition at line 882 of file ossimSingleImageChain.cpp.

References m_addHistogramFlag.

883 {
884  m_addHistogramFlag = flag;
885 }

◆ setAddNullPixelFlipFlag()

void ossimSingleImageChain::setAddNullPixelFlipFlag ( bool  flag)

If flag is true a null pixel flip will be added to the chain at create time.

Parameters
flag

Definition at line 872 of file ossimSingleImageChain.cpp.

References m_addNullPixelFlipFlag.

873 {
874  m_addNullPixelFlipFlag = true;
875 }
bool m_addNullPixelFlipFlag
control flags

◆ setAddResamplerCacheFlag()

void ossimSingleImageChain::setAddResamplerCacheFlag ( bool  flag)

If flag is true a resampler cache will be added to the chain at create time.

This is a cache to the left of the resampler.

Parameters
flag

Definition at line 892 of file ossimSingleImageChain.cpp.

References m_addResamplerCacheFlag.

893 {
895 }

◆ setBandSelection()

void ossimSingleImageChain::setBandSelection ( const std::vector< ossim_uint32 > &  bandList)

method to set band selector.

This will set the band selection to bandList. If a band selector is not in the chain yet it will be added.

Parameters
bandListThe list of bands.

Definition at line 1031 of file ossimSingleImageChain.cpp.

References addBandSelector(), ossimHistogramRemapper::initialize(), m_bandSelector, m_histogramRemapper, ossimSource::setEnableFlag(), ossimBandSelector::setOutputBandList(), and ossimRefPtr< T >::valid().

Referenced by ossimChipperUtil::initializePsmChain(), ossimChipProcTool::loadImageFiles(), setToThreeBands(), and setToThreeBandsReverse().

1033 {
1034  if (!m_bandSelector)
1035  {
1036  addBandSelector();
1037  }
1039  m_bandSelector->setOutputBandList(bandList);
1040  if ( m_histogramRemapper.valid() )
1041  {
1043  }
1044 }
void addBandSelector()
Adds a band selector to the end of the chain.
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper
virtual void setEnableFlag(bool flag)
Definition: ossimSource.cpp:99
ossimRefPtr< ossimBandSelector > m_bandSelector
virtual void setOutputBandList(const vector< ossim_uint32 > &outputBandList, bool disablePassThru=false)
Sets the output band list.

◆ setBrightnessContrastFlag()

void ossimSingleImageChain::setBrightnessContrastFlag ( bool  flag)

Sets the brightness contrast flag.

Parameters
flag

Definition at line 942 of file ossimSingleImageChain.cpp.

References m_brightnessContrastFlag.

943 {
945 }

◆ setDefaultBandSelection()

void ossimSingleImageChain::setDefaultBandSelection ( )

Definition at line 1046 of file ossimSingleImageChain.cpp.

References addBandSelector(), m_bandSelector, ossimSource::setEnableFlag(), ossimBandSelector::setThreeBandRgb(), and ossimRefPtr< T >::valid().

1047 {
1048  if(!m_bandSelector)
1049  {
1050  addBandSelector();
1051  }
1053 
1054  if(m_bandSelector.valid())
1055  {
1057  }
1058 }
void addBandSelector()
Adds a band selector to the end of the chain.
bool valid() const
Definition: ossimRefPtr.h:75
virtual void setEnableFlag(bool flag)
Definition: ossimSource.cpp:99
ossimRefPtr< ossimBandSelector > m_bandSelector
virtual void setThreeBandRgb()
Will set to three bands (rgb) out.

◆ setRemapToEightBitFlag()

void ossimSingleImageChain::setRemapToEightBitFlag ( bool  flag)

Sets remap to eigth bit flag.

Parameters
flag

Definition at line 912 of file ossimSingleImageChain.cpp.

References m_remapToEightBitFlag.

913 {
914  m_remapToEightBitFlag = flag;
915 }

◆ setSharpenFlag()

void ossimSingleImageChain::setSharpenFlag ( bool  flag)

Sets the sharpenflag.

Parameters
flag

Definition at line 952 of file ossimSingleImageChain.cpp.

References m_sharpenFlag.

953 {
954  m_sharpenFlag = flag;
955 }

◆ setThreeBandFlag()

void ossimSingleImageChain::setThreeBandFlag ( bool  flag)

Sets the three band flag.

If set will for a three band output. So if one band it will duplicate so that rgb = b1,b1,b1. An attempt is made to derive rgb bands from the image handler.

Parameters
flag

Definition at line 922 of file ossimSingleImageChain.cpp.

References m_threeBandFlag.

923 {
924  m_threeBandFlag = flag;
925 }

◆ setThreeBandReverseFlag()

void ossimSingleImageChain::setThreeBandReverseFlag ( bool  flag)

Sets the three band reverse flag.

Parameters
flag

Definition at line 932 of file ossimSingleImageChain.cpp.

References m_threeBandReverseFlag.

933 {
934  m_threeBandReverseFlag = flag;
935 }

◆ setToThreeBands()

void ossimSingleImageChain::setToThreeBands ( )

Utility method to force 3 band output.

Set band selector to a three band (rgb) output. If image has less than three bands it will set to rgb = b1,b1,b1. If image has three or more bands the band selector will be see to rgb = b1, b2, b3.

Note
This will not work unless the image handler is initialized.

Definition at line 962 of file ossimSingleImageChain.cpp.

References addBandSelector(), ossimImageSource::getNumberOfInputBands(), ossimBandSelector::getNumberOfOutputBands(), ossimImageHandler::getRgbBandList(), ossimHistogramRemapper::initialize(), m_bandSelector, m_handler, m_histogramRemapper, setBandSelection(), ossimSource::setEnableFlag(), ossimBandSelector::setThreeBandRgb(), and ossimRefPtr< T >::valid().

Referenced by createRenderedChain().

963 {
964  if (!m_bandSelector)
965  {
966  addBandSelector();
967  }
968 
971 
972  if ( m_histogramRemapper.valid() )
973  {
975  }
976 
977 #if 0
978  if ( m_handler.valid() )
979  {
980  // Only do if not three bands already so the band list order is not wiped out.
981  if ( !m_bandSelector.valid() ||
982  ( m_bandSelector.valid() &&
983  ( m_bandSelector->getNumberOfOutputBands() != 3 ) ) )
984  {
985  std::vector<ossim_uint32> bandList(3);
986 
987  if ( m_handler->getRgbBandList( bandList ) == false )
988  {
990  if(BANDS >= 3)
991  {
992  bandList[0] = 0;
993  bandList[1] = 1;
994  bandList[2] = 2;
995  }
996  else
997  {
998  bandList[0] = 0;
999  bandList[1] = 0;
1000  bandList[2] = 0;
1001  }
1002  }
1003  setBandSelection(bandList);
1004  }
1005  }
1006 #endif
1007 }
void addBandSelector()
Adds a band selector to the end of the chain.
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
void setBandSelection(const std::vector< ossim_uint32 > &bandList)
method to set band selector.
ossimRefPtr< ossimHistogramRemapper > m_histogramRemapper
unsigned int ossim_uint32
virtual bool getRgbBandList(std::vector< ossim_uint32 > &bandList) const
Convenience method to get the zero based rgb output band list.
virtual void setEnableFlag(bool flag)
Definition: ossimSource.cpp:99
ossimRefPtr< ossimBandSelector > m_bandSelector
virtual void setThreeBandRgb()
Will set to three bands (rgb) out.
virtual ossim_uint32 getNumberOfInputBands() const =0
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.

◆ setToThreeBandsReverse()

void ossimSingleImageChain::setToThreeBandsReverse ( )

Utility method to set to 3 bandsand reverse them.

This is mainly used by NITF and Lndsat color data where the bands are in bgr format and you want it in rgb combination. If image has less than three bands it will set to rgb = b1,b1,b1. If image has three or more bands the band selector will be see to rgb = b3, b2, b1.

Note
This will not work unless the image handler is initialized.

Definition at line 1009 of file ossimSingleImageChain.cpp.

References ossimImageSource::getNumberOfInputBands(), m_handler, setBandSelection(), and ossimRefPtr< T >::valid().

Referenced by createRenderedChain().

1010 {
1011  if ( m_handler.valid() )
1012  {
1013  std::vector<ossim_uint32> bandList(3);
1014  const ossim_uint32 BANDS = m_handler->getNumberOfInputBands();
1015  if(BANDS >= 3)
1016  {
1017  bandList[0] = 2;
1018  bandList[1] = 1;
1019  bandList[2] = 0;
1020  }
1021  else
1022  {
1023  bandList[0] = 0;
1024  bandList[1] = 0;
1025  bandList[2] = 0;
1026  }
1027  setBandSelection(bandList);
1028  }
1029 }
bool valid() const
Definition: ossimRefPtr.h:75
ossimRefPtr< ossimImageHandler > m_handler
Pointers to links in chain.
void setBandSelection(const std::vector< ossim_uint32 > &bandList)
method to set band selector.
unsigned int ossim_uint32
virtual ossim_uint32 getNumberOfInputBands() const =0

Member Data Documentation

◆ m_addChainCacheFlag

bool ossimSingleImageChain::m_addChainCacheFlag
private

◆ m_addHistogramFlag

bool ossimSingleImageChain::m_addHistogramFlag
private

◆ m_addNullPixelFlipFlag

bool ossimSingleImageChain::m_addNullPixelFlipFlag
private

control flags

Definition at line 576 of file ossimSingleImageChain.h.

Referenced by createRenderedChain(), getNullPixelFlipFlag(), reset(), and setAddNullPixelFlipFlag().

◆ m_addResamplerCacheFlag

bool ossimSingleImageChain::m_addResamplerCacheFlag
private

◆ m_bandSelector

ossimRefPtr<ossimBandSelector> ossimSingleImageChain::m_bandSelector
private

◆ m_brightnessContrast

ossimRefPtr<ossimBrightnessContrastSource> ossimSingleImageChain::m_brightnessContrast
private

◆ m_brightnessContrastFlag

bool ossimSingleImageChain::m_brightnessContrastFlag
private

◆ m_chainCache

ossimRefPtr<ossimCacheTileSource> ossimSingleImageChain::m_chainCache
private

◆ m_geoPolyCutter

ossimRefPtr<ossimGeoPolyCutter> ossimSingleImageChain::m_geoPolyCutter
private

◆ m_geoPolyCutterFlag

bool ossimSingleImageChain::m_geoPolyCutterFlag
private

Definition at line 585 of file ossimSingleImageChain.h.

Referenced by createRenderedChain(), and reset().

◆ m_handler

ossimRefPtr<ossimImageHandler> ossimSingleImageChain::m_handler
private

◆ m_histogramRemapper

ossimRefPtr<ossimHistogramRemapper> ossimSingleImageChain::m_histogramRemapper
private

◆ m_nullPixelFlip

ossimRefPtr<ossimNullPixelFlip> ossimSingleImageChain::m_nullPixelFlip
private

◆ m_remapToEightBitFlag

bool ossimSingleImageChain::m_remapToEightBitFlag
private

◆ m_resampler

ossimRefPtr<ossimImageRenderer> ossimSingleImageChain::m_resampler
private

◆ m_resamplerCache

ossimRefPtr<ossimCacheTileSource> ossimSingleImageChain::m_resamplerCache
private

◆ m_scalarRemapper

ossimRefPtr<ossimScalarRemapper> ossimSingleImageChain::m_scalarRemapper
private

◆ m_sharpen

ossimRefPtr<ossimImageSharpenFilter> ossimSingleImageChain::m_sharpen
private

◆ m_sharpenFlag

bool ossimSingleImageChain::m_sharpenFlag
private

◆ m_threeBandFlag

bool ossimSingleImageChain::m_threeBandFlag
private

◆ m_threeBandReverseFlag

bool ossimSingleImageChain::m_threeBandReverseFlag
private

The documentation for this class was generated from the following files: