iVS3D v2.0.0
Loading...
Searching...
No Matches
GeoMap Class Reference

The GeoMapPlugin allows the user to select the images, which are to be used for the 3D reconstruction, based on their geographic position. More...

#include <geomap.h>

Inheritance diagram for GeoMap:
IAlgorithm

Public Slots

void onGpsClicked (QPointF gpsPoint, bool used)
 onGpsClicked slot triggered when gps point on the map is clicked
 
void onNewMetaData ()
 onNewMetaData Slot is triggerd if the core loads new meta data
 
void onKeyframesChanged (std::vector< uint > keyframes)
 onKeyframesChanged Slot is triggerd if the core emtis new keyframes
 
void onGpsSelected (QPolygonF polyF)
 onGpsSelected Slot is triggered when a new user selcted polyogn is created
 

Public Member Functions

 GeoMap ()
 Construct and initialize plugin with default parameterization.
 
virtual ~GeoMap ()
 Destroy object of GeoMapPlugin.
 
QWidget * getSettingsWidget (QWidget *parent) override
 getSettingsWidget is provides an QWidget to display plugin specific settings to the user. The Widget is not deleted by the core application, so storage management is duty of the plugin.
 
QString getName () const override
 getName returns the display name for the plugin. This name is presented to the user.
 
std::vector< uint > sampleImages (const std::vector< uint > &imageList, Progressable *receiver, volatile bool *stopped, bool useCuda, LogFileParent *logFile) override
 sampleImages selects the keyframes from the given images. The computation is based on the images provided by the given Reader. The imageList provides indices for the currently selected keyframes.
 
void initialize (Reader *reader, QMap< QString, QVariant > buffer, signalObject *sigObj) override
 initialize the the IAlgorithm and the settings widget with plausible values from the Reader.
 
void setSettings (QMap< QString, QVariant > settings) override
 setter for plugin's settings
 
QMap< QString, QVariant > getSettings () override
 getter for plugin's settings
 
QMap< QString, QVariant > generateSettings (Progressable *receiver, bool useCuda, volatile bool *stopped) override
 generateSettings tries to generate the best settings for the current input
 

Private Member Functions

std::vector< unsigned int > getKeyframesFromGps ()
 these are the localy stored keyframes
 
std::vector< unsigned int > getFramesInsidePolygon ()
 these are all frames inside the user created polygon
 

Private Attributes

signalObjectmpSigObj
 Pointer to signal object of iVS3D-core.
 
ReadermpReader
 Pointer to reader object of iVS3D-core.
 
QWidget * mpQuickViewContainerWidget
 Pointer to QML container widget.
 
QWidget * mpMapWidget
 Pointer to the map widget.
 
std::shared_ptr< MapHandlermpMapHandler
 Pointer to map handler.
 
QMap< QString, QVariant > mBuffer
 Buffered data form last call to sampleImages.
 
QList< QVariant > mMetaData
 List of available meta data.
 
QList< QPair< QPointF, bool > > mGpsData
 List of GPS data associated with the images.
 
bool mIsGpsAvailable
 Flag indicating if GPS data is available.
 

Additional Inherited Members

- Signals inherited from IAlgorithm
void updateKeyframes (std::vector< uint > keyframes)
 updateKeyframes updates the keyframe list in the core object.
 
void updateBuffer (QMap< QString, QVariant > buffer)
 updateBuffer stores the given buffer for future uses of the buffered data.
 

Detailed Description

The GeoMapPlugin allows the user to select the images, which are to be used for the 3D reconstruction, based on their geographic position.

In this, the location (derived from the meta data) of the images are displayed on a map. The user is then prompted to draw a region of interest in the form of a polygon. All images whose geographic location lie inside this polygon are than exported and prepared for the 3D reconstruction.

Author
Daniel Brommer
Boitumelo Ruf

Constructor & Destructor Documentation

◆ GeoMap()

GeoMap::GeoMap ( )

Construct and initialize plugin with default parameterization.

Default construction.

Member Function Documentation

◆ generateSettings()

QMap< QString, QVariant > GeoMap::generateSettings ( Progressable receiver,
bool  useCuda,
volatile bool *  stopped 
)
overridevirtual

generateSettings tries to generate the best settings for the current input

Parameters
receiveris a progressable, which displays the already made progress
bufferQVariant with the buffered data form last call to sampleImages
useCudatrue if cv::cuda can be used
stoppedis set if the algorithm should abort
Returns
QMap with the settings

Implements IAlgorithm.

◆ getName()

QString GeoMap::getName ( ) const
overridevirtual

getName returns the display name for the plugin. This name is presented to the user.

Returns
The name to display

Implements IAlgorithm.

◆ getSettings()

QMap< QString, QVariant > GeoMap::getSettings ( )
overridevirtual

getter for plugin's settings

Returns
QMap with the settings

Implements IAlgorithm.

◆ getSettingsWidget()

QWidget * GeoMap::getSettingsWidget ( QWidget *  parent)
overridevirtual

getSettingsWidget is provides an QWidget to display plugin specific settings to the user. The Widget is not deleted by the core application, so storage management is duty of the plugin.

Parameters
parentThe parent for the QWidget
Returns
The QWidget with the plugin settings

Implements IAlgorithm.

◆ initialize()

void GeoMap::initialize ( Reader reader,
QMap< QString, QVariant >  buffer,
signalObject sigObj 
)
overridevirtual

initialize the the IAlgorithm and the settings widget with plausible values from the Reader.

Parameters
readerThe reader with the images
bufferQVariant with the buffered data form last call to sampleImages
sigObjprovides signals from the core application

Implements IAlgorithm.

◆ onGpsClicked

void GeoMap::onGpsClicked ( QPointF  gpsPoint,
bool  used 
)
slot

onGpsClicked slot triggered when gps point on the map is clicked

Parameters
gpsPointgps point which has been clicked
usedtrue if points is used AFTER click false otherwise

◆ onGpsSelected

void GeoMap::onGpsSelected ( QPolygonF  polyF)
slot

onGpsSelected Slot is triggered when a new user selcted polyogn is created

Parameters
polyFPerimeter of the polyogn

◆ onKeyframesChanged

void GeoMap::onKeyframesChanged ( std::vector< uint >  keyframes)
slot

onKeyframesChanged Slot is triggerd if the core emtis new keyframes

Parameters
keyframesKeyframe vector

◆ sampleImages()

std::vector< uint > GeoMap::sampleImages ( const std::vector< uint > &  imageList,
Progressable receiver,
volatile bool *  stopped,
bool  useCuda,
LogFileParent logFile 
)
overridevirtual

sampleImages selects the keyframes from the given images. The computation is based on the images provided by the given Reader. The imageList provides indices for the currently selected keyframes.

Parameters
imageListIndex list of images to compute, but indices in between can be used for computation
receiverThe Progressable to invoke to report progress
stoppedFlag true if the computation should abort, false if it should continue
useCudatrue if cv::cuda can be used
logFilecan be used to protocol progress or problems
Returns
The indices of the selected keyframes

Implements IAlgorithm.

◆ setSettings()

void GeoMap::setSettings ( QMap< QString, QVariant >  settings)
overridevirtual

setter for plugin's settings

Parameters
QMapwith the settings

Implements IAlgorithm.


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