IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 17, 2005, 4:35:15 PM (21 years ago)
Author:
desonia
Message:

added BILINEAR_VARIANCE interpolation mode.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/src/image/psImage.h

    r3442 r3446  
    1111 *  @author Ross Harman, MHPCC
    1212 *
    13  *  @version $Revision: 1.48 $ $Name: not supported by cvs2svn $
    14  *  @date $Date: 2005-03-17 19:02:01 $
     13 *  @version $Revision: 1.49 $ $Name: not supported by cvs2svn $
     14 *  @date $Date: 2005-03-18 02:35:14 $
    1515 *
    1616 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
     
    191191);
    192192
    193 #define p_psImagePixelInterpolateFcns(TYPE) \
    194 inline psF64 p_psImagePixelInterpolateFLAT_##TYPE( \
     193#define PIXEL_INTERPOLATE_FCN_PROTOTYPE(SUFFIX, RETURNTYPE) \
     194inline RETURNTYPE p_psImagePixelInterpolate##SUFFIX( \
    195195        const psImage* input,          /**< input image for interpolation */ \
    196196        float x,                       /**< column location to derive value of */ \
    197197        float y,                       /**< row location ot derive value of */ \
    198198        const psImage* mask,           /**< if not NULL, the mask of the input image */ \
    199         psU32 maskVal,          /**< the mask value */ \
    200         psF64 unexposedValue           /**< return value if x,y location is not in image. */ \
    201                                                  ); \
    202 inline psF64 p_psImagePixelInterpolateBILINEAR_##TYPE( \
    203         const psImage* input,          /**< input image for interpolation */ \
    204         float x,                       /**< column location to derive value of */ \
    205         float y,                       /**< row location ot derive value of */ \
    206         const psImage* mask,           /**< if not NULL, the mask of the input image */ \
    207         psU32 maskVal,          /**< the mask value */ \
    208         psF64 unexposedValue           /**< return value if x,y location is not in image. */ \
    209                                                      );
    210 
    211 #define p_psImagePixelInterpolateComplexFcns(TYPE) \
    212 inline psC64 p_psImagePixelInterpolateFLAT_##TYPE( \
    213         const psImage* input,          /**< input image for interpolation */ \
    214         float x,                       /**< column location to derive value of */ \
    215         float y,                       /**< row location ot derive value of */ \
    216         const psImage* mask,           /**< if not NULL, the mask of the input image */ \
    217         psU32 maskVal,          /**< the mask value */ \
    218         psC64 unexposedValue           /**< return value if x,y location is not in image. */ \
    219                                                  ); \
    220 inline psC64 p_psImagePixelInterpolateBILINEAR_##TYPE( \
    221         const psImage* input,          /**< input image for interpolation */ \
    222         float x,                       /**< column location to derive value of */ \
    223         float y,                       /**< row location ot derive value of */ \
    224         const psImage* mask,           /**< if not NULL, the mask of the input image */ \
    225         psU32 maskVal,          /**< the mask value */ \
    226         psC64 unexposedValue           /**< return value if x,y location is not in image. */ \
    227                                                      );
     199        psU32 maskVal,                 /**< the mask value */ \
     200        RETURNTYPE unexposedValue      /**< return value if x,y location is not in image. */ \
     201                                                   );
     202
     203#define PIXEL_INTERPOLATE_FCNS(MODE) \
     204PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_U8,psF64)  \
     205PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_U16,psF64) \
     206PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_U32,psF64) \
     207PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_U64,psF64) \
     208PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_S8,psF64)  \
     209PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_S16,psF64) \
     210PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_S32,psF64) \
     211PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_S64,psF64) \
     212PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_F32,psF64) \
     213PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_F64,psF64) \
     214PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_C32,psC64) \
     215PIXEL_INTERPOLATE_FCN_PROTOTYPE(MODE##_C64,psC64)
     216
    228217#ifndef SWIG
    229 p_psImagePixelInterpolateFcns(U8)
    230 p_psImagePixelInterpolateFcns(U16)
    231 p_psImagePixelInterpolateFcns(U32)
    232 p_psImagePixelInterpolateFcns(U64)
    233 p_psImagePixelInterpolateFcns(S8)
    234 p_psImagePixelInterpolateFcns(S16)
    235 p_psImagePixelInterpolateFcns(S32)
    236 p_psImagePixelInterpolateFcns(S64)
    237 p_psImagePixelInterpolateFcns(F32)
    238 p_psImagePixelInterpolateFcns(F64)
    239 p_psImagePixelInterpolateComplexFcns(C32)
    240 p_psImagePixelInterpolateComplexFcns(C64)
     218PIXEL_INTERPOLATE_FCNS(FLAT)
     219PIXEL_INTERPOLATE_FCNS(BILINEAR)
     220PIXEL_INTERPOLATE_FCNS(BILINEAR_VARIANCE)
    241221#endif
    242222
     223#undef PIXEL_INTERPOLATE_FCN_PROTOTYPE
     224#undef PIXEL_INTERPOLATE_FCNS
     225
    243226/// @}
    244227
Note: See TracChangeset for help on using the changeset viewer.