21 static const ossimString WINDOW_SIZE_KW =
"window_size";
51 rect.
ul().
y - halfSize,
52 rect.
lr().
x + halfSize,
53 rect.
lr().
y + halfSize);
57 if(!inputData.valid() || !inputData->getBuf())
74 switch(inputData->getScalarType())
104 <<
"ossimErosionFilter::applyFilter WARNING:\n" 105 <<
"Unhandled scalar type!" << endl;
140 vector<double> values;
141 for(
ossim_uint32 bandIdx = 0; bandIdx < numBands; ++bandIdx)
143 T* inputBuf = (T*)inputData->
getBuf(bandIdx);
145 if (!inputBuf || !outputBuf)
150 const T NP = (T)inputData->
getNullPix(bandIdx);
152 for(
y = 0;
y < oh; ++
y)
154 for(
x = 0;
x < ow; ++
x)
156 bool null_found =
true;
157 const T CP = *(inputBuf+i_offset);
165 for(kernelY = -halfWindow; (kernelY<=halfWindow) && !null_found; ++kernelY)
167 yi =
y + kernelY + delta;
168 if ((yi < 0) || (
y > ih))
171 for(kernelX = -halfWindow; (kernelX<=halfWindow) && !null_found; ++kernelX)
173 xi =
x + kernelX + delta;
174 if ((xi < 0) || (
x > iw))
177 T neighborPixel = *(inputBuf+kernelX+delta + (kernelY+delta)*iw);
178 if(neighborPixel == NP)
212 if (!property.
valid())
217 if (name == WINDOW_SIZE_KW)
230 if (name == WINDOW_SIZE_KW)
241 propertyNames.push_back(WINDOW_SIZE_KW);
253 const char* lookup = kwl.
find(prefix, WINDOW_SIZE_KW.
c_str());
16 bit unsigned integer (15 bits used)
virtual ossim_uint32 getWidth() const
virtual bool isSourceEnabled() const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
virtual void setDescription(const ossimString &description)
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual ossim_uint32 getNumberOfBands() const
virtual void setImageRectangle(const ossimIrect &rect)
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
Represents serializable keyword/value map.
const char * find(const char *key) const
void doErosion(T scalarType, ossimRefPtr< ossimImageData > &inputData)
static ossimString toString(bool aValue)
Numeric to string methods.
const ossimIpt & ul() const
virtual ossimDataObjectStatus getDataObjectStatus() const
virtual ossim_uint32 getHeight() const
16 bit unsigned integer (14 bits used)
ossim_uint32 toUInt32() const
16 bit unsigned integer (13 bits used)
unsigned short ossim_uint16
ossimRefPtr< ossimImageData > theTile
ossimErosionFilter(ossimObject *owner=NULL)
virtual ossimObject * dup() const
virtual void initialize()
virtual void initialize()
ossimPolygon theValidImagePoly
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual void loadTile(const void *src, const ossimIrect &src_rect, ossimInterleaveType il_type)
virtual ossimDataObjectStatus validate() const
signed short ossim_sint16
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual void setImageRectangleAndBands(const ossimIrect &rect, ossim_uint32 numberOfBands)
RTTI_DEF1(ossimErosionFilter, "ossimErosionFilter", ossimImageSourceFilter)
virtual void getValidImageVertices(std::vector< ossimIpt > &validVertices, ossimVertexOrdering ordering=OSSIM_CLOCKWISE_ORDER, ossim_uint32 resLevel=0) const
ordering specifies how the vertices should be arranged.
unsigned int ossim_uint32
virtual const ossim_float64 * getNullPix() const
32 bit normalized floating point
ossim_uint32 getWindowSize() const
virtual ossimIrect getImageRectangle() const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
const ossimIpt & lr() const
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
64 bit normalized floating point
16 bit unsigned integer (11 bits used)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
bool isPointWithin(const ossimDpt &point) const
virtual const void * getBuf() const
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string's contents...
virtual ~ossimErosionFilter()
ossimDataObjectStatus
Definitions for data object status.
unsigned char ossim_uint8
ossim_uint32 theWindowSize
Used for recursion when recursive fill enabled
OSSIMDLLEXPORT std::ostream & ossimNotify(ossimNotifyLevel level=ossimNotifyLevel_WARN)
void setCacheRefreshBit()
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &rect, ossim_uint32 resLevel=0)
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)
16 bit unsigned integer (12 bits used)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.