Create mosaics from a sequence of overlapped rasters using an automatic tie-points detection method. More...
#include <SequenceMosaic.h>
Classes | |
class | InputParameters |
Mosaic input parameters. More... | |
class | MosaicSequenceInfo |
Mosaic sequence info. More... | |
class | OutputParameters |
Mosaic output parameters. More... | |
Public Member Functions | |
bool | execute (AlgorithmOutputParameters &outputParams) throw ( te::rp::Exception ) |
Executes the algorithm using the supplied parameters. More... | |
bool | initialize (const AlgorithmInputParameters &inputParams) throw ( te::rp::Exception ) |
Initialize the algorithm instance making it ready for execution. More... | |
bool | isInitialized () const |
Returns true if the algorithm instance is initialized and ready for execution. More... | |
void | reset () throw ( te::rp::Exception ) |
Clear all internal allocated objects and reset the algorithm to its initial state. More... | |
SequenceMosaic () | |
~SequenceMosaic () | |
Protected Member Functions | |
bool | createDiskRasterCopy (const std::string &fileName, const te::rst::Raster &sourceRaster) const |
Create copy of the given raster into a disk file. More... | |
bool | createRasterDataSet (const std::string &dataSetName, const te::rst::Raster &sourceRaster, te::da::DataSource *dataSourcePtr) const |
Create a raster data set from the given raster. More... | |
Static Protected Member Functions | |
static void | calcBandStatistics (const te::rst::Band &band, const bool &forceNoDataValue, const double &noDataValue, double &mean, double &variance) |
Raster band statistics calcule. More... | |
Protected Attributes | |
SequenceMosaic::InputParameters | m_inputParameters |
Input execution parameters. More... | |
bool | m_isInitialized |
Tells if this instance is initialized. More... | |
Create mosaics from a sequence of overlapped rasters using an automatic tie-points detection method.
Definition at line 50 of file SequenceMosaic.h.
te::rp::SequenceMosaic::SequenceMosaic | ( | ) |
Definition at line 184 of file SequenceMosaic.cpp.
References reset().
te::rp::SequenceMosaic::~SequenceMosaic | ( | ) |
Definition at line 189 of file SequenceMosaic.cpp.
|
staticprotected |
Raster band statistics calcule.
band | Input raster band. |
forceNoDataValue | Force the noDataValue to be used as the band no-data value. |
noDataValue | The no-data value to use. |
mean | Pixels mean. |
variance | Pixels variance. |
Definition at line 1007 of file SequenceMosaic.cpp.
References te::rst::Band::getProperty(), te::rst::Band::getValue(), te::rst::BandProperty::m_blkh, te::rst::BandProperty::m_blkw, te::rst::BandProperty::m_nblocksx, te::rst::BandProperty::m_nblocksy, and te::rst::BandProperty::m_noDataValue.
Referenced by execute().
|
protected |
Create copy of the given raster into a disk file.
fileName | The disk file name. |
sourceRaster | The source raster. |
Definition at line 1108 of file SequenceMosaic.cpp.
References te::rst::Raster::getBand(), te::rst::Raster::getGrid(), te::rst::Raster::getNumberOfBands(), te::rst::Raster::getNumberOfColumns(), te::rst::Raster::getNumberOfRows(), te::rst::Band::getProperty(), te::rst::Band::getValue(), te::sa::Grid, te::rst::RasterFactory::make(), and te::rst::Band::setValue().
|
protected |
Create a raster data set from the given raster.
dataSetName | The data set name. |
sourceRaster | The source raster. |
dataSourcePtr | The output data source pointer. |
Definition at line 1061 of file SequenceMosaic.cpp.
References te::rp::CreateNewRaster(), te::rst::Raster::getAccessPolicy(), te::rst::Raster::getBand(), te::rst::Raster::getGrid(), te::rst::Raster::getNumberOfBands(), te::rst::Raster::getNumberOfColumns(), te::rst::Raster::getNumberOfRows(), te::rst::Band::getProperty(), te::rp::RasterHandler::getRasterPtr(), te::rst::Band::getValue(), te::da::DataSource::isValid(), te::common::RAccess, and te::rst::Band::setValue().
Referenced by execute().
|
virtual |
Executes the algorithm using the supplied parameters.
outputParams | Output parameters. |
Implements te::rp::Algorithm.
Definition at line 193 of file SequenceMosaic.cpp.
References te::gm::CurvePolygon::add(), te::gm::GeometryCollection::add(), te::rp::Blender::blendIntoRaster1(), calcBandStatistics(), te::rp::SequenceMosaic::MosaicSequenceInfo::clear(), te::gm::GeometryCollection::clear(), createRasterDataSet(), te::rp::TiePointsLocator::execute(), te::rst::Raster::getBand(), te::rp::FeederConstRaster::getCurrentObj(), te::rp::FeederConstRaster::getCurrentOffset(), te::rst::GetDataTypeRanges(), te::rst::Grid::getExtent(), te::rst::Raster::getGrid(), te::rp::GetIndexedDetailedExtent(), te::gm::Envelope::getLowerLeftX(), te::rst::Raster::getNumberOfColumns(), te::rst::Raster::getNumberOfRows(), te::rp::FeederConstRaster::getObjsCount(), te::common::GetPhysProcNumber(), te::rst::Band::getProperty(), te::rst::Raster::getResolutionX(), te::rst::Grid::getResolutionX(), te::rst::Raster::getResolutionY(), te::rst::Grid::getResolutionY(), te::rst::Raster::getSRID(), te::rp::GetTPConvexHullArea(), te::gm::Envelope::getUpperRightY(), te::rst::Band::getValue(), te::gm::LineString::getX(), te::gm::LineString::getY(), te::rst::GrayIdxCInt, te::sa::Grid, te::rp::TiePointsLocator::initialize(), te::rp::Blender::initialize(), te::da::DataSource::isValid(), te::gm::LineStringType, te::rp::SequenceMosaic::InputParameters::m_autoEqualize, te::rp::SequenceMosaic::InputParameters::m_blendMethod, te::rst::BandProperty::m_colorInterp, te::rp::SequenceMosaic::MosaicSequenceInfo::m_dataSetName, te::rp::TiePointsLocatorInputParameters::m_enableGeometryFilter, te::rp::SequenceMosaic::InputParameters::m_enableMultiThread, te::rp::TiePointsLocatorInputParameters::m_enableMultiThread, te::rp::SequenceMosaic::InputParameters::m_enableProgress, te::rp::TiePointsLocatorInputParameters::m_enableProgress, te::rp::SequenceMosaic::InputParameters::m_feederRasterPtr, te::rp::SequenceMosaic::InputParameters::m_forceInputNoDataValue, te::rp::SequenceMosaic::InputParameters::m_geomTransfName, te::rp::TiePointsLocatorInputParameters::m_geomTransfName, te::rp::TiePointsLocatorInputParameters::m_inMaskRaster1Ptr, te::rp::TiePointsLocatorInputParameters::m_inMaskRaster2Ptr, m_inputParameters, te::rp::SequenceMosaic::InputParameters::m_inputRastersBands, te::rp::TiePointsLocatorInputParameters::m_inRaster1Bands, te::rp::TiePointsLocatorInputParameters::m_inRaster1Ptr, te::rp::TiePointsLocatorInputParameters::m_inRaster2Bands, te::rp::TiePointsLocatorInputParameters::m_inRaster2Ptr, te::rp::SequenceMosaic::InputParameters::m_interpMethod, te::rp::TiePointsLocatorInputParameters::m_interpMethod, m_isInitialized, te::rp::SequenceMosaic::InputParameters::m_locatorParams, te::rp::SequenceMosaic::InputParameters::m_minRequiredTiePointsCoveredAreaPercent, te::rp::SequenceMosaic::InputParameters::m_noDataValue, te::rst::BandProperty::m_noDataValue, te::rp::SequenceMosaic::InputParameters::m_outDataSetsNamePrefix, te::rp::SequenceMosaic::InputParameters::m_outDataSetsNameSufix, te::rp::SequenceMosaic::OutputParameters::m_outputDSPtr, te::rp::TiePointsLocatorInputParameters::m_pixelSizeXRelation, te::rp::TiePointsLocatorInputParameters::m_pixelSizeYRelation, te::rp::TiePointsLocatorInputParameters::m_raster1TargetAreaColStart, te::rp::TiePointsLocatorInputParameters::m_raster1TargetAreaHeight, te::rp::TiePointsLocatorInputParameters::m_raster1TargetAreaLineStart, te::rp::TiePointsLocatorInputParameters::m_raster1TargetAreaWidth, te::rp::TiePointsLocatorInputParameters::m_raster2TargetAreaColStart, te::rp::TiePointsLocatorInputParameters::m_raster2TargetAreaHeight, te::rp::TiePointsLocatorInputParameters::m_raster2TargetAreaLineStart, te::rp::TiePointsLocatorInputParameters::m_raster2TargetAreaWidth, te::rp::SequenceMosaic::MosaicSequenceInfo::m_rasterFeederIndexes, te::rp::SequenceMosaic::OutputParameters::m_sequencesInfo, te::rp::TiePointsLocator::OutputParameters::m_tiePoints, te::gm::GTParameters::m_tiePoints, te::rp::SequenceMosaic::MosaicSequenceInfo::m_tiePoints, te::rp::SequenceMosaic::InputParameters::m_tiePointsLocationBandIndex, te::rp::TiePointsLocator::OutputParameters::m_transformationPtr, te::rp::SequenceMosaic::InputParameters::m_useRasterCache, te::rp::FeederConstRaster::moveNext(), te::gm::MultiPolygonType, te::rst::NearestNeighbor, te::gm::PolygonType, te::gm::CurvePolygon::push_back(), te::rp::FeederConstRaster::reset(), te::rp::TiePointsLocatorInputParameters::reset(), SEQUENCE_RASTER_MAX_MOSAIC_MEM_USE, te::gm::LineString::setPoint(), te::gm::GeometryCollection::setSRID(), te::gm::LineString::setSRID(), te::gm::CurvePolygon::setSRID(), te::rst::Band::setValue(), te::gm::LineString::size(), TERP_LOG_AND_RETURN_FALSE, TERP_TRUE_OR_RETURN_FALSE, TERP_TRUE_OR_THROW, te::gm::Envelope::transform(), and te::gm::Geometry::Union().
Referenced by te::qt::widgets::MosaicWizard::executeSequenceMosaic().
|
virtual |
Initialize the algorithm instance making it ready for execution.
inputParams | Input parameters. |
Implements te::rp::Algorithm.
Definition at line 932 of file SequenceMosaic.cpp.
References te::rp::FeederConstRaster::getCurrentObj(), te::rst::Raster::getNumberOfBands(), te::rp::FeederConstRaster::getObjsCount(), te::rp::SequenceMosaic::InputParameters::m_feederRasterPtr, m_inputParameters, te::rp::SequenceMosaic::InputParameters::m_inputRastersBands, m_isInitialized, te::rp::SequenceMosaic::InputParameters::m_minRequiredTiePointsCoveredAreaPercent, te::rp::SequenceMosaic::InputParameters::m_tiePointsLocationBandIndex, te::rp::FeederConstRaster::moveNext(), te::rp::FeederConstRaster::reset(), reset(), TERP_TRUE_OR_RETURN_FALSE, and TERP_TRUE_OR_THROW.
Referenced by te::qt::widgets::MosaicWizard::executeSequenceMosaic().
|
virtual |
Returns true if the algorithm instance is initialized and ready for execution.
Implements te::rp::Algorithm.
Definition at line 1002 of file SequenceMosaic.cpp.
References m_isInitialized.
|
virtual |
Clear all internal allocated objects and reset the algorithm to its initial state.
Implements te::rp::Algorithm.
Definition at line 926 of file SequenceMosaic.cpp.
References m_inputParameters, m_isInitialized, and te::rp::SequenceMosaic::InputParameters::reset().
Referenced by initialize(), te::rp::SequenceMosaic::InputParameters::InputParameters(), te::rp::SequenceMosaic::InputParameters::operator=(), te::rp::SequenceMosaic::OutputParameters::operator=(), te::rp::SequenceMosaic::OutputParameters::OutputParameters(), SequenceMosaic(), te::rp::SequenceMosaic::InputParameters::~InputParameters(), and te::rp::SequenceMosaic::OutputParameters::~OutputParameters().
|
protected |
Input execution parameters.
Definition at line 176 of file SequenceMosaic.h.
Referenced by execute(), initialize(), and reset().
|
protected |
Tells if this instance is initialized.
Definition at line 178 of file SequenceMosaic.h.
Referenced by execute(), initialize(), isInitialized(), and reset().