OSSIM - Open Source Software Image Map
Version 1.9.0 (20180803)
|
#include <ossimTilePatch.h>
Public Member Functions | |
ossimTilePatch (ossimImageSource *input) | |
ossimTilePatch (ossimScalarType scalarType=OSSIM_UCHAR, long numberOfComponents=1, long width=128, long height=128) | |
virtual ossimIrect | getRect () const |
virtual void | setRect (const ossimDpt &p1, const ossimDpt &p2, const ossimDpt &p3, const ossimDpt &p4, const ossimDpt &tile_size, const ossimDpt &padding=ossimDpt(0, 0)) |
virtual void | setRect (const ossimDrect &aRect, const ossimDpt &tile_size, const ossimDpt &padding=ossimDpt(0, 0)) |
virtual void | setRect (const ossimDpt ¢er_of_rect, const ossimDpt &rect_size, const ossimDpt &tile_size, const ossimDpt &padding=ossimDpt(0, 0)) |
virtual void | fillTile (ossimRefPtr< ossimImageData > &aTile) const |
virtual void | fillTile (ossimRefPtr< ossimImageData > &result, ossimDiscreteConvolutionKernel *kernel) const |
virtual void | fillTile (ossimRefPtr< ossimImageData > &result, const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &deltaUl, const ossimDpt &deltaUr, const ossimDpt &length) const |
virtual void | fillPatch (ossimImageSource *imageSource, long resLevel=0) |
ossimRefPtr< ossimImageData > | getData () |
void | setData (ossimRefPtr< ossimImageData > &patchData) |
void | convolve (ossimDiscreteConvolutionKernel *kernel) |
![]() | |
ossimObject () | |
virtual | ~ossimObject () |
virtual ossimObject * | dup () const |
virtual ossimString | getShortName () const |
virtual ossimString | getLongName () const |
virtual ossimString | getDescription () 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 | saveState (ossimKeywordlist &kwl, const char *prefix=0) const |
virtual bool | loadState (const ossimKeywordlist &kwl, const char *prefix=0) |
virtual std::ostream & | print (std::ostream &out) const |
Generic print method. More... | |
virtual bool | isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const |
virtual void | accept (ossimVisitor &visitor) |
![]() | |
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 |
Static Public Member Functions | |
static ossimDrect | findBoundingRect (const ossimDpt &p1, const ossimDpt &p2, const ossimDpt &p3, const ossimDpt &p4) |
Protected Member Functions | |
virtual | ~ossimTilePatch () |
template<class T > | |
void | fillTileTemplate (T dummyVariable, ossimRefPtr< ossimImageData > &result, const ossimDpt &ul, const ossimDpt &ur, const ossimDpt &deltaUl, const ossimDpt &deltaUr, const ossimDpt &length) const |
template<class T > | |
void | fillTileTemplate (T dummyVariable, ossimRefPtr< ossimImageData > &result, ossimDiscreteConvolutionKernel *kernel) const |
![]() | |
virtual | ~ossimReferenced () |
Protected Attributes | |
ossimRefPtr< ossimImageData > | thePatchData |
Static Protected Attributes | |
static ossimDiscreteNearestNeighbor | nearestNeighborKernel |
Definition at line 24 of file ossimTilePatch.h.
ossimTilePatch::ossimTilePatch | ( | ossimImageSource * | input | ) |
Definition at line 23 of file ossimTilePatch.cpp.
References ossimImageDataFactory::create(), ossimImageData::initialize(), and ossimImageDataFactory::instance().
ossimTilePatch::ossimTilePatch | ( | ossimScalarType | scalarType = OSSIM_UCHAR , |
long | numberOfComponents = 1 , |
||
long | width = 128 , |
||
long | height = 128 |
||
) |
The rect is assumed up right and all we need to do is compute the even tile boundary rect
Definition at line 29 of file ossimTilePatch.cpp.
References ossimImageDataFactory::create(), ossimImageData::initialize(), ossimImageDataFactory::instance(), and thePatchData.
|
protectedvirtual |
Definition at line 44 of file ossimTilePatch.cpp.
void ossimTilePatch::convolve | ( | ossimDiscreteConvolutionKernel * | kernel | ) |
This will implement an in place convolution. It will allocate a buffer pass it to the convolution algorithm and then replace the internal buffer.
Definition at line 89 of file ossimTilePatch.cpp.
References ossimImageData::dup(), fillTile(), ossimRefPtr< T >::get(), ossimDiscreteConvolutionKernel::getHeight(), ossimImageData::getHeight(), ossimImageData::getOrigin(), ossimDiscreteConvolutionKernel::getWidth(), ossimImageData::getWidth(), ossimImageData::initialize(), ossimImageData::loadTile(), ossimImageData::setHeight(), ossimImageData::setOrigin(), ossimImageData::setWidth(), thePatchData, ossimImageData::validate(), ossimIpt::x, and ossimIpt::y.
|
virtual |
Definition at line 68 of file ossimTilePatch.cpp.
References ossimRefPtr< T >::get(), ossimImageData::getImageRectangle(), ossimImageSource::getTile(), ossimImageData::loadTile(), ossimImageData::makeBlank(), thePatchData, and ossimRefPtr< T >::valid().
|
virtual |
This will fill the tile from the tile patch.
Definition at line 126 of file ossimTilePatch.cpp.
References ossimRefPtr< T >::get(), ossimImageData::getBuf(), ossimImageData::getNumberOfBands(), ossimRectilinearDataObject::getScalarType(), ossimImageData::loadTile(), thePatchData, and ossimRefPtr< T >::valid().
Referenced by convolve().
|
virtual |
This will fill the tile from the tile patch and apply the convolution kernel. This is optimized for upright rectangles. Use the bilinear fill tile bellow for arbitrary 4-sided polygons.
Definition at line 138 of file ossimTilePatch.cpp.
References fillTileTemplate(), ossimRectilinearDataObject::getScalarType(), OSSIM_DOUBLE, ossimErrorCodes::OSSIM_ERROR, OSSIM_FLOAT, OSSIM_NORMALIZED_DOUBLE, OSSIM_NORMALIZED_FLOAT, OSSIM_SSHORT16, OSSIM_UCHAR, OSSIM_USHORT11, OSSIM_USHORT12, OSSIM_USHORT13, OSSIM_USHORT14, OSSIM_USHORT15, OSSIM_USHORT16, ossimSetError(), and thePatchData.
|
virtual |
We will assume that the patch is already big enough to satisfy the kernel size.
Definition at line 210 of file ossimTilePatch.cpp.
References fillTileTemplate(), ossimImageData::getMaxPix(), ossimImageData::getMinPix(), ossimImageData::getNullPix(), ossimImageData::getNumberOfBands(), ossimRectilinearDataObject::getScalarType(), ossimImageData::makeBlank(), OSSIM_DOUBLE, ossimErrorCodes::OSSIM_ERROR, OSSIM_FLOAT, OSSIM_NORMALIZED_DOUBLE, OSSIM_NORMALIZED_FLOAT, OSSIM_SSHORT16, OSSIM_UCHAR, OSSIM_USHORT11, OSSIM_USHORT12, OSSIM_USHORT13, OSSIM_USHORT14, OSSIM_USHORT15, OSSIM_USHORT16, ossimSetError(), ossimImageData::setMaxPix(), ossimImageData::setMinPix(), ossimImageData::setNullPix(), and thePatchData.
|
protected |
Definition at line 417 of file ossimTilePatch.cpp.
References ossimImageData::getBuf(), ossimImageData::getHeight(), ossimImageData::getImageRectangle(), ossimImageData::getNullPix(), ossimImageData::getNumberOfBands(), ossimImageData::getWidth(), thePatchData, ossimIrect::ul(), ossimIpt::x, ossimDpt::x, x, ossimIpt::y, ossimDpt::y, and y.
Referenced by fillTile().
|
protected |
Definition at line 307 of file ossimTilePatch.cpp.
References ossimDiscreteConvolutionKernel::convolveSubImage(), ossimImageData::getBuf(), ossimDataObject::getDataObjectStatus(), ossimDiscreteConvolutionKernel::getHeight(), ossimImageData::getHeight(), ossimImageData::getImageRectangle(), ossimImageData::getMaxPix(), ossimImageData::getMinPix(), ossimImageData::getNumberOfBands(), ossimImageData::getOrigin(), ossimDiscreteConvolutionKernel::getWidth(), ossimImageData::getWidth(), ossimImageData::isNull(), max, min, OSSIM_EMPTY, OSSIM_NULL, OSSIM_PARTIAL, ossimImageData::setNull(), status, thePatchData, ossimIrect::width(), ossimIpt::x, ossimDpt::x, x, ossimIpt::y, ossimDpt::y, and y.
|
static |
Definition at line 53 of file ossimTilePatch.cpp.
Referenced by setRect().
|
inline |
Do not delete this data. We give raw access to the buffer if there are special things you wish to have done.
Definition at line 103 of file ossimTilePatch.h.
References thePatchData.
|
virtual |
return the tile boundary aligned rectangle for this patch.
Definition at line 48 of file ossimTilePatch.cpp.
References ossimImageData::getImageRectangle(), and thePatchData.
void ossimTilePatch::setData | ( | ossimRefPtr< ossimImageData > & | patchData | ) |
Definition at line 84 of file ossimTilePatch.cpp.
References thePatchData.
|
virtual |
The padding is for any convolution that must take place.
Definition at line 477 of file ossimTilePatch.cpp.
References findBoundingRect().
Referenced by setRect().
|
virtual |
Definition at line 500 of file ossimTilePatch.cpp.
References ossimImageData::getHeight(), ossimImageData::getWidth(), ossimImageData::initialize(), ossimDrect::lr(), ossimImageData::setHeight(), ossimImageData::setOrigin(), ossimImageData::setWidth(), thePatchData, ossimDrect::ul(), ossimRefPtr< T >::valid(), ossimDpt::x, and ossimDpt::y.
|
virtual |
Definition at line 489 of file ossimTilePatch.cpp.
References setRect().
|
staticprotected |
Definition at line 117 of file ossimTilePatch.h.
|
protected |
Definition at line 116 of file ossimTilePatch.h.
Referenced by convolve(), fillPatch(), fillTile(), fillTileTemplate(), getData(), getRect(), ossimTilePatch(), setData(), and setRect().