OptimizedFunctionsList.h
Go to the documentation of this file.
00001 // ****************************************************************************
00002 // This file is part of the Integrating Vision Toolkit (IVT).
00003 //
00004 // The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
00005 // (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
00006 //
00007 // Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
00008 // All rights reserved.
00009 //
00010 // Redistribution and use in source and binary forms, with or without
00011 // modification, are permitted provided that the following conditions are met:
00012 //
00013 // 1. Redistributions of source code must retain the above copyright
00014 //    notice, this list of conditions and the following disclaimer.
00015 //
00016 // 2. Redistributions in binary form must reproduce the above copyright
00017 //    notice, this list of conditions and the following disclaimer in the
00018 //    documentation and/or other materials provided with the distribution.
00019 //
00020 // 3. Neither the name of the KIT nor the names of its contributors may be
00021 //    used to endorse or promote products derived from this software
00022 //    without specific prior written permission.
00023 //
00024 // THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
00025 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00026 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00027 // DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
00028 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00029 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00030 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00031 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00032 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00033 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034 // ****************************************************************************
00035 // ****************************************************************************
00036 // Filename:  OptimizedFunctionsList.h
00037 // Author:    Florian Hecht
00038 // Date:      2008
00039 // ****************************************************************************
00040 // Changes:   Pedram Azad: added new functions
00041 // ****************************************************************************
00042 
00043 
00044 // ****************************************************************************
00045 // Includes
00046 // ****************************************************************************
00047 
00048 #include "Structs/Structs.h"
00049 
00050 
00051 // ****************************************************************************
00052 // Forward declarations
00053 // ****************************************************************************
00054 
00055 class CByteImage;
00056 class CShortImage;
00057 class CIntImage;
00058 struct Vec2d;
00059 
00060 
00061 
00062 // ****************************************************************************
00063 // Macros
00064 // ****************************************************************************
00065 
00066 // GaussianSmooth3x3 
00067 DECLARE_OPTIMIZED_FUNCTION_2(GaussianSmooth3x3, const CByteImage *pInputImage, CByteImage *pOutputImage)
00068 
00069 // GaussianSmooth3x3 
00070 DECLARE_OPTIMIZED_FUNCTION_2(GaussianSmooth5x5, const CByteImage *pInputImage, CByteImage *pOutputImage)
00071 
00072 // Prewitt filters
00073 DECLARE_OPTIMIZED_FUNCTION_3(PrewittX, const CByteImage *pInputImage, CShortImage *pOutputImage, bool bAbsoluteValue)
00074 DECLARE_OPTIMIZED_FUNCTION_3(PrewittY, const CByteImage *pInputImage, CShortImage *pOutputImage, bool bAbsoluteValue)
00075 DECLARE_OPTIMIZED_FUNCTION_2(CalculateGradientImageSobel, const CByteImage *pInputImage, CByteImage *pOutputImage)
00076 
00077 // Sobel filters
00078 DECLARE_OPTIMIZED_FUNCTION_3(SobelX, const CByteImage *pInputImage, CShortImage *pOutputImage, bool bAbsoluteValue)
00079 DECLARE_OPTIMIZED_FUNCTION_3(SobelY, const CByteImage *pInputImage, CShortImage *pOutputImage, bool bAbsoluteValue)
00080 DECLARE_OPTIMIZED_FUNCTION_2(CalculateGradientImagePrewitt, const CByteImage *pInputImage, CByteImage *pOutputImage)
00081 
00082 // Laplace filters
00083 DECLARE_OPTIMIZED_FUNCTION_3(Laplace1, const CByteImage *pInputImage, CShortImage *pOutputImage, bool bAbsoluteValue)
00084 DECLARE_OPTIMIZED_FUNCTION_3(Laplace2, const CByteImage *pInputImage, CShortImage *pOutputImage, bool bAbsoluteValue)
00085 
00086 // Canny
00087 DECLARE_OPTIMIZED_FUNCTION_4(Canny, const CByteImage *pInputImage, CByteImage *pOutputImage, int nLowThreshold, int nHighThreshold)
00088 DECLARE_OPTIMIZED_FUNCTION_5(CannyList, const CByteImage *pInputImage, CVec2dArray &resultPoints, CVec2dArray &resultDirections, int nLowThreshold, int nHighThreshold)
00089 
00090 // Morphological filters
00091 DECLARE_OPTIMIZED_FUNCTION_2(Erode3x3, const CByteImage *pInputImage, CByteImage *pOutputImage)
00092 DECLARE_OPTIMIZED_FUNCTION_2(Dilate3x3, const CByteImage *pInputImage, CByteImage *pOutputImage)
00093 
00094 // Point operators
00095 DECLARE_OPTIMIZED_FUNCTION_3(ThresholdBinarize, const CByteImage *pInputImage, CByteImage *pOutputImage, unsigned char nThreshold)
00096 DECLARE_OPTIMIZED_FUNCTION_3(ThresholdBinarizeInverse, const CByteImage *pInputImage, CByteImage *pOutputImage, unsigned char nThreshold)
00097 DECLARE_OPTIMIZED_FUNCTION_3(ThresholdFilter, const CByteImage *pInputImage, CByteImage *pOutputImage, unsigned char nThreshold)
00098 DECLARE_OPTIMIZED_FUNCTION_3(ThresholdFilterInverse, const CByteImage *pInputImage, CByteImage *pOutputImage, unsigned char nThreshold)
00099 DECLARE_OPTIMIZED_FUNCTION_2(CalculateHSVImage, const CByteImage *pInputImage, CByteImage *pOutputImage)
00100 DECLARE_OPTIMIZED_FUNCTION_4(ApplyAffinePointOperation, const CByteImage *pInputImage, CByteImage *pOutputImage, float a, float b)
00101 DECLARE_OPTIMIZED_FUNCTION_3(Amplify, const CByteImage *pInputImage, CByteImage *pOutputImage, float fFactor)
00102 DECLARE_OPTIMIZED_FUNCTION_2(Invert, const CByteImage *pInputImage, CByteImage *pOutputImage)
00103 DECLARE_OPTIMIZED_FUNCTION_8(FilterHSV2, const CByteImage *pInputImage, CByteImage *pOutputImage, unsigned char min_hue, unsigned int max_hue, unsigned int min_sat, unsigned int max_sat, unsigned int min_v, unsigned int max_v)
00104 
00105 // Logical operators
00106 DECLARE_OPTIMIZED_FUNCTION_3(Or, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00107 DECLARE_OPTIMIZED_FUNCTION_3(Xor, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00108 DECLARE_OPTIMIZED_FUNCTION_3(And, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00109 
00110 // Arithmetic operators
00111 DECLARE_OPTIMIZED_FUNCTION_3(Add, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00112 DECLARE_OPTIMIZED_FUNCTION_3(AddWithSaturation, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00113 DECLARE_OPTIMIZED_FUNCTION_3(Subtract, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00114 DECLARE_OPTIMIZED_FUNCTION_3(SubtractWithSaturation, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00115 DECLARE_OPTIMIZED_FUNCTION_3(AbsoluteDifference, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00116 DECLARE_OPTIMIZED_FUNCTION_3(Average, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00117 DECLARE_OPTIMIZED_FUNCTION_3(Max, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00118 DECLARE_OPTIMIZED_FUNCTION_3(Min, const CByteImage *pInputImage1, const CByteImage *pInputImage2, CByteImage *pOutputImage)
00119 
00120 // Min / Max
00121 DECLARE_OPTIMIZED_FUNCTION_2(MaxValue, const CByteImage *pInputImage, unsigned char &max)
00122 DECLARE_OPTIMIZED_FUNCTION_2(MaxValue_Short, const CShortImage *pInputImage, short &max)
00123 DECLARE_OPTIMIZED_FUNCTION_2(MaxValue_Int, const CIntImage *pInputImage, int &max)
00124 DECLARE_OPTIMIZED_FUNCTION_2(MinValue, const CByteImage *pInputImage, unsigned char &min)
00125 DECLARE_OPTIMIZED_FUNCTION_2(MinValue_Short, const CShortImage *pInputImage, short &min)
00126 DECLARE_OPTIMIZED_FUNCTION_2(MinValue_Int, const CIntImage *pInputImage, int &min)
00127 DECLARE_OPTIMIZED_FUNCTION_3(MinMaxValue, const CByteImage *pInputImage, unsigned char &min, unsigned char &max)
00128 DECLARE_OPTIMIZED_FUNCTION_3(MinMaxValue_Short, const CShortImage *pInputImage, short &min, short &max)
00129 DECLARE_OPTIMIZED_FUNCTION_3(MinMaxValue_Int, const CIntImage *pInputImage, int &min, int &max)
00130 
00131 // PixelSum
00132 DECLARE_OPTIMIZED_FUNCTION_2(PixelSum, const CByteImage *pImage, unsigned int &resultSum)
00133 
00134 // Conversion (grayscale, RGB24 (split))
00135 DECLARE_OPTIMIZED_FUNCTION_3(ConvertImage, const CByteImage *pInputImage, CByteImage *pOutputImage, bool bFast)
00136 
00137 // Harris
00138 DECLARE_OPTIMIZED_FUNCTION_5_RET(CalculateHarrisInterestPoints, const CByteImage *pInputImage, Vec2d *pInterestPoints, int nMaxPoints, float fQualityLevel, float fMinDistance)
00139 
00140 // Nearest Neighbor
00141 DECLARE_OPTIMIZED_FUNCTION_3(NearestNeighbor_TrainGPU, const float *pData, int nDimension, int nDataSets)
00142 DECLARE_OPTIMIZED_FUNCTION_4(NearestNeighbor_ClassifyGPU, const float *pQuery, int nDimension, int &nResult, float &fResultError)
00143 DECLARE_OPTIMIZED_FUNCTION_5(NearestNeighbor_ClassifyBundleGPU, const float *pQueries, int nDimension, int nQueries, int *pResults, float *pResultErrors)
00144 DECLARE_OPTIMIZED_FUNCTION_0(NearestNeighbor_CleanupGPU)
00145 
00146 // optimized function for the StereoVision class
00147 //DECLARE_OPTIMIZED_FUNCTION_8(StereoVision, const CByteImage *pLeftImage, const CByteImage *pRightImage, CByteImage *pDepthImage, int nWindowSize, int d1, int d2, int d_step, int nErrorThreshold)


asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Thu Jun 6 2019 21:46:57