JWS C Library
C language utility library
|
00001 /* 00002 * This work is licensed under a Creative Commons 00003 * Attribution-Noncommercial-Share Alike 3.0 United States License. 00004 * 00005 * http://creativecommons.org/licenses/by-nc-sa/3.0/us/ 00006 * 00007 * You are free: 00008 * 00009 * to Share - to copy, distribute, display, and perform the work 00010 * to Remix - to make derivative works 00011 * 00012 * Under the following conditions: 00013 * 00014 * Attribution. You must attribute the work in the manner specified by the 00015 * author or licensor (but not in any way that suggests that they endorse you 00016 * or your use of the work). 00017 * 00018 * Noncommercial. You may not use this work for commercial purposes. 00019 * 00020 * Share Alike. If you alter, transform, or build upon this work, you may 00021 * distribute the resulting work only under the same or similar license to 00022 * this one. 00023 * 00024 * For any reuse or distribution, you must make clear to others the license 00025 * terms of this work. The best way to do this is by including this header. 00026 * 00027 * Any of the above conditions can be waived if you get permission from the 00028 * copyright holder. 00029 * 00030 * Apart from the remix rights granted under this license, nothing in this 00031 * license impairs or restricts the author's moral rights. 00032 */ 00033 00034 00046 #ifndef THREED_H 00047 #define THREED_H 00048 00049 00050 #include <jwsc/config.h> 00051 00052 #include <stdlib.h> 00053 #include <inttypes.h> 00054 00055 #include "jwsc/base/error.h" 00056 #include "jwsc/matblock/matblock.h" 00057 00058 00059 #ifdef __cplusplus 00060 namespace jwsc { 00061 extern "C" { 00062 #endif 00063 00064 00075 Error* create_auto_3d_gaussian_filter_f 00076 ( 00077 Matblock_f** h_out, 00078 float mat_sigma, 00079 float row_sigma, 00080 float col_sigma 00081 ); 00082 00086 Error* create_auto_3d_gaussian_filter_d 00087 ( 00088 Matblock_d** h_out, 00089 double mat_sigma, 00090 double row_sigma, 00091 double col_sigma 00092 ); 00093 00109 Error* create_3d_gaussian_filter_f 00110 ( 00111 Matblock_f** h_out, 00112 float mat_sigma, 00113 float row_sigma, 00114 float col_sigma, 00115 uint32_t num_mats, 00116 uint32_t num_rows, 00117 uint32_t num_cols 00118 ); 00119 00123 Error* create_3d_gaussian_filter_d 00124 ( 00125 Matblock_d** h_out, 00126 double mat_sigma, 00127 double row_sigma, 00128 double col_sigma, 00129 uint32_t num_mats, 00130 uint32_t num_rows, 00131 uint32_t num_cols 00132 ); 00133 00151 Error* create_auto_3d_gaussian_dx_filter_f 00152 ( 00153 Matblock_f** h_out, 00154 float mat_sigma, 00155 float row_sigma, 00156 float col_sigma 00157 ); 00158 00163 Error* create_auto_3d_gaussian_dx_filter_d 00164 ( 00165 Matblock_d** h_out, 00166 double mat_sigma, 00167 double row_sigma, 00168 double col_sigma 00169 ); 00170 00187 Error* create_3d_gaussian_dx_filter_f 00188 ( 00189 Matblock_f** h_out, 00190 float mat_sigma, 00191 float row_sigma, 00192 float col_sigma, 00193 uint32_t num_mats, 00194 uint32_t num_rows, 00195 uint32_t num_cols 00196 ); 00197 00202 Error* create_3d_gaussian_dx_filter_d 00203 ( 00204 Matblock_d** h_out, 00205 double mat_sigma, 00206 double row_sigma, 00207 double col_sigma, 00208 uint32_t num_mats, 00209 uint32_t num_rows, 00210 uint32_t num_cols 00211 ); 00212 00230 Error* create_auto_3d_gaussian_dy_filter_f 00231 ( 00232 Matblock_f** h_out, 00233 float mat_sigma, 00234 float row_sigma, 00235 float col_sigma 00236 ); 00237 00242 Error* create_auto_3d_gaussian_dy_filter_d 00243 ( 00244 Matblock_d** h_out, 00245 double mat_sigma, 00246 double row_sigma, 00247 double col_sigma 00248 ); 00249 00266 Error* create_3d_gaussian_dy_filter_f 00267 ( 00268 Matblock_f** h_out, 00269 float mat_sigma, 00270 float row_sigma, 00271 float col_sigma, 00272 uint32_t num_mats, 00273 uint32_t num_rows, 00274 uint32_t num_cols 00275 ); 00276 00281 Error* create_3d_gaussian_dy_filter_d 00282 ( 00283 Matblock_d** h_out, 00284 double mat_sigma, 00285 double row_sigma, 00286 double col_sigma, 00287 uint32_t num_mats, 00288 uint32_t num_rows, 00289 uint32_t num_cols 00290 ); 00291 00309 Error* create_auto_3d_gaussian_dz_filter_f 00310 ( 00311 Matblock_f** h_out, 00312 float mat_sigma, 00313 float row_sigma, 00314 float col_sigma 00315 ); 00316 00321 Error* create_auto_3d_gaussian_dz_filter_d 00322 ( 00323 Matblock_d** h_out, 00324 double mat_sigma, 00325 double row_sigma, 00326 double col_sigma 00327 ); 00328 00345 Error* create_3d_gaussian_dz_filter_f 00346 ( 00347 Matblock_f** h_out, 00348 double mat_sigma, 00349 double row_sigma, 00350 double col_sigma, 00351 uint32_t num_mats, 00352 uint32_t num_rows, 00353 uint32_t num_cols 00354 ); 00355 00360 Error* create_3d_gaussian_dz_filter_d 00361 ( 00362 Matblock_d** h_out, 00363 double mat_sigma, 00364 double row_sigma, 00365 double col_sigma, 00366 uint32_t num_mats, 00367 uint32_t num_rows, 00368 uint32_t num_cols 00369 ); 00370 00374 #ifdef __cplusplus 00375 } 00376 } 00377 #endif 00378 00379 00380 #endif