iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImageAlgorithms.H File Reference

Author
David J. Berg

License

// ////////////////////////////////////////////////////////////////////////
//              The iLab Neuromorphic Robotics Toolkit (NRT)             //
// Copyright 2010-2012 by the University of Southern California (USC)    //
//                          and the iLab at USC.                         //
//                                                                       //
//                iLab - University of Southern California               //
//                Hedco Neurociences Building, Room HNB-10               //
//                    Los Angeles, Ca 90089-2520 - USA                   //
//                                                                       //
//      See http://ilab.usc.edu for information about this project.      //
// ////////////////////////////////////////////////////////////////////////
// This file is part of The iLab Neuromorphic Robotics Toolkit.          //
//                                                                       //
// The iLab Neuromorphic Robotics Toolkit is free software: you can      //
// redistribute it and/or modify it under the terms of the GNU General   //
// Public License as published by the Free Software Foundation, either   //
// version 3 of the License, or (at your option) any later version.      //
//                                                                       //
// The iLab Neuromorphic Robotics Toolkit is distributed in the hope     //
// that it will be useful, but WITHOUT ANY WARRANTY; without even the    //
// implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR       //
// PURPOSE.  See the GNU General Public License for more details.        //
//                                                                       //
// You should have received a copy of the GNU General Public License     //
// along with The iLab Neuromorphic Robotics Toolkit.  If not, see       //
// <http://www.gnu.org/licenses/>.                                       //
// ////////////////////////////////////////////////////////////////////////

Definition in file ImageAlgorithms.H.

Go to the source code of this file.

Namespaces

 nrt
 Reserved namespace for NRT core classes and functions.
 

Functions

template<class PixType , class BinaryOperation >
PixType nrt::accumulate (nrt::Image< PixType > const &img, PixType init=PixType(0), BinaryOperation op=std::plus< PixType >())
 Accumulate the values of all pixels in the Image. More...
 
template<class PixType , class UnaryOperator >
void nrt::transformInPlace (nrt::Image< PixType > &lhs, UnaryOperator op)
 Apply the given unary operator to each pixel in lhs, storing the returned value back into that pixel. More...
 
template<class PixType1 , class PixType2 , class BinaryOperator >
void nrt::transformInPlace (nrt::Image< PixType1 > &lhs, nrt::Image< PixType2 > const &rhs, BinaryOperator op)
 Apply the given binary operator to each pixel in lhs and rhs, and store the result in lhs's pixel. More...
 
template<class PixType , class UnaryOperator >
nrt::Image< PixType > nrt::transform (nrt::Image< PixType > const &lhs, UnaryOperator op)
 Apply the given unary operator to each pixel in lhs, storing the result in a new Image. More...
 
template<class PromoteType , class PixType , class UnaryOperator >
nrt::Image< PromoteType > nrt::transform (nrt::Image< PixType > const &lhs, UnaryOperator op)
 Apply the given unary operator to each pixel in lhs, storing the result in a new Image of type PixelType. More...
 
template<class PixType1 , class PixType2 , class BinaryOperator >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_arithmetic, nrt::Image
< typename nrt_traits
< PixType1, PixType2 >
::promote_type > >::type 
nrt::transform (nrt::Image< PixType1 > const &lhs, nrt::Image< PixType2 > const &rhs, BinaryOperator op)
 Apply the given binary function to each pixel in lhs and rhs, storing the result in a new Image. More...
 
template<class PixType , class UnaryOperator >
nrt::Image< PixType > nrt::channel_transform (nrt::Image< PixType > const &lhs, UnaryOperator op)
 Apply the given unary operator to each channel of each pixel in lhs, storing the result in a new Image. More...
 
template<class PromoteType , class PixType , class UnaryOperator >
nrt::Image< PromoteType > nrt::channel_transform (nrt::Image< PixType > const &lhs, UnaryOperator op)
 Apply given unary operator to each channel of each pixel in lhs, storing result in a new Image of type PixelType. More...
 
template<class PixType1 , class PixType2 , class BinaryOperator >
std::enable_if< nrt_traits
< PixType1, PixType2 >
::has_arithmetic, nrt::Image
< typename nrt_traits
< PixType1, PixType2 >
::promote_type > >::type 
nrt::channel_transform (nrt::Image< PixType1 > const &lhs, nrt::Image< PixType2 > const &rhs, BinaryOperator op)
 Apply the given binary function to each channel of each pixel in lhs and rhs, storing the result in a new Image. More...
 
template<class PixType , class UnaryFunction >
void nrt::for_each (nrt::Image< PixType > const &img, UnaryFunction op)
 Run the given unary function on each pixel in img. More...