Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

deform_prototypes.h

Go to the documentation of this file.
00001 #ifndef DEF_deform_prototypes 00002 #define DEF_deform_prototypes 00003 00004 public void deform_lines( 00005 lines_struct *lines, 00006 deform_struct *deform_parms ); 00007 00008 public void deform_lines_one_iteration( 00009 lines_struct *lines, 00010 deform_struct *deform_parms, 00011 int iteration ); 00012 00013 public void get_line_equilibrium_point( 00014 lines_struct *lines, 00015 int axis, 00016 int point_index, 00017 int neighbours[], 00018 Real curvature_factors[], 00019 Real max_search_distance, 00020 int degrees_continuity, 00021 Volume volume, 00022 Volume label_volume, 00023 boundary_definition_struct *boundary_def, 00024 deformation_model_struct *deformation_model, 00025 Point *equilibrium_point, 00026 Point *boundary_point ); 00027 00028 public int find_axial_plane( 00029 lines_struct *lines ); 00030 00031 public void deform_polygons( 00032 polygons_struct *polygons, 00033 deform_struct *deform_parms ); 00034 00035 public void deform_polygons_one_iteration( 00036 polygons_struct *polygons, 00037 deform_struct *deform_parms, 00038 int iteration ); 00039 00040 public BOOLEAN find_boundary_in_direction( 00041 Volume volume, 00042 Volume label_volume, 00043 voxel_coef_struct *lookup, 00044 bitlist_3d_struct *done_bits, 00045 bitlist_3d_struct *surface_bits, 00046 Real model_dist, 00047 Point *ray_origin, 00048 Vector *unit_pos_dir, 00049 Vector *unit_neg_dir, 00050 Real max_outwards_search_distance, 00051 Real max_inwards_search_distance, 00052 int degrees_continuity, 00053 boundary_definition_struct *boundary_def, 00054 Real *boundary_distance ); 00055 00056 public int find_voxel_line_polynomial( 00057 Real coefs[], 00058 int degrees_continuity, 00059 int x, 00060 int y, 00061 int z, 00062 Real line_origin[], 00063 Real line_direction[], 00064 Real line_poly[] ); 00065 00066 public int find_voxel_line_value_intersection( 00067 Real coefs[], 00068 int degrees_continuity, 00069 int x, 00070 int y, 00071 int z, 00072 Real line_origin[], 00073 Real line_direction[], 00074 Real t_min, 00075 Real t_max, 00076 Real isovalue, 00077 Real distances[3] ); 00078 00079 public void initialize_deformation_model( 00080 deformation_model_struct *model ); 00081 00082 public void print_deformation_model( 00083 deformation_model_struct *deformation_model ); 00084 00085 public Status add_deformation_model( 00086 deformation_model_struct *deformation_model, 00087 int up_to_n_points, 00088 Real model_weight, 00089 char model_filename[], 00090 Real min_curvature_offset, 00091 Real max_curvature_offset ); 00092 00093 public void delete_deformation_model( 00094 deformation_model_struct *model ); 00095 00096 public Status input_original_positions( 00097 deformation_model_struct *deform_model, 00098 char position_filename[], 00099 Real max_position_offset, 00100 int n_deforming_points ); 00101 00102 public BOOLEAN check_correct_deformation_polygons( 00103 polygons_struct *polygons, 00104 deformation_model_struct *model ); 00105 00106 public BOOLEAN check_correct_deformation_lines( 00107 lines_struct *lines, 00108 deformation_model_struct *model ); 00109 00110 public deform_model_struct *find_relevent_model( 00111 deformation_model_struct *model, 00112 int point_index ); 00113 00114 public void get_model_shape_point( 00115 Point *origin, 00116 Vector *pos_model_dir, 00117 Vector *neg_model_dir, 00118 Real dist, 00119 Point *point ); 00120 00121 public void compute_equilibrium_point( 00122 int point_index, 00123 BOOLEAN boundary_exists, 00124 Real boundary_dist, 00125 Real base_length, 00126 Real model_dist, 00127 Vector *pos_model_dir, 00128 Vector *neg_model_dir, 00129 Point *centroid, 00130 deformation_model_struct *deformation_model, 00131 Point *equilibrium_point ); 00132 00133 public void compute_model_dirs( 00134 Point *centroid, 00135 Vector *normal, 00136 Real base_length, 00137 Point *model_point, 00138 Real *model_dist, 00139 Point *search_origin, 00140 Vector *pos_model_dir, 00141 Vector *neg_model_dir ); 00142 00143 public void get_model_point( 00144 deformation_model_struct *deformation_model, 00145 Point points[], 00146 int point_index, 00147 int n_neighbours, 00148 int neighbours[], 00149 Real curvatures[], 00150 Point *centroid, 00151 Vector *normal, 00152 Real base_length, 00153 Point *model_point ); 00154 00155 public void get_neighbours_of_line_vertex( 00156 lines_struct *lines, 00157 int vertex_index, 00158 int neighbours[2] ); 00159 00160 public BOOLEAN deformation_model_includes_average( 00161 deformation_model_struct *model ); 00162 00163 public Real compute_line_curvature( 00164 lines_struct *lines, 00165 int axis, 00166 int point_index, 00167 int prev_point_index, 00168 int next_point_index ); 00169 00170 public Real deform_point( 00171 int point_index, 00172 Point points[], 00173 Point *equilibrium_point, 00174 Real fractional_step, 00175 Real max_step, 00176 BOOLEAN position_constrained, 00177 Real max_position_offset, 00178 Point original_positions[], 00179 Point *new_point ); 00180 00181 public void compute_line_centroid_and_normal( 00182 lines_struct *lines, 00183 int axis, 00184 int prev_point_index, 00185 int next_point_index, 00186 Point *centroid, 00187 Vector *normal, 00188 Real *base_length ); 00189 00190 public int get_subsampled_neighbours_of_point( 00191 deformation_model_struct *deformation_model, 00192 polygons_struct *polygons, 00193 int poly, 00194 int vertex_index, 00195 int neighbours[], 00196 int max_neighbours, 00197 BOOLEAN *interior_flag ); 00198 00199 public BOOLEAN is_point_inside_surface( 00200 Volume volume, 00201 Volume label_volume, 00202 int continuity, 00203 Real voxel[], 00204 Vector *direction, 00205 boundary_definition_struct *boundary_def ); 00206 00207 public void get_centre_of_cube( 00208 Point *cube, 00209 int sizes[3], 00210 Point *centre ); 00211 00212 public BOOLEAN contains_value( 00213 Real values[2][2][2], 00214 int sizes[3] ); 00215 00216 public BOOLEAN cube_is_small_enough( 00217 Point cube[2], 00218 int sizes[3], 00219 Real min_cube_size ); 00220 00221 public void initialize_deform_stats( 00222 deform_stats *stats ); 00223 00224 public void record_error_in_deform_stats( 00225 deform_stats *stats, 00226 Real error ); 00227 00228 public void print_deform_stats( 00229 deform_stats *stats, 00230 int n_points ); 00231 00232 public BOOLEAN get_max_point_cube_distance( 00233 Point cube[2], 00234 int sizes[3], 00235 Point *point, 00236 Real *distance ); 00237 00238 public void initialize_deformation_parameters( 00239 deform_struct *deform ); 00240 00241 public void delete_deformation_parameters( 00242 deform_struct *deform ); 00243 00244 public void set_boundary_definition( 00245 boundary_definition_struct *boundary_def, 00246 Real min_value, 00247 Real max_value, 00248 Real grad_threshold, 00249 Real angle, 00250 char direction, 00251 Real tolerance ); 00252 00253 public void initialize_lookup_volume_coeficients( 00254 voxel_coef_struct *lookup ); 00255 00256 public void lookup_volume_coeficients( 00257 voxel_coef_struct *lookup, 00258 Volume volume, 00259 int degrees_continuity, 00260 int x, 00261 int y, 00262 int z, 00263 Real c[] ); 00264 00265 public void delete_lookup_volume_coeficients( 00266 voxel_coef_struct *lookup ); 00267 #endif

Generated on Wed Jul 28 09:10:57 2004 for BICPL by doxygen 1.3.7