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

deform_prototypes.h File Reference

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Functions

public void deform_lines (lines_struct *lines, deform_struct *deform_parms)
public void deform_lines_one_iteration (lines_struct *lines, deform_struct *deform_parms, int iteration)
public void get_line_equilibrium_point (lines_struct *lines, int axis, int point_index, int neighbours[], Real curvature_factors[], Real max_search_distance, int degrees_continuity, Volume volume, Volume label_volume, boundary_definition_struct *boundary_def, deformation_model_struct *deformation_model, Point *equilibrium_point, Point *boundary_point)
public int find_axial_plane (lines_struct *lines)
public void deform_polygons (polygons_struct *polygons, deform_struct *deform_parms)
public void deform_polygons_one_iteration (polygons_struct *polygons, deform_struct *deform_parms, int iteration)
public BOOLEAN find_boundary_in_direction (Volume volume, Volume label_volume, voxel_coef_struct *lookup, bitlist_3d_struct *done_bits, bitlist_3d_struct *surface_bits, Real model_dist, Point *ray_origin, Vector *unit_pos_dir, Vector *unit_neg_dir, Real max_outwards_search_distance, Real max_inwards_search_distance, int degrees_continuity, boundary_definition_struct *boundary_def, Real *boundary_distance)
public int find_voxel_line_polynomial (Real coefs[], int degrees_continuity, int x, int y, int z, Real line_origin[], Real line_direction[], Real line_poly[])
public int find_voxel_line_value_intersection (Real coefs[], int degrees_continuity, int x, int y, int z, Real line_origin[], Real line_direction[], Real t_min, Real t_max, Real isovalue, Real distances[3])
public void initialize_deformation_model (deformation_model_struct *model)
public void print_deformation_model (deformation_model_struct *deformation_model)
public Status add_deformation_model (deformation_model_struct *deformation_model, int up_to_n_points, Real model_weight, char model_filename[], Real min_curvature_offset, Real max_curvature_offset)
public void delete_deformation_model (deformation_model_struct *model)
public Status input_original_positions (deformation_model_struct *deform_model, char position_filename[], Real max_position_offset, int n_deforming_points)
public BOOLEAN check_correct_deformation_polygons (polygons_struct *polygons, deformation_model_struct *model)
public BOOLEAN check_correct_deformation_lines (lines_struct *lines, deformation_model_struct *model)
public deform_model_structfind_relevent_model (deformation_model_struct *model, int point_index)
public void get_model_shape_point (Point *origin, Vector *pos_model_dir, Vector *neg_model_dir, Real dist, Point *point)
public void compute_equilibrium_point (int point_index, BOOLEAN boundary_exists, Real boundary_dist, Real base_length, Real model_dist, Vector *pos_model_dir, Vector *neg_model_dir, Point *centroid, deformation_model_struct *deformation_model, Point *equilibrium_point)
public void compute_model_dirs (Point *centroid, Vector *normal, Real base_length, Point *model_point, Real *model_dist, Point *search_origin, Vector *pos_model_dir, Vector *neg_model_dir)
public void get_model_point (deformation_model_struct *deformation_model, Point points[], int point_index, int n_neighbours, int neighbours[], Real curvatures[], Point *centroid, Vector *normal, Real base_length, Point *model_point)
public void get_neighbours_of_line_vertex (lines_struct *lines, int vertex_index, int neighbours[2])
public BOOLEAN deformation_model_includes_average (deformation_model_struct *model)
public Real compute_line_curvature (lines_struct *lines, int axis, int point_index, int prev_point_index, int next_point_index)
public Real deform_point (int point_index, Point points[], Point *equilibrium_point, Real fractional_step, Real max_step, BOOLEAN position_constrained, Real max_position_offset, Point original_positions[], Point *new_point)
public void compute_line_centroid_and_normal (lines_struct *lines, int axis, int prev_point_index, int next_point_index, Point *centroid, Vector *normal, Real *base_length)
public int get_subsampled_neighbours_of_point (deformation_model_struct *deformation_model, polygons_struct *polygons, int poly, int vertex_index, int neighbours[], int max_neighbours, BOOLEAN *interior_flag)
public BOOLEAN is_point_inside_surface (Volume volume, Volume label_volume, int continuity, Real voxel[], Vector *direction, boundary_definition_struct *boundary_def)
public void get_centre_of_cube (Point *cube, int sizes[3], Point *centre)
public BOOLEAN contains_value (Real values[2][2][2], int sizes[3])
public BOOLEAN cube_is_small_enough (Point cube[2], int sizes[3], Real min_cube_size)
public void initialize_deform_stats (deform_stats *stats)
public void record_error_in_deform_stats (deform_stats *stats, Real error)
public void print_deform_stats (deform_stats *stats, int n_points)
public BOOLEAN get_max_point_cube_distance (Point cube[2], int sizes[3], Point *point, Real *distance)
public void initialize_deformation_parameters (deform_struct *deform)
public void delete_deformation_parameters (deform_struct *deform)
public void set_boundary_definition (boundary_definition_struct *boundary_def, Real min_value, Real max_value, Real grad_threshold, Real angle, char direction, Real tolerance)
public void initialize_lookup_volume_coeficients (voxel_coef_struct *lookup)
public void lookup_volume_coeficients (voxel_coef_struct *lookup, Volume volume, int degrees_continuity, int x, int y, int z, Real c[])
public void delete_lookup_volume_coeficients (voxel_coef_struct *lookup)


Function Documentation

public Status add_deformation_model deformation_model_struct deformation_model,
int  up_to_n_points,
Real  model_weight,
char  model_filename[],
Real  min_curvature_offset,
Real  max_curvature_offset
 

Definition at line 164 of file model_objects.c.

References AVERAGE_MODEL, Deformation_model_types, FLAT_MODEL, GENERAL_MODEL, input_graphics_file(), PARAMETRIC_MODEL, and set_deformation_model().

public BOOLEAN check_correct_deformation_lines lines_struct lines,
deformation_model_struct model
 

Definition at line 774 of file model_objects.c.

References check_correct_model_lines(), FALSE, deformation_model_struct::models, deformation_model_struct::n_models, lines_struct::n_points, TRUE, and deform_model_struct::up_to_n_points.

Referenced by one_iteration_lines().

public BOOLEAN check_correct_deformation_polygons polygons_struct polygons,
deformation_model_struct model
 

Definition at line 646 of file model_objects.c.

References check_correct_model_polygons(), FALSE, deformation_model_struct::models, deformation_model_struct::n_models, polygons_struct::n_points, TRUE, and deform_model_struct::up_to_n_points.

public void compute_equilibrium_point int  point_index,
BOOLEAN  boundary_exists,
Real  boundary_dist,
Real  base_length,
Real  model_dist,
Vector *  pos_model_dir,
Vector *  neg_model_dir,
Point *  centroid,
deformation_model_struct deformation_model,
Point *  equilibrium_point
 

Definition at line 25 of file Deform/models.c.

References find_relevent_model(), get_model_shape_point(), deform_model_struct::max_curvature_offset, deform_model_struct::min_curvature_offset, and deform_model_struct::model_weight.

Referenced by get_line_equilibrium_point().

public void compute_line_centroid_and_normal lines_struct lines,
int  axis,
int  prev_point_index,
int  next_point_index,
Point *  centroid,
Vector *  normal,
Real *  base_length
 

Definition at line 455 of file Deform/models.c.

References lines_struct::points.

Referenced by compute_line_curvature(), and get_line_equilibrium_point().

public Real compute_line_curvature lines_struct lines,
int  axis,
int  point_index,
int  prev_point_index,
int  next_point_index
 

Definition at line 388 of file Deform/models.c.

References compute_line_centroid_and_normal(), and lines_struct::points.

Referenced by perturb_line_points().

public void compute_model_dirs Point *  centroid,
Vector *  normal,
Real  base_length,
Point *  model_point,
Real *  model_dist,
Point *  search_origin,
Vector *  pos_model_dir,
Vector *  neg_model_dir
 

Definition at line 69 of file Deform/models.c.

Referenced by get_line_equilibrium_point().

public BOOLEAN contains_value Real  values[2][2][2],
int  sizes[3]
 

Definition at line 84 of file search_utils.c.

References FALSE, TRUE, and y.

public BOOLEAN cube_is_small_enough Point  cube[2],
int  sizes[3],
Real  min_cube_size
 

Definition at line 125 of file search_utils.c.

References FALSE, and TRUE.

public void deform_lines lines_struct lines,
deform_struct deform_parms
 

Definition at line 22 of file deform_line.c.

References deform_struct::max_iterations, one_iteration_lines(), and deform_struct::stop_threshold.

public void deform_lines_one_iteration lines_struct lines,
deform_struct deform_parms,
int  iteration
 

Definition at line 40 of file deform_line.c.

References one_iteration_lines().

public Real deform_point int  point_index,
Point  points[],
Point *  equilibrium_point,
Real  fractional_step,
Real  max_step,
BOOLEAN  position_constrained,
Real  max_position_offset,
Point  original_positions[],
Point *  new_point
 

Definition at line 413 of file Deform/models.c.

Referenced by perturb_line_points().

public void deform_polygons polygons_struct polygons,
deform_struct deform_parms
 

public void deform_polygons_one_iteration polygons_struct polygons,
deform_struct deform_parms,
int  iteration
 

public BOOLEAN deformation_model_includes_average deformation_model_struct model  ) 
 

Definition at line 376 of file Deform/models.c.

References AVERAGE_MODEL, FALSE, deform_model_struct::model_type, deformation_model_struct::models, deformation_model_struct::n_models, and TRUE.

Referenced by perturb_line_points().

public void delete_deformation_model deformation_model_struct model  ) 
 

Definition at line 222 of file model_objects.c.

References delete_deform_model(), deformation_model_struct::models, deformation_model_struct::n_models, deformation_model_struct::original_positions, and deformation_model_struct::position_constrained.

Referenced by delete_deformation_parameters().

public void delete_deformation_parameters deform_struct deform  ) 
 

Definition at line 269 of file search_utils.c.

References deform_struct::deformation_model, delete_deformation_model(), deform_struct::n_movements_alloced, and deform_struct::prev_movements.

public void delete_lookup_volume_coeficients voxel_coef_struct lookup  ) 
 

Definition at line 408 of file search_utils.c.

References delete_hash_table(), lookup(), and voxel_lin_coef_struct::next.

public int find_axial_plane lines_struct lines  ) 
 

Definition at line 242 of file deform_line.c.

References FALSE, lines_struct::n_points, lines_struct::points, and TRUE.

Referenced by compute_line_model_info(), and one_iteration_lines().

public BOOLEAN find_boundary_in_direction Volume  volume,
Volume  label_volume,
voxel_coef_struct lookup,
bitlist_3d_struct done_bits,
bitlist_3d_struct surface_bits,
Real  model_dist,
Point *  ray_origin,
Vector *  unit_pos_dir,
Vector *  unit_neg_dir,
Real  max_outwards_search_distance,
Real  max_inwards_search_distance,
int  degrees_continuity,
boundary_definition_struct boundary_def,
Real *  boundary_distance
 

Definition at line 262 of file find_in_direction.c.

References check_voxel_for_boundary(), check_voxel_for_isovalue(), FALSE, GET_RAY_POINT, is_point_inside_surface(), lookup(), boundary_definition_struct::max_isovalue, boundary_definition_struct::min_isovalue, boundary_definition_struct::normal_direction, set_up_to_search_ray(), TOLERANCE, TRUE, and voxel_might_contain_boundary().

Referenced by get_line_equilibrium_point().

public deform_model_struct* find_relevent_model deformation_model_struct model,
int  point_index
 

Definition at line 805 of file model_objects.c.

References deformation_model_struct::models, deformation_model_struct::n_models, and deform_model_struct::up_to_n_points.

Referenced by compute_equilibrium_point(), get_model_point(), and get_subsampled_neighbours_of_point().

public int find_voxel_line_polynomial Real  coefs[],
int  degrees_continuity,
int  x,
int  y,
int  z,
Real  line_origin[],
Real  line_direction[],
Real  line_poly[]
 

Definition at line 90 of file intersect_voxel.c.

References find_coefs_of_line(), get_voxel_coefs(), get_voxel_line_tricubic(), MAX_DERIVS, and y.

Referenced by check_voxel_for_boundary(), and find_voxel_line_value_intersection().

public int find_voxel_line_value_intersection Real  coefs[],
int  degrees_continuity,
int  x,
int  y,
int  z,
Real  line_origin[],
Real  line_direction[],
Real  t_min,
Real  t_max,
Real  isovalue,
Real  distances[3]
 

Definition at line 189 of file intersect_voxel.c.

References find_voxel_line_polynomial(), get_cubic_root(), get_roots_of_polynomial(), MAX_DERIVS, and y.

Referenced by check_voxel_for_isovalue().

public void get_centre_of_cube Point *  cube,
int  sizes[3],
Point *  centre
 

Definition at line 66 of file search_utils.c.

public void get_line_equilibrium_point lines_struct lines,
int  axis,
int  point_index,
int  neighbours[],
Real  curvature_factors[],
Real  max_search_distance,
int  degrees_continuity,
Volume  volume,
Volume  label_volume,
boundary_definition_struct boundary_def,
deformation_model_struct deformation_model,
Point *  equilibrium_point,
Point *  boundary_point
 

Definition at line 108 of file deform_line.c.

References compute_equilibrium_point(), compute_line_centroid_and_normal(), compute_model_dirs(), find_boundary_in_direction(), get_model_point(), get_model_shape_point(), and lines_struct::points.

Referenced by perturb_line_points().

public BOOLEAN get_max_point_cube_distance Point  cube[2],
int  sizes[3],
Point *  point,
Real *  distance
 

Definition at line 209 of file search_utils.c.

References FALSE, and TRUE.

public void get_model_point deformation_model_struct deformation_model,
Point  points[],
int  point_index,
int  n_neighbours,
int  neighbours[],
Real  curvatures[],
Point *  centroid,
Vector *  normal,
Real  base_length,
Point *  model_point
 

Definition at line 295 of file Deform/models.c.

References AVERAGE_MODEL, compute_model_point(), Deformation_model_types, find_relevent_model(), FLAT_MODEL, GENERAL_MODEL, deform_model_struct::model_centroids, deform_model_struct::model_normals, deform_model_struct::model_points, deform_model_struct::model_type, deform_model_struct::n_model_points, and PARAMETRIC_MODEL.

Referenced by get_line_equilibrium_point().

public void get_model_shape_point Point *  origin,
Vector *  pos_model_dir,
Vector *  neg_model_dir,
Real  dist,
Point *  point
 

Definition at line 4 of file Deform/models.c.

Referenced by compute_equilibrium_point(), and get_line_equilibrium_point().

public void get_neighbours_of_line_vertex lines_struct lines,
int  vertex_index,
int  neighbours[2]
 

Definition at line 357 of file Deform/models.c.

References lines_struct::indices, and lines_struct::n_points.

Referenced by compute_line_model_info(), and perturb_line_points().

public int get_subsampled_neighbours_of_point deformation_model_struct deformation_model,
polygons_struct polygons,
int  poly,
int  vertex_index,
int  neighbours[],
int  max_neighbours,
BOOLEAN *  interior_flag
 

Definition at line 487 of file Deform/models.c.

References polygons_struct::end_indices, find_polygon_with_vertex(), find_relevent_model(), get_neighbours_of_point(), get_polygons_ptr(), polygons_struct::indices, deform_model_struct::model_object, polygons_struct::n_points, POINT_INDEX, and deform_model_struct::up_to_n_points.

public void initialize_deform_stats deform_stats stats  ) 
 

Definition at line 150 of file search_utils.c.

References deform_stats::average, deform_stats::maximum, deform_stats::n_below, and N_DEFORM_HISTOGRAM.

Referenced by one_iteration_lines().

public void initialize_deformation_model deformation_model_struct model  ) 
 

Definition at line 14 of file model_objects.c.

References FALSE, FLAT_MODEL, deformation_model_struct::n_models, deformation_model_struct::position_constrained, and set_deformation_model().

Referenced by initialize_deformation_parameters().

public void initialize_deformation_parameters deform_struct deform  ) 
 

Definition at line 245 of file search_utils.c.

References deform_struct::boundary_definition, deform_struct::deform_data, deform_struct::deformation_model, deform_struct::degrees_continuity, FALSE, deform_struct::fractional_step, boundary_definition_struct::gradient_threshold, initialize_deformation_model(), boundary_definition_struct::max_dot_product, boundary_definition_struct::max_isovalue, deform_struct::max_iterations, deform_struct::max_step, boundary_definition_struct::min_dot_product, boundary_definition_struct::min_isovalue, deform_struct::movement_threshold, deform_struct::n_movements_alloced, boundary_definition_struct::normal_direction, deformation_model_struct::position_constrained, deform_struct::stop_threshold, TOWARDS_LOWER, deform_data_struct::type, and VOLUME_DATA.

public void initialize_lookup_volume_coeficients voxel_coef_struct lookup  ) 
 

Definition at line 319 of file search_utils.c.

References lookup().

public Status input_original_positions deformation_model_struct deform_model,
char  position_filename[],
Real  max_position_offset,
int  n_deforming_points
 

Definition at line 237 of file model_objects.c.

References delete_object_list(), FALSE, get_lines_ptr(), get_polygons_ptr(), input_graphics_file(), LINES, deformation_model_struct::max_position_offset, polygons_struct::n_points, lines_struct::n_points, object_struct::object_type, deformation_model_struct::original_positions, polygons_struct::points, lines_struct::points, POLYGONS, deformation_model_struct::position_constrained, and TRUE.

public BOOLEAN is_point_inside_surface Volume  volume,
Volume  label_volume,
int  continuity,
Real  voxel[],
Vector *  direction,
boundary_definition_struct boundary_def
 

Definition at line 4 of file search_utils.c.

References FALSE, get_volume_voxel_activity(), boundary_definition_struct::gradient_threshold, boundary_definition_struct::max_dot_product, boundary_definition_struct::max_isovalue, boundary_definition_struct::min_dot_product, boundary_definition_struct::min_isovalue, and TRUE.

Referenced by check_voxel_for_boundary(), and find_boundary_in_direction().

public void lookup_volume_coeficients voxel_coef_struct lookup,
Volume  volume,
int  degrees_continuity,
int  x,
int  y,
int  z,
Real  c[]
 

Definition at line 325 of file search_utils.c.

References initialize_hash_table(), insert_in_hash_table(), lookup(), lookup_in_hash_table(), MAX_IN_VOXEL_COEF_LOOKUP, hash2_entry_struct::next, remove_from_hash_table(), and y.

Referenced by check_voxel_for_boundary(), and check_voxel_for_isovalue().

public void print_deform_stats deform_stats stats,
int  n_points
 

Definition at line 180 of file search_utils.c.

References deform_stats::average, deform_stats::maximum, deform_stats::n_below, and N_DEFORM_HISTOGRAM.

Referenced by one_iteration_lines().

public void print_deformation_model deformation_model_struct deformation_model  ) 
 

Definition at line 147 of file model_objects.c.

References deformation_model_struct::models, deformation_model_struct::n_models, deformation_model_struct::position_constrained, and print_deform_model().

public void record_error_in_deform_stats deform_stats stats,
Real  error
 

Definition at line 162 of file search_utils.c.

References deform_stats::average, deform_stats::maximum, deform_stats::n_below, and N_DEFORM_HISTOGRAM.

Referenced by perturb_line_points().

public void set_boundary_definition boundary_definition_struct boundary_def,
Real  min_value,
Real  max_value,
Real  grad_threshold,
Real  angle,
char  direction,
Real  tolerance
 

Definition at line 278 of file search_utils.c.

References ANY_DIRECTION, boundary_definition_struct::gradient_threshold, boundary_definition_struct::max_dot_product, boundary_definition_struct::max_isovalue, boundary_definition_struct::min_dot_product, boundary_definition_struct::min_isovalue, boundary_definition_struct::normal_direction, boundary_definition_struct::tolerance, TOWARDS_HIGHER, and TOWARDS_LOWER.


Generated on Wed Jul 28 09:11:03 2004 for BICPL by doxygen 1.3.7