env_visual_cortex.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef ENVISION_ENV_VISUAL_CORTEX_H_DEFINED
00039 #define ENVISION_ENV_VISUAL_CORTEX_H_DEFINED
00040
00041 #include "Envision/env_config.h"
00042 #include "Envision/env_image.h"
00043 #include "Envision/env_math.h"
00044 #include "Envision/env_motion_channel.h"
00045 #include "Envision/env_pyr.h"
00046
00047 struct env_rgb_pixel;
00048
00049
00050
00051 struct env_visual_cortex
00052 {
00053 struct env_math imath;
00054
00055 #ifdef ENV_WITH_DYNAMIC_CHANNELS
00056 struct env_image prev_input;
00057 struct env_pyr prev_lowpass5;
00058 struct env_motion_channel motion_chan;
00059 #endif
00060 };
00061
00062 #ifdef __cplusplus
00063 extern "C"
00064 {
00065 #endif
00066
00067 void env_visual_cortex_init(struct env_visual_cortex* vcx,
00068 const struct env_params* envp);
00069
00070 void env_visual_cortex_destroy(struct env_visual_cortex* vcx);
00071
00072 void env_visual_cortex_input(
00073 struct env_visual_cortex* vcx,
00074 const struct env_params* envp,
00075 const char* tagName,
00076 const struct env_rgb_pixel* const colimg,
00077 const struct env_rgb_pixel* const prev_colimg ,
00078 const struct env_dims dims,
00079 env_chan_status_func* status_func,
00080 void* status_userdata,
00081 struct env_image* result,
00082 struct env_image* intens_result,
00083 struct env_image* color_result,
00084 struct env_image* ori_result
00085 #ifdef ENV_WITH_DYNAMIC_CHANNELS
00086 ,
00087 struct env_image* flicker_result,
00088 struct env_image* motion_result
00089 #endif
00090 );
00091
00092 void env_visual_cortex_merge_ranges(
00093 const struct env_image* intens_result,
00094 const struct env_image* color_result,
00095 const struct env_image* ori_result,
00096 #ifdef ENV_WITH_DYNAMIC_CHANNELS
00097 const struct env_image* flicker_result,
00098 const struct env_image* motion_result,
00099 #endif
00100 intg32* mi,
00101 intg32* ma
00102 );
00103
00104 void env_visual_cortex_rescale_ranges(
00105 struct env_image* result,
00106 struct env_image* intens_result,
00107 struct env_image* color_result,
00108 struct env_image* ori_result
00109 #ifdef ENV_WITH_DYNAMIC_CHANNELS
00110 ,
00111 struct env_image* flicker_result,
00112 struct env_image* motion_result
00113 #endif
00114 );
00115
00116 #ifdef __cplusplus
00117 }
00118 #endif
00119
00120
00121
00122
00123
00124
00125
00126
00127 #endif // ENVISION_NEURO_ENV_VISUAL_CORTEX_H_DEFINED