9 #include "../AtpCommon.h" 32 : m_annFilename(
"annotated.tif")
34 const char* MODULE =
"AtpGenerator::setupAnnotatedChain() ";
51 renderer->setImageViewTransform(ivt.
get());
61 vector<ossim_uint32> bandList;
62 bandList.push_back(0);
63 bandList.push_back(0);
64 bandList.push_back(0);
114 for (
auto &atp : atps)
116 atp->getRefViewPoint(refPt);
128 atp->getVectorResidual(residual);
129 cmpPt.
x = refPt.
x + residualMultiplier*residual.
x;
130 cmpPt.
y = refPt.
y + residualMultiplier*residual.
y;
141 for (
auto &atp : atps)
143 atp->getRefViewPoint(refPt);
158 for (
auto &p : features)
186 if (residualMultiplier < 1)
187 residualMultiplier = 1.0;
190 for (
auto &atp : atpList)
193 atp->getCmpViewPoint(cmpPt);
204 atp->getVectorResidual(residual);
205 refPt.
x = cmpPt.
x - residualMultiplier*residual.
x;
206 refPt.
y = cmpPt.
y - residualMultiplier*residual.
y;
217 for (
size_t i=0; i<vlist.size(); ++i)
235 const char* MODULE =
"AtpAnnotatedImage::annotateFeatureSearchTiles() ";
240 if (searchTileRects.empty())
242 CINFO<<MODULE<<
"No feature search tiles were established in the overlap."<<endl;
248 for (
auto &searchTileRect : searchTileRects)
253 pt.
x = searchTileRect.ul().x;
254 pt.
y = searchTileRect.ul().y;
257 pt.
x = searchTileRect.ur().x;
258 pt.
y = searchTileRect.ur().y;
261 pt.
x = searchTileRect.lr().x;
262 pt.
y = searchTileRect.lr().y;
265 pt.
x = searchTileRect.ll().x;
266 pt.
y = searchTileRect.ll().y;
279 drawBox(scaledRect, 255, 200, 100);
JsonParam & getParameter(const char *paramName)
Returns a parameter (might be a null parameter if paramName not found in the configuration.
ossim_float64 width() const
void annotateCorrelations(AtpList &atpList, int r, int g, int b)
virtual void initialize()
unsigned int asUint() const
const ossimIpt & ul() const
std::vector< std::shared_ptr< AutoTiePoint > > AtpList
const ossimIpt & ll() const
virtual bool addObject(ossimAnnotationObject *anObject)
void set_ul(const ossimIpt &pt)
virtual void accept(ossimVisitor &visitor)
We will add a visitor interface for all connectable objects.
void annotateOverlap(ossimPolygon &poly)
void setAOI(const ossimDrect &aoi)
ossimDpt m_annScaleInverse
const ossimIpt & lr() const
virtual bool add(ossimConnectableObject *source)
Will return true or false if an image source was added to the chain.
void annotateTPIDs(AtpList &atps, int r, int g, int b)
virtual ossim_int32 connectMyInputTo(ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true)
Will try to connect this objects input to the passed in object.
Class to draw fonts onto an image.
void annotateFeatures(std::vector< ossimDpt > &atpList, int r, int g, int b)
ossim_float64 height() const
THESE FUNCTIONS REQUIRE OPENCV.
ossimIrect m_annScaledAoi
const ossimIpt & ur() const
const vector< ossimDpt > & getVertexList() const
virtual void setFilename(const ossimFilename &file)
ossimFilename m_annFilename
ossimRefPtr< ossimAnnotationSource > m_annSource
void set_lr(const ossimIpt &pt)
void set_ll(const ossimIpt &pt)
virtual void initialize()
Initialize method.
void annotateCorrelationSearchTile(const ossimIrect &tileRect)
void annotateResiduals(AtpList &atps, int r, int g, int b)
virtual void setOutputBandList(const vector< ossim_uint32 > &outputBandList, bool disablePassThru=false)
Sets the output band list.
virtual void setAreaOfInterest(const ossimIrect &inputRect)
static AtpConfig & instance()
Singleton implementation.
void drawBox(const ossimIrect &rect, int r, int g, int b)
void annotateFeatureSearchTiles(std::vector< ossimIrect > &tileRects)
void set_ur(const ossimIpt &pt)
virtual bool execute()
Calls: writeFile() writeMetaDataFiles()
Singleton class maintaining parameters affecting the automatic tie point generation.