Go to the documentation of this file.00001
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef VL_SCALESPACE_H
00017 #define VL_SCALESPACE_H
00018
00019 #include "generic.h"
00020 #include "imopv.h"
00021 #include "mathop.h"
00022
00023
00024
00025
00026
00031 typedef struct _VlScaleSpaceGeometry
00032 {
00033 vl_size width ;
00034 vl_size height ;
00035 vl_index firstOctave ;
00036 vl_index lastOctave ;
00037 vl_size octaveResolution ;
00038 vl_index octaveFirstSubdivision ;
00039 vl_index octaveLastSubdivision ;
00040 double baseScale ;
00041 double nominalScale ;
00042 } VlScaleSpaceGeometry ;
00043
00044 VL_EXPORT
00045 vl_bool vl_scalespacegeometry_is_equal (VlScaleSpaceGeometry a,
00046 VlScaleSpaceGeometry b) ;
00047
00048
00049
00050
00051
00053 typedef struct _VlScaleSpaceOctaveGeometry
00054 {
00055 vl_size width ;
00056 vl_size height ;
00057 double step ;
00058 } VlScaleSpaceOctaveGeometry ;
00059
00060
00061
00062
00063
00064 typedef struct _VlScaleSpace VlScaleSpace ;
00065
00069 VL_EXPORT VlScaleSpaceGeometry vl_scalespace_get_default_geometry(vl_size width, vl_size height) ;
00070 VL_EXPORT VlScaleSpace * vl_scalespace_new (vl_size width, vl_size height) ;
00071 VL_EXPORT VlScaleSpace * vl_scalespace_new_with_geometry (VlScaleSpaceGeometry geom) ;
00072 VL_EXPORT VlScaleSpace * vl_scalespace_new_copy (VlScaleSpace* src);
00073 VL_EXPORT VlScaleSpace * vl_scalespace_new_shallow_copy (VlScaleSpace* src);
00074 VL_EXPORT void vl_scalespace_delete (VlScaleSpace *self) ;
00080 VL_EXPORT void
00081 vl_scalespace_put_image (VlScaleSpace *self, float const* image);
00087 VL_EXPORT VlScaleSpaceGeometry vl_scalespace_get_geometry (VlScaleSpace const * self) ;
00088 VL_EXPORT VlScaleSpaceOctaveGeometry vl_scalespace_get_octave_geometry (VlScaleSpace const * self, vl_index o) ;
00089 VL_EXPORT float *
00090 vl_scalespace_get_level (VlScaleSpace * self, vl_index o, vl_index s) ;
00091 VL_EXPORT float const *
00092 vl_scalespace_get_level_const (VlScaleSpace const * self, vl_index o, vl_index s) ;
00093 VL_EXPORT double
00094 vl_scalespace_get_level_sigma (VlScaleSpace const *self, vl_index o, vl_index s) ;
00097
00098 #endif
00099