OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimOverviewSequencer.h>
Public Member Functions | |
ossimOverviewSequencer () | |
default constructor More... | |
ossim_uint32 | getNumberOfTiles () const |
ossim_uint32 | getNumberOfTilesHorizontal () const |
ossim_uint32 | getNumberOfTilesVertical () const |
virtual void | getOutputImageRectangle (ossimIrect &rect) const |
Gets the zero-based image rectangle for the output reduced resolution data set (rrds). More... | |
void | setImageHandler (ossimImageHandler *input) |
Sets the input source or connection. More... | |
void | setBitMaskObjects (ossimBitMaskWriter *mask_writer, ossimMaskFilter *mask_filter) |
Enabled the generation of an alpha (bit) mask such that any full or partial null pixels will be masked out. More... | |
void | setSourceLevel (ossim_uint32 level) |
Sets the input source resolution to decimate from. More... | |
ossimHistogramMode | getHistogramMode () const |
Gets the histogram accumulation mode. More... | |
void | setHistogramMode (ossimHistogramMode mode) |
Sets the histogram accumulation mode. More... | |
void | writeHistogram () |
Write histogram method. More... | |
void | writeHistogram (const ossimFilename &file) |
Write histogram method that takes a file name. More... | |
virtual void | initialize () |
This must be called. More... | |
virtual void | setToStartOfSequence () |
Will set the internal pointers to the upperleft tile number. More... | |
virtual ossimRefPtr< ossimImageData > | getNextTile () |
Will allow you to get the next tile in the sequence. More... | |
virtual void | slaveProcessTiles () |
This implementation does nothing. More... | |
virtual bool | isMaster () const |
ossimIpt | getTileSize () const |
void | setTileSize (const ossimIpt &pt) |
updated the tile size. More... | |
void | setResampleType (ossimFilterResampler::ossimFilterResamplerType resampleType) |
Sets the resampling type. More... | |
void | setScanForMinMax (bool flag) |
Turn on/off scan for min max flag. More... | |
bool | getScanForMinMax () const |
void | setScanForMinMaxNull (bool flag) |
Turn on/off scan for min, max, null flag. More... | |
bool | getScanForMinMaxNull () const |
bool | writeOmdFile (const std::string &file) |
Writes an ossim metadata(omd) file with min, max, null values. More... | |
![]() | |
ossimReferenced () | |
ossimReferenced (const ossimReferenced &) | |
ossimReferenced & | operator= (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 |
![]() | |
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 |
virtual std::ostream & | print (std::ostream &out) const |
Outputs theErrorStatus as an ossimErrorCode and an ossimString. More... | |
Protected Member Functions | |
virtual | ~ossimOverviewSequencer () |
virtual destructor More... | |
void | getInputTileRectangle (ossimIrect &inputRect) const |
Gets the image rectangle for the input tile for theCurrentTileNumber. More... | |
void | getOutputTileRectangle (ossimIrect &outputRect) const |
Gets the image rectangle for the output tile for theCurrentTileNumber. More... | |
void | updateTileDimensions () |
Updates theNumberOfTilesHorizontal and theNumberOfTilesVertical. More... | |
void | resampleTile (const ossimImageData *inputTile) |
Resamples a patch of data. More... | |
template<class T > | |
void | resampleTile (const ossimImageData *inputTile, T dummy) |
void | clearMinMaxNullArrays () |
Clears out the arrays from a scan for min, max, nulls. More... | |
![]() | |
virtual | ~ossimReferenced () |
Definition at line 30 of file ossimOverviewSequencer.h.
ossimOverviewSequencer::ossimOverviewSequencer | ( | ) |
default constructor
Definition at line 31 of file ossimOverviewSequencer.cpp.
References m_areaOfInterest, and ossimIrect::makeNan().
|
protectedvirtual |
virtual destructor
Definition at line 72 of file ossimOverviewSequencer.cpp.
References m_histogram, m_imageHandler, m_maskFilter, m_maskWriter, and m_tile.
|
protected |
Clears out the arrays from a scan for min, max, nulls.
Definition at line 457 of file ossimOverviewSequencer.cpp.
References m_maxValues, m_minValues, and m_nulValues.
ossimHistogramMode ossimOverviewSequencer::getHistogramMode | ( | ) | const |
Gets the histogram accumulation mode.
Definition at line 151 of file ossimOverviewSequencer.cpp.
References m_histoMode.
|
protected |
Gets the image rectangle for the input tile for theCurrentTileNumber.
inputRect | The rectangle to initialize. |
Definition at line 774 of file ossimOverviewSequencer.cpp.
References getOutputTileRectangle(), m_decimationFactor, and m_imageHandler.
Referenced by getNextTile().
|
virtual |
Will allow you to get the next tile in the sequence.
Note the last tile returned will be an invalid ossimRefPtr<ossimImageData>. Callers should be able to do:
ossimRefPtr<ossimImageData> id = sequencer->getNextTile(); while (id.valid()) { doSomething; id = sequencer->getNextTile(); }
Reimplemented in ossimMpiMasterOverviewSequencer.
Definition at line 306 of file ossimOverviewSequencer.cpp.
References ossimImageData::computeMinMaxNulPix(), ossimImageData::computeMinMaxPix(), getInputTileRectangle(), getOutputTileRectangle(), ossimImageSource::getTile(), ossimMaskFilter::getTile(), ossimErrorStatusInterface::hasError(), m_currentTileNumber, m_dirtyFlag, m_histoMode, m_histoTileIndex, m_imageHandler, m_maskFilter, m_maxValues, m_minValues, m_nulValues, m_scanForMinMax, m_scanForMinMaxNull, m_sourceResLevel, m_tile, ossimImageData::makeBlank(), OSSIM_HISTO_MODE_UNKNOWN, ossimNotify(), ossimNotifyLevel_WARN, ossimErrorStatusInterface::setErrorStatus(), ossimImageData::setImageRectangle(), and ossimRefPtr< T >::valid().
Referenced by ossimMpiMasterOverviewSequencer::getNextTile(), and ossimMpiSlaveOverviewSequencer::slaveProcessTiles().
ossim_uint32 ossimOverviewSequencer::getNumberOfTiles | ( | ) | const |
Definition at line 89 of file ossimOverviewSequencer.cpp.
References m_numberOfTilesHorizontal, and m_numberOfTilesVertical.
Referenced by ossimMpiMasterOverviewSequencer::getNextTile(), initialize(), and ossimMpiSlaveOverviewSequencer::slaveProcessTiles().
ossim_uint32 ossimOverviewSequencer::getNumberOfTilesHorizontal | ( | ) | const |
Definition at line 94 of file ossimOverviewSequencer.cpp.
References m_numberOfTilesHorizontal.
ossim_uint32 ossimOverviewSequencer::getNumberOfTilesVertical | ( | ) | const |
Definition at line 99 of file ossimOverviewSequencer.cpp.
References m_numberOfTilesVertical.
|
virtual |
Gets the zero-based image rectangle for the output reduced resolution data set (rrds).
rect | The rectangle to initialize. |
Definition at line 104 of file ossimOverviewSequencer.cpp.
References ossimIrect::hasNans(), ossimIrect::height(), m_areaOfInterest, m_decimationFactor, ossimIrect::makeNan(), and ossimIrect::width().
Referenced by updateTileDimensions().
|
protected |
Gets the image rectangle for the output tile for theCurrentTileNumber.
outputRect | The rectangle to initialize. |
Definition at line 791 of file ossimOverviewSequencer.cpp.
References m_currentTileNumber, m_numberOfTilesHorizontal, m_tileSize, ossimIrect::set_lr(), ossimIrect::set_ul(), ossimIpt::x, and ossimIpt::y.
Referenced by getInputTileRectangle(), ossimMpiMasterOverviewSequencer::getNextTile(), and getNextTile().
bool ossimOverviewSequencer::getScanForMinMax | ( | ) | const |
Definition at line 442 of file ossimOverviewSequencer.cpp.
References m_scanForMinMax.
bool ossimOverviewSequencer::getScanForMinMaxNull | ( | ) | const |
Definition at line 452 of file ossimOverviewSequencer.cpp.
References m_scanForMinMaxNull.
ossimIpt ossimOverviewSequencer::getTileSize | ( | ) | const |
Definition at line 419 of file ossimOverviewSequencer.cpp.
References m_tileSize.
|
virtual |
This must be called.
We can only initialize this object completely if we know all connections are valid. Some other object drives this and so the connection's initialize will be called after. The job of this connection is to set up the sequence. It will default to the bounding rect. The area of interest can be set to some other rectagle (use setAreaOfInterest).
Reimplemented in ossimMpiSlaveOverviewSequencer, and ossimMpiMasterOverviewSequencer.
Definition at line 182 of file ossimOverviewSequencer.cpp.
References ossimMultiBandHistogram::create(), ossimRefPtr< T >::get(), ossimImageHandler::getImageRectangle(), ossimImageSource::getNumberOfOutputBands(), getNumberOfTiles(), ossimImageSource::getTileHeight(), ossimImageSource::getTileWidth(), ossimIpt::hasNans(), ossimIrect::hasNans(), ossimImageData::initialize(), ossimImageDataFactory::instance(), m_areaOfInterest, m_currentTileNumber, m_dirtyFlag, m_histogram, m_histoMode, m_histoTileIndex, m_imageHandler, m_maskFilter, m_sourceResLevel, m_tile, m_tileSize, OSSIM_HISTO_MODE_NORMAL, OSSIM_HISTO_MODE_UNKNOWN, ossimImageData::setWidthHeight(), updateTileDimensions(), ossimRefPtr< T >::valid(), ossimIpt::x, and ossimIpt::y.
Referenced by ossimMpiMasterOverviewSequencer::initialize(), and ossimMpiSlaveOverviewSequencer::initialize().
|
virtual |
Reimplemented in ossimMpiSlaveOverviewSequencer.
Definition at line 414 of file ossimOverviewSequencer.cpp.
|
protected |
Resamples a patch of data.
Definition at line 850 of file ossimOverviewSequencer.cpp.
References ossimImageSource::getOutputScalarType(), m_imageHandler, OSSIM_FLOAT32, OSSIM_FLOAT64, OSSIM_NORMALIZED_DOUBLE, OSSIM_SINT16, OSSIM_SINT32, OSSIM_UINT16, OSSIM_UINT32, OSSIM_UINT8, OSSIM_USHORT11, OSSIM_USHORT12, OSSIM_USHORT13, OSSIM_USHORT14, OSSIM_USHORT15, ossimNotify(), and ossimNotifyLevel_WARN.
|
protected |
Definition at line 910 of file ossimOverviewSequencer.cpp.
void ossimOverviewSequencer::setBitMaskObjects | ( | ossimBitMaskWriter * | mask_writer, |
ossimMaskFilter * | mask_filter | ||
) |
Enabled the generation of an alpha (bit) mask such that any full or partial null pixels will be masked out.
A mask file will be written to the source image directory with the image file name and extension ".mask"
Definition at line 1051 of file ossimOverviewSequencer.cpp.
References m_maskFilter, and m_maskWriter.
void ossimOverviewSequencer::setHistogramMode | ( | ossimHistogramMode | mode | ) |
Sets the histogram accumulation mode.
mode | NONE, NORMAL or FAST. |
Definition at line 156 of file ossimOverviewSequencer.cpp.
References m_dirtyFlag, and m_histoMode.
void ossimOverviewSequencer::setImageHandler | ( | ossimImageHandler * | input | ) |
Sets the input source or connection.
input | Pointer to ossimImageHandler. |
Definition at line 134 of file ossimOverviewSequencer.cpp.
References ossimBitMaskWriter::connectMyInputTo(), ossimRefPtr< T >::get(), m_areaOfInterest, m_dirtyFlag, m_imageHandler, m_maskWriter, ossimIrect::makeNan(), and ossimRefPtr< T >::valid().
void ossimOverviewSequencer::setResampleType | ( | ossimFilterResampler::ossimFilterResamplerType | resampleType | ) |
Sets the resampling type.
Supports BOX or NEAREST NEIGHBOR. When indexed you should probably use nearest neighbor. default = ossimFilterResampler::ossimFilterResampler_BOX
resampleType | The resampling method to use. |
Definition at line 431 of file ossimOverviewSequencer.cpp.
References m_resampleType.
void ossimOverviewSequencer::setScanForMinMax | ( | bool | flag | ) |
Turn on/off scan for min max flag.
This method assumes the null is known.
flag | true turns scan on, false off. Default=off. |
Definition at line 437 of file ossimOverviewSequencer.cpp.
References m_scanForMinMax.
void ossimOverviewSequencer::setScanForMinMaxNull | ( | bool | flag | ) |
Turn on/off scan for min, max, null flag.
Attempts to find null, min and max where null is the minimum value found, min is the second most min and max is max.
flag | true turns scan on, false off. Default=off. |
Definition at line 447 of file ossimOverviewSequencer.cpp.
References m_scanForMinMaxNull.
void ossimOverviewSequencer::setSourceLevel | ( | ossim_uint32 | level | ) |
Sets the input source resolution to decimate from.
level | The level to decimate. |
Definition at line 144 of file ossimOverviewSequencer.cpp.
References m_areaOfInterest, m_dirtyFlag, m_sourceResLevel, and ossimIrect::makeNan().
void ossimOverviewSequencer::setTileSize | ( | const ossimIpt & | pt | ) |
updated the tile size.
This will update the number of horizontal and vertical tiles.
pt | The tile size. pt.x = width, pt.y = height |
height | The tile height. |
Definition at line 424 of file ossimOverviewSequencer.cpp.
References m_dirtyFlag, m_tileSize, and updateTileDimensions().
|
virtual |
Will set the internal pointers to the upperleft tile number.
To go to the next tile in the sequence just call getNextTile.
Reimplemented in ossimMpiSlaveOverviewSequencer, and ossimMpiMasterOverviewSequencer.
Definition at line 301 of file ossimOverviewSequencer.cpp.
References m_currentTileNumber.
|
virtual |
This implementation does nothing.
Derived slave would use this as a trigger to start resampling tiles.
Reimplemented in ossimMpiSlaveOverviewSequencer.
Definition at line 410 of file ossimOverviewSequencer.cpp.
|
protected |
Updates theNumberOfTilesHorizontal and theNumberOfTilesVertical.
This required theAreaOfInterest and theTileSize to be set.
Definition at line 820 of file ossimOverviewSequencer.cpp.
References getOutputImageRectangle(), ossimIpt::hasNans(), ossimIrect::hasNans(), ossimIrect::height(), m_areaOfInterest, m_dirtyFlag, m_numberOfTilesHorizontal, m_numberOfTilesVertical, m_tileSize, ossimIrect::width(), ossimIpt::x, and ossimIpt::y.
Referenced by initialize(), and setTileSize().
void ossimOverviewSequencer::writeHistogram | ( | ) |
Write histogram method.
Definition at line 162 of file ossimOverviewSequencer.cpp.
References ossimImageHandler::getFilenameWithThisExtension(), m_histogram, m_imageHandler, and ossimRefPtr< T >::valid().
void ossimOverviewSequencer::writeHistogram | ( | const ossimFilename & | file | ) |
Write histogram method that takes a file name.
file | File to write to. |
Definition at line 170 of file ossimOverviewSequencer.cpp.
References ossimMultiResLevelHistogram::addHistogram(), ossimString::c_str(), ossimRefPtr< T >::get(), m_histogram, ossimMultiResLevelHistogram::saveState(), ossimRefPtr< T >::valid(), and ossimKeywordlist::write().
bool ossimOverviewSequencer::writeOmdFile | ( | const std::string & | file | ) |
Writes an ossim metadata(omd) file with min, max, null values.
Writes omd file to disk with min, max, null values. If file existed previously it will be ingested into keyword list prior to addition of the min, max, nulls computed in this method.
Note that prior to writing a sanity check is performed on the values as a scan for null value might actually pick up the min if the image is full.
file | to write. |
Definition at line 464 of file ossimOverviewSequencer.cpp.
|
protected |
Definition at line 250 of file ossimOverviewSequencer.h.
Referenced by getOutputImageRectangle(), initialize(), ossimOverviewSequencer(), setImageHandler(), setSourceLevel(), and updateTileDimensions().
|
protected |
Definition at line 254 of file ossimOverviewSequencer.h.
Referenced by ossimMpiMasterOverviewSequencer::getNextTile(), getNextTile(), getOutputTileRectangle(), ossimMpiSlaveOverviewSequencer::initialize(), initialize(), ossimMpiMasterOverviewSequencer::ossimMpiMasterOverviewSequencer(), ossimMpiSlaveOverviewSequencer::ossimMpiSlaveOverviewSequencer(), ossimMpiMasterOverviewSequencer::setToStartOfSequence(), ossimMpiSlaveOverviewSequencer::setToStartOfSequence(), setToStartOfSequence(), and ossimMpiSlaveOverviewSequencer::slaveProcessTiles().
|
protected |
TODO make this handle any decimation.
Right now hard coded to two.
Definition at line 263 of file ossimOverviewSequencer.h.
Referenced by getInputTileRectangle(), and getOutputImageRectangle().
|
protected |
Dirty flag - if true, this object is not initialized.
Definition at line 260 of file ossimOverviewSequencer.h.
Referenced by ossimMpiMasterOverviewSequencer::getNextTile(), getNextTile(), initialize(), setHistogramMode(), setImageHandler(), setSourceLevel(), setTileSize(), and updateTileDimensions().
|
protected |
Definition at line 268 of file ossimOverviewSequencer.h.
Referenced by initialize(), writeHistogram(), and ~ossimOverviewSequencer().
|
protected |
Definition at line 270 of file ossimOverviewSequencer.h.
Referenced by getHistogramMode(), getNextTile(), initialize(), and setHistogramMode().
|
protected |
Used to determine which tiles to accumulate a histogram from.
If set to 1 every tile is accumulated, 2 every other tile, 3 every 3rd tile, and so on. Set in initialize method based on mode and image size.
Definition at line 277 of file ossimOverviewSequencer.h.
Referenced by getNextTile(), and initialize().
|
protected |
Definition at line 246 of file ossimOverviewSequencer.h.
Referenced by getInputTileRectangle(), ossimMpiMasterOverviewSequencer::getNextTile(), getNextTile(), initialize(), resampleTile(), setImageHandler(), ossimMpiSlaveOverviewSequencer::slaveProcessTiles(), writeHistogram(), and ~ossimOverviewSequencer().
|
protected |
Definition at line 248 of file ossimOverviewSequencer.h.
Referenced by getNextTile(), initialize(), setBitMaskObjects(), and ~ossimOverviewSequencer().
|
protected |
Definition at line 247 of file ossimOverviewSequencer.h.
Referenced by setBitMaskObjects(), setImageHandler(), and ~ossimOverviewSequencer().
|
protected |
Definition at line 285 of file ossimOverviewSequencer.h.
Referenced by clearMinMaxNullArrays(), and getNextTile().
|
protected |
Arrays o hold the min value for each band for scan min/max methods.
Definition at line 284 of file ossimOverviewSequencer.h.
Referenced by clearMinMaxNullArrays(), and getNextTile().
|
protected |
Definition at line 286 of file ossimOverviewSequencer.h.
Referenced by clearMinMaxNullArrays(), and getNextTile().
|
protected |
Definition at line 252 of file ossimOverviewSequencer.h.
Referenced by getNumberOfTiles(), getNumberOfTilesHorizontal(), getOutputTileRectangle(), and updateTileDimensions().
|
protected |
Definition at line 253 of file ossimOverviewSequencer.h.
Referenced by getNumberOfTiles(), getNumberOfTilesVertical(), and updateTileDimensions().
|
protected |
Currently only handles NEAREST_NEIGHBOR and BOX (default = BOX)
Definition at line 266 of file ossimOverviewSequencer.h.
Referenced by setResampleType().
|
protected |
Control flags for min, max, null scanning.
Definition at line 280 of file ossimOverviewSequencer.h.
Referenced by getNextTile(), getScanForMinMax(), and setScanForMinMax().
|
protected |
Definition at line 281 of file ossimOverviewSequencer.h.
Referenced by getNextTile(), getScanForMinMaxNull(), and setScanForMinMaxNull().
|
protected |
This is the resolution level to build overviews from.
Definition at line 257 of file ossimOverviewSequencer.h.
Referenced by getNextTile(), initialize(), and setSourceLevel().
|
protected |
Definition at line 249 of file ossimOverviewSequencer.h.
Referenced by ossimMpiMasterOverviewSequencer::getNextTile(), getNextTile(), initialize(), ossimMpiSlaveOverviewSequencer::slaveProcessTiles(), and ~ossimOverviewSequencer().
|
protected |
Definition at line 251 of file ossimOverviewSequencer.h.
Referenced by getOutputTileRectangle(), getTileSize(), initialize(), setTileSize(), and updateTileDimensions().