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

mapping.c File Reference

#include <volume_io/internal_volume_io.h>
#include <bicpl/vols.h>
#include <bicpl/numerical.h>

Include dependency graph for mapping.c:

Include dependency graph

Go to the source code of this file.

Defines

#define DISTANCE_THRESHOLD   1.0e-10

Functions

private int clip_points (int n_dims, int sizes[], Real origin[], Real x_axis[], Real y_axis[], int n_points, Real points[][2], Real clipped_points[][2])
private int get_cross_section (Volume volume, Real origin[], Real x_axis[], Real y_axis[], Real clipped_points[][2])
public int get_volume_cross_section (Volume volume, Real origin[], Real x_axis[], Real y_axis[], Real clipped_voxels[][MAX_DIMENSIONS])
private void get_volume_slice_range (Volume volume, Real origin[], Real x_axis[], Real y_axis[], Real *x_pixel_start, Real *x_pixel_end, Real *y_pixel_start, Real *y_pixel_end)
public void get_volume_mapping_range (Volume volume, Real origin[], Real x_axis[], Real y_axis[], Real x_trans, Real y_trans, Real x_scale, Real y_scale, Real *x_pixel_start, Real *x_pixel_end, Real *y_pixel_start, Real *y_pixel_end)
public void clip_viewport_to_volume (Volume volume, Real origin[], Real x_axis[], Real y_axis[], int *x_pixel_start, int *x_pixel_end, int *y_pixel_start, int *y_pixel_end)
public void get_mapping (Volume volume, Real origin[], Real x_axis[], Real y_axis[], Real x_translation, Real y_translation, Real x_scale, Real y_scale, Real pix_origin[], Real pix_x_axis[], Real pix_y_axis[])
private void map_pixel_to_voxel (Real x_pixel, Real y_pixel, int n_dims, Real voxel_origin[], Real voxel_x_axis[], Real voxel_y_axis[], Real voxel[])
private Real dot (int n, Real v1[], Real v2[])
private void get_two_axes_coordinates (int n, Real vector[], Real x_axis[], Real y_axis[], Real *x_pos, Real *y_pos)
public void map_voxel_to_pixel (int n, Real voxel[], Real origin[], Real x_axis[], Real y_axis[], Real *x_pixel, Real *y_pixel)
public BOOLEAN convert_slice_pixel_to_voxel (Volume volume, Real x_pixel, Real y_pixel, Real origin[], Real x_axis[], Real y_axis[], Real x_translation, Real y_translation, Real x_scale, Real y_scale, Real voxel[])
public void convert_voxel_to_slice_pixel (Volume volume, Real voxel[], Real origin[], Real x_axis[], Real y_axis[], Real x_translation, Real y_translation, Real x_scale, Real y_scale, Real *x_pixel, Real *y_pixel)
public void resize_volume_slice (int old_x_viewport_size, int old_y_viewport_size, int old_used_x_viewport_size, int old_used_y_viewport_size, int new_x_viewport_size, int new_y_viewport_size, Real *x_translation, Real *y_translation, Real *x_scale, Real *y_scale, int *used_x_viewport_size, int *used_y_viewport_size)
public void fit_volume_slice_to_viewport (Volume volume, Real origin[], Real x_axis[], Real y_axis[], int x_viewport_size, int y_viewport_size, Real fraction_oversize, Real *x_translation, Real *y_translation, Real *x_scale, Real *y_scale, int *used_x_viewport_size, int *used_y_viewport_size)
public void scale_slice_about_viewport_centre (Real scale_factor, int x_viewport_size, int y_viewport_size, Real *x_translation, Real *y_translation, Real *x_scale, Real *y_scale)
public BOOLEAN voxel_is_within_volume (Volume volume, Real voxel_position[])
public BOOLEAN int_voxel_is_within_volume (Volume volume, int indices[])
public void convert_real_to_int_voxel (int n_dimensions, Real voxel[], int int_voxel[])
public void convert_int_to_real_voxel (int n_dimensions, int int_voxel[], Real voxel[])
public BOOLEAN voxel_contains_range (Volume volume, int int_voxel[], Real min_value, Real max_value)
public BOOLEAN volumes_are_same_grid (Volume volume1, Volume volume2)


Define Documentation

#define DISTANCE_THRESHOLD   1.0e-10
 

Definition at line 23 of file mapping.c.

Referenced by clip_points().


Function Documentation

private int clip_points int  n_dims,
int  sizes[],
Real  origin[],
Real  x_axis[],
Real  y_axis[],
int  n_points,
Real  points[][2],
Real  clipped_points[][2]
 

Definition at line 46 of file mapping.c.

References DISTANCE_THRESHOLD.

Referenced by get_cross_section().

public void clip_viewport_to_volume Volume  volume,
Real  origin[],
Real  x_axis[],
Real  y_axis[],
int *  x_pixel_start,
int *  x_pixel_end,
int *  y_pixel_start,
int *  y_pixel_end
 

Definition at line 447 of file mapping.c.

References get_volume_slice_range().

Referenced by set_pixel_range().

public void convert_int_to_real_voxel int  n_dimensions,
int  int_voxel[],
Real  voxel[]
 

Definition at line 1099 of file mapping.c.

Referenced by scan_marker_to_voxels().

public void convert_real_to_int_voxel int  n_dimensions,
Real  voxel[],
int  int_voxel[]
 

Definition at line 1074 of file mapping.c.

public BOOLEAN convert_slice_pixel_to_voxel Volume  volume,
Real  x_pixel,
Real  y_pixel,
Real  origin[],
Real  x_axis[],
Real  y_axis[],
Real  x_translation,
Real  y_translation,
Real  x_scale,
Real  y_scale,
Real  voxel[]
 

Definition at line 717 of file mapping.c.

References get_mapping(), map_pixel_to_voxel(), and voxel_is_within_volume().

public void convert_voxel_to_slice_pixel Volume  volume,
Real  voxel[],
Real  origin[],
Real  x_axis[],
Real  y_axis[],
Real  x_translation,
Real  y_translation,
Real  x_scale,
Real  y_scale,
Real *  x_pixel,
Real *  y_pixel
 

Definition at line 769 of file mapping.c.

References get_mapping(), and map_voxel_to_pixel().

private Real dot int  n,
Real  v1[],
Real  v2[]
 

Definition at line 601 of file mapping.c.

Referenced by get_two_axes_coordinates().

public void fit_volume_slice_to_viewport Volume  volume,
Real  origin[],
Real  x_axis[],
Real  y_axis[],
int  x_viewport_size,
int  y_viewport_size,
Real  fraction_oversize,
Real *  x_translation,
Real *  y_translation,
Real *  x_scale,
Real *  y_scale,
int *  used_x_viewport_size,
int *  used_y_viewport_size
 

Definition at line 892 of file mapping.c.

References get_volume_mapping_range().

private int get_cross_section Volume  volume,
Real  origin[],
Real  x_axis[],
Real  y_axis[],
Real  clipped_points[][2]
 

Definition at line 170 of file mapping.c.

References clip_points(), FALSE, map_voxel_to_pixel(), and TRUE.

Referenced by get_volume_cross_section(), and get_volume_slice_range().

public void get_mapping Volume  volume,
Real  origin[],
Real  x_axis[],
Real  y_axis[],
Real  x_translation,
Real  y_translation,
Real  x_scale,
Real  y_scale,
Real  pix_origin[],
Real  pix_x_axis[],
Real  pix_y_axis[]
 

Definition at line 502 of file mapping.c.

Referenced by convert_slice_pixel_to_voxel(), convert_voxel_to_slice_pixel(), create_pixel_mapping(), get_volume_cross_section(), and get_volume_mapping_range().

private void get_two_axes_coordinates int  n,
Real  vector[],
Real  x_axis[],
Real  y_axis[],
Real *  x_pos,
Real *  y_pos
 

Definition at line 635 of file mapping.c.

References dot().

Referenced by map_voxel_to_pixel().

public int get_volume_cross_section Volume  volume,
Real  origin[],
Real  x_axis[],
Real  y_axis[],
Real  clipped_voxels[][MAX_DIMENSIONS]
 

Definition at line 281 of file mapping.c.

References get_cross_section(), and get_mapping().

Referenced by create_slice_3d().

public void get_volume_mapping_range Volume  volume,
Real  origin[],
Real  x_axis[],
Real  y_axis[],
Real  x_trans,
Real  y_trans,
Real  x_scale,
Real  y_scale,
Real *  x_pixel_start,
Real *  x_pixel_end,
Real *  y_pixel_start,
Real *  y_pixel_end
 

Definition at line 402 of file mapping.c.

References get_mapping(), and get_volume_slice_range().

Referenced by fit_volume_slice_to_viewport().

private void get_volume_slice_range Volume  volume,
Real  origin[],
Real  x_axis[],
Real  y_axis[],
Real *  x_pixel_start,
Real *  x_pixel_end,
Real *  y_pixel_start,
Real *  y_pixel_end
 

Definition at line 335 of file mapping.c.

References get_cross_section().

Referenced by clip_viewport_to_volume(), and get_volume_mapping_range().

public BOOLEAN int_voxel_is_within_volume Volume  volume,
int  indices[]
 

Definition at line 1036 of file mapping.c.

References FALSE, and TRUE.

Referenced by input_landmarks_as_labels(), and input_tags_as_labels().

private void map_pixel_to_voxel Real  x_pixel,
Real  y_pixel,
int  n_dims,
Real  voxel_origin[],
Real  voxel_x_axis[],
Real  voxel_y_axis[],
Real  voxel[]
 

Definition at line 568 of file mapping.c.

Referenced by convert_slice_pixel_to_voxel().

public void map_voxel_to_pixel int  n,
Real  voxel[],
Real  origin[],
Real  x_axis[],
Real  y_axis[],
Real *  x_pixel,
Real *  y_pixel
 

Definition at line 675 of file mapping.c.

References get_two_axes_coordinates().

Referenced by convert_voxel_to_slice_pixel(), and get_cross_section().

public void resize_volume_slice int  old_x_viewport_size,
int  old_y_viewport_size,
int  old_used_x_viewport_size,
int  old_used_y_viewport_size,
int  new_x_viewport_size,
int  new_y_viewport_size,
Real *  x_translation,
Real *  y_translation,
Real *  x_scale,
Real *  y_scale,
int *  used_x_viewport_size,
int *  used_y_viewport_size
 

Definition at line 820 of file mapping.c.

References scale_slice_about_viewport_centre().

public void scale_slice_about_viewport_centre Real  scale_factor,
int  x_viewport_size,
int  y_viewport_size,
Real *  x_translation,
Real *  y_translation,
Real *  x_scale,
Real *  y_scale
 

Definition at line 969 of file mapping.c.

Referenced by resize_volume_slice().

public BOOLEAN volumes_are_same_grid Volume  volume1,
Volume  volume2
 

Definition at line 1185 of file mapping.c.

References FALSE, and TRUE.

Referenced by create_label_volume_from_file().

public BOOLEAN voxel_contains_range Volume  volume,
int  int_voxel[],
Real  min_value,
Real  max_value
 

Definition at line 1124 of file mapping.c.

References FALSE, and TRUE.

public BOOLEAN voxel_is_within_volume Volume  volume,
Real  voxel_position[]
 

Definition at line 1000 of file mapping.c.

References FALSE, and TRUE.

Referenced by convert_slice_pixel_to_voxel(), interpolate_volume_to_slice(), and scan_marker_to_voxels().


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