This file contains code for the Sequence2 template class. More...
#include <SPL/config.hpp>#include <iostream>#include <vector>#include <SPL/Array2.hpp>#include <SPL/Sequence.hpp>#include <SPL/Sequence1.hpp>#include <SPL/math.hpp>Go to the source code of this file.
Classes | |
| class | SPL::Sequence2< T > |
| A two-dimensional sequence class with lazy copying and reference counting. More... | |
Macros | |
| #define | SPL_SEQUENCE2_USE_NEW_CONV |
| Defining this symbol will enable extra code for debugging. More... | |
| #define | SPL_SEQUENCE2_INLINE inline |
| Allow the inlining of functions. More... | |
Typedefs | |
| typedef Sequence2< double > | SPL::RealSequence2 |
| Real sequence. More... | |
| typedef Sequence2< int > | SPL::IntSequence2 |
| Integer sequence. More... | |
Functions | |
| template<class T > | |
| std::ostream & | SPL::operator<< (std::ostream &out, const Sequence2< T > &f) |
| Output a sequence to a stream. More... | |
| template<class T > | |
| std::istream & | SPL::operator>> (std::istream &in, Sequence2< T > &f) |
| Input a sequence from a stream. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator+ (const Sequence2< T > &f, const Sequence2< T > &g) |
| Compute the sum of two sequences. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator- (const Sequence2< T > &f, const Sequence2< T > &g) |
| Compute the difference of two sequences. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator* (const Sequence2< T > &f, const Sequence2< T > &g) |
| Compute the (element-wise) product of two sequences. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator/ (const Sequence2< T > &f, const Sequence2< T > &g) |
| Compute the (element-wise) quotient of two sequences. More... | |
| template<class T > | |
| Sequence2< T > | SPL::add (const Sequence2< T > &f, const Sequence2< T > &g) |
| Compute the sum of two sequences with potentially differing domains. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator+ (const T &value, const Sequence2< T > &f) |
| Add a value to a sequence. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator+ (const Sequence2< T > &f, const T &value) |
| Add a value to a sequence. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator- (const Sequence2< T > &f, const T &value) |
| Subtract a value from a sequence. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator* (const T &value, const Sequence2< T > &f) |
| Compute a scalar multiple of a sequence. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator* (const Sequence2< T > &f, const T &value) |
| Compute a scalar multiple of a sequence. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::operator/ (const Sequence2< T > &f, const T &value) |
| Divide a sequence by a scalar. More... | |
| template<class T > | |
| bool | SPL::operator== (const Sequence2< T > &f, const Sequence2< T > &g) |
| Test two sequences for equality. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE bool | SPL::operator!= (const Sequence2< T > &f, const Sequence2< T > &g) |
| Test two sequences for inequality. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE bool | SPL::approxEqual (const Sequence2< T > &f, const Sequence2< T > &g, T threshold=1e-9) |
| Test two sequences for approximate equality. More... | |
| template<class T > | |
| Sequence2< T > | SPL::subsequence (const Sequence2< T > &f, int startX, int startY, int width, int height) |
| Extract a subsequence from a sequence. More... | |
| template<class T > | |
| SPL_SEQUENCE2_INLINE Sequence2< T > | SPL::translate (const Sequence2< T > &f, int deltaX, int deltaY) |
| Translate a sequence by the specified amount. More... | |
| template<class T > | |
| Sequence2< T > | SPL::convolve (const Sequence2< T > &f, const Sequence2< T > &g, int mode) |
| Compute the convolution of two sequences. More... | |
| template<class T > | |
| Sequence2< T > | SPL::convolveSeparable (const Sequence2< T > &f, const Sequence1< T > &horzFilt, const Sequence1< T > &vertFilt, int mode=ConvolveMode::full) |
| Compute the convolution of a sequence with two 1-D filters (i.e., convolution with a separable filter). More... | |
| template<class T > | |
| Sequence2< T > | SPL::downsample (const Sequence2< T > &f, int factorX, int factorY) |
| Downsample a sequence in each of the horizontal and vertical directions by the specified factors. More... | |
| template<class T > | |
| Sequence2< T > | SPL::upsample (const Sequence2< T > &f, int factorX, int factorY) |
| Upsample a sequence in each of the horizontal and vertical directions by the specified factors. More... | |
| template<class T > | |
| Sequence2< T > | SPL::upsample (const Sequence2< T > &f, int factorX, int factorY, int padX, int padY) |
| Upsample a sequence in each of the horizontal and vertical directions by the specified factors. More... | |
| template<class T > | |
| Array2< Sequence2< T > > | SPL::polyphaseSplit (const Sequence2< T > &seq, int typeX, int numPhasesX, int typeY, int numPhasesY) |
| Split a sequence into its polyphase components. More... | |
| template<class T > | |
| Sequence2< T > | SPL::polyphaseJoin (const Array2< Sequence2< T > > &comps, int typeX, int typeY) |
| Reassemble a sequence from its polyphase components. More... | |
This file contains code for the Sequence2 template class.
| #define SPL_SEQUENCE2_INLINE inline |
Allow the inlining of functions.
| #define SPL_SEQUENCE2_USE_NEW_CONV |
Defining this symbol will enable extra code for debugging.
Defining this symbol will enable some new code for convolution.