SLIP  1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Enumerations | Functions
border_treatment.hpp File Reference

Provides some algorithms to handle the border conditions of ranges. More...

#include "iterator_types.hpp"
#include <algorithm>
#include <iterator>
Include dependency graph for border_treatment.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  slip::FillBorder
 Generic fill border functor: fill border of 1d, 2d or 3d iterator ranges. More...
 
struct  slip::UpdateBorder
 Generic update border functor: update border of 1d, 2d or 3d iterator ranges. More...
 
struct  slip::AddBorder
 Generic add border functor: adds border of 1d, 2d or 3d iterator ranges. More...
 

Namespaces

 slip
 This namespace corresponds to the kernel of the Simple Library on Image Processing (SLIP). That is to say that it contains the data structures and the algorithms needed by these data strucutres.
 

Enumerations

enum  slip::BORDER_TREATMENT {
  slip::BORDER_TREATMENT_AVOID, slip::BORDER_TREATMENT_ZERO_PADDED, slip::BORDER_TREATMENT_NEUMANN, slip::BORDER_TREATMENT_CIRCULAR,
  slip::BORDER_TREATMENT_REFLECT, slip::BORDER_TREATMENT_COPY
}
 Choose between different border treatment modes for convolution algorithms. More...
 

Functions

template<typename _II >
void slip::fill_border (_II first, _II last, std::size_t b_size=1, const typename std::iterator_traits< _II >::value_type &value=typename std::iterator_traits< _II >::value_type())
 Fills the border of the range [first,last) with value. More...
 
template<typename _II >
void slip::update_border (_II first, _II last, const slip::BORDER_TREATMENT border, const std::size_t b_size=1)
 Updates the border of the range [first,last) according to b_size and border condition: border. More...
 
template<typename _II , typename _OI >
void slip::add_border (_II first, _II last, _OI out_first, _OI out_last, const slip::BORDER_TREATMENT border, const std::size_t b_size=1)
 Adds the border of the range [first,last) according to the border condtion border and the border size b_size. More...
 
template<typename Container1 , typename Container2 >
void slip::add_border1d (const Container1 &in, const slip::BORDER_TREATMENT border_type, Container2 &out, const std::size_t border_size=1)
 Adds the border at a 1d container according to the border condition border and the border size b_size. More...
 
template<typename Container2d1 , typename Container2d2 >
void slip::add_border2d (const Container2d1 &in, const slip::BORDER_TREATMENT border_type, Container2d2 &out, const std::size_t border_size=1)
 Adds the border at a 2d container according to the border condition border and the border size b_size. More...
 
template<typename Container3d1 , typename Container3d2 >
void slip::add_border3d (const Container3d1 &in, const slip::BORDER_TREATMENT border_type, Container3d2 &out, const std::size_t border_size=1)
 Adds the border at a 3d container according to the border condition border and the border size b_size. More...
 
template<typename Container4d1 , typename Container4d2 >
void slip::add_border4d (const Container4d1 &in, const slip::BORDER_TREATMENT border_type, Container4d2 &out, const std::size_t border_size=1)
 Adds the border at a 4d container according to the border condition border and the border size b_size. More...
 

Detailed Description

Provides some algorithms to handle the border conditions of ranges.

Definition in file border_treatment.hpp.