OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimConvolutionSource.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //
8 // Author: Garrett Potts
9 //
10 //*******************************************************************
11 // $Id: ossimConvolutionSource.h 22233 2013-04-15 15:12:54Z gpotts $
12 #ifndef ossimConvolutionSource_HEADER
13 #define ossimConvolutionSource_HEADER
14 #include <vector>
15 #include <iostream>
16 #include <ossim/matrix/newmat.h>
17 using namespace std;
18 
20 
21 class ossimTilePatch;
23 
25 {
26 public:
29  const NEWMAT::Matrix& convolutionMatix);
31  const vector<NEWMAT::Matrix>& convolutionList);
32 
33  virtual void setConvolution(const double* kernel, int nrows, int ncols, bool doWeightedAverage=false);
34  virtual void setConvolution(const NEWMAT::Matrix& convolutionMatrix, bool doWeightedAverage=false);
35  virtual void setConvolutionList(const vector<NEWMAT::Matrix>& convolutionList, bool doWeightedAverage=false);
36  virtual bool saveState(ossimKeywordlist& kwl,
37  const char* prefix=NULL)const;
38 
43  virtual bool loadState(const ossimKeywordlist& kwl,
44  const char* prefix=NULL);
45 
46  ossimRefPtr<ossimImageData> getTile(const ossimIrect& tileRect, ossim_uint32 resLevel=0);
47 
48  virtual void initialize();
49 
50 protected:
51  virtual ~ossimConvolutionSource();
52 
53  void allocate();
54 
58 
59  std::vector<ossimDiscreteConvolutionKernel* > theConvolutionKernelList;
60  virtual void setKernelInformation();
61  virtual void deleteConvolutionList();
62 
63  template<class T>
64  void convolve(T dummyVariable,
67 
68 
70 };
71 
72 #endif /* #ifndef ossimConvolutionSource_HEADER */
Represents serializable keyword/value map.
ossimRefPtr< ossimImageData > theTile
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
std::vector< ossimDiscreteConvolutionKernel *> theConvolutionKernelList
#define OSSIM_DLL
int ossim_int32