25 theDirectionType(FORWARD),
34 theDirectionType(FORWARD),
44 theDirectionType(FORWARD),
76 rect.
ul().
x + (w-1), rect.
ul().
y + (h-1));
89 if(rect != tempRequest)
218 tempDirectionType = tempDirectionType.
downcase();
220 if(tempDirectionType.
contains(
"forward"))
241 if(name ==
"FFT Direction")
243 std::vector<ossimString> filterNames;
244 filterNames.push_back(
"Forward");
245 filterNames.push_back(
"Inverse");
260 if(!property)
return;
262 if(property->
getName() ==
"FFT Direction")
279 propertyNames.push_back(
"FFT Direction");
287 NEWMAT::Matrix* realIn =
new NEWMAT::Matrix(input->
getHeight(),
289 NEWMAT::Matrix* imgIn =
new NEWMAT::Matrix(input->
getHeight(),
291 NEWMAT::Matrix* realOut =
new NEWMAT::Matrix(input->
getHeight(),
293 NEWMAT::Matrix* imgOut =
new NEWMAT::Matrix(input->
getHeight(),
303 for(bandIdx = 0; bandIdx < bands; ++bandIdx)
314 if(bandReal&&bandImg)
316 for(
y = 0;
y < h; ++
y)
318 for(
x = 0;
x < w; ++
x)
333 for(bandIdx = 0; bandIdx < bands; bandIdx+=2)
336 if(input->
getBuf(bandIdx)&&
340 (
double*)input->
getBuf(bandIdx+1),
344 for(
y = 0;
y < h; ++
y)
346 for(
x = 0;
x < w; ++
x)
373 NEWMAT::Matrix& real,
374 NEWMAT::Matrix& img)
const 381 for(yIdx = 0; yIdx < h; ++yIdx)
383 for(xIdx = 0; xIdx < w; ++xIdx)
385 if((
double)(*realPart) != nullPix)
387 real[yIdx][xIdx] = (double)(*realPart);
391 real[yIdx][xIdx] = 0.0;
394 img[yIdx][xIdx] = 0.0;
404 NEWMAT::Matrix& real,
405 NEWMAT::Matrix& img)
const 412 for(yIdx = 0; yIdx < h; ++yIdx)
414 for(xIdx = 0; xIdx < w; ++xIdx)
416 real[yIdx][xIdx] = (double)(*realPart);
417 img[yIdx][xIdx] = (double)(*imgPart);
429 const char* direction = kwl.
find(prefix,
"fft_direction");
439 const char* prefix)
const virtual void valueToString(ossimString &valueResult) const =0
virtual ossim_uint32 getWidth() const
virtual bool isSourceEnabled() const
virtual double getNullPixelValue(ossim_uint32 band=0) const
virtual void setProperty(ossimRefPtr< ossimProperty > property)
virtual ossim_uint32 getNumberOfBands() const
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
ossimFftFilterDirectionType
virtual void setImageRectangle(const ossimIrect &rect)
virtual void disconnect(ossimConnectableObject *object=0)
Will disconnect the object passed in.
ossimFftFilter(ossimObject *owner=NULL)
Represents serializable keyword/value map.
virtual ~ossimFftFilter()
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
const char * find(const char *key) const
double nan()
Method to return ieee floating point double precision NAN.
ossim_uint32 height() const
bool contains(char aChar) const
void fillMatrixInverse(T *realPart, T *imgPart, NEWMAT::Matrix &real, NEWMAT::Matrix &img) const
const ossimIpt & ul() const
virtual ossim_uint32 getNumberOfOutputBands() const
Returns the number of bands in a tile returned from this TileSource.
virtual ossim_uint32 getHeight() const
virtual void initialize()
Initialize the data buffer.
virtual ossimObject * dup() const
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &rect, ossim_uint32 resLevel=0)
virtual void initialize()
ossimConnectableObject * getInput(ossim_uint32 index=0)
returns the object at the specified index.
virtual double getMinPixelValue(ossim_uint32 band=0) const
Returns the min pixel of the band.
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual void loadTile(const void *src, const ossimIrect &src_rect, ossimInterleaveType il_type)
void FFT2(const Matrix &U, const Matrix &V, Matrix &X, Matrix &Y)
static ossimImageDataFactory * instance()
virtual void setOutputScalarType(ossimScalarType scalarType)
Sets the output scalar type.
void setDirectionType(const ossimString &directionType)
virtual ossimDataObjectStatus validate() const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual void setProperty(ossimRefPtr< ossimProperty > property)
unsigned int ossim_uint32
virtual const ossim_float64 * getNullPix() 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.
ossimRefPtr< ossimImageData > theTile
void FFT2I(const Matrix &U, const Matrix &V, Matrix &X, Matrix &Y)
static ossimString downcase(const ossimString &aString)
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &tile_rect, ossim_uint32 resLevel=0)
virtual ossim_int32 connectMyInputTo(ossimConnectableObject *inputObject, bool makeOutputConnection=true, bool createEventFlag=true)
Will try to connect this objects input to the passed in object.
virtual double getMaxPixelValue(ossim_uint32 band=0) const
virtual void initialize()
virtual ossimRefPtr< ossimImageData > create(ossimSource *owner, ossimScalarType scalar, ossim_uint32 bands=1) const
ossim_uint32 width() const
ossimRefPtr< ossimScalarRemapper > theScalarRemapper
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
RTTI_DEF1(ossimFftFilter, "ossimFftFilter", ossimImageSourceFilter)
64 bit normalized floating point
virtual ossimScalarType getOutputScalarType() const
This will be used to query the output pixel type of the tile source.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
virtual double getMaxPixelValue(ossim_uint32 band=0) const
Returns the max pixel of the band.
virtual const void * getBuf() const
ossimFftFilterDirectionType theDirectionType
ossimString getDirectionTypeAsString() const
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) 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 double getMinPixelValue(ossim_uint32 band=0) const
Returns the min pixel of the band.
void fillMatrixForward(T *realPart, T nullPix, NEWMAT::Matrix &real, NEWMAT::Matrix &img) const
virtual double getNullPixelValue(ossim_uint32 band=0) const
Each band has a null pixel associated with it.
void setCacheRefreshBit()
virtual void runFft(ossimRefPtr< ossimImageData > &input, ossimRefPtr< ossimImageData > &output)
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
const ossimString & getName() const
virtual ossimRefPtr< ossimImageData > getTile(const ossimIpt &origin, ossim_uint32 resLevel=0)