![]() |
![]() |
![]() |
AMITK Reference Manual | ![]() |
---|---|---|---|---|
Top | Description |
#define AMITK_ROI_TYPE (roi) #define AMITK_ROI_ISOCONTOUR_MIN_VALUE (roi) #define AMITK_ROI_ISOCONTOUR_MAX_VALUE (roi) #define AMITK_ROI_ISOCONTOUR_RANGE (roi) #define AMITK_ROI_VOXEL_SIZE (roi) #define AMITK_ROI_UNDRAWN (roi) #define AMITK_ROI_TYPE_ISOCONTOUR (roi) #define AMITK_ROI_TYPE_FREEHAND (roi) #define AMITK_ROI_GRANULARITY enum AmitkRoiType; enum AmitkRoiIsocontourRange; struct AmitkRoi; struct AmitkRoiClass; AmitkRoi * amitk_roi_new (AmitkRoiType type
); GSList * amitk_roi_get_intersection_line (const AmitkRoi *roi
,const AmitkVolume *canvas_slice
,const amide_real_t pixel_dim
); GSList * amitk_roi_free_points_list (GSList *list
); AmitkDataSet * amitk_roi_get_intersection_slice (const AmitkRoi *roi
,const AmitkVolume *canvas_slice
,const amide_real_t pixel_dim
,const gboolean fill_map_roi
); void amitk_roi_set_voxel_size (AmitkRoi *roi
,AmitkPoint voxel_size
); void amitk_roi_calc_far_corner (AmitkRoi *roi
); void amitk_roi_set_isocontour (AmitkRoi *roi
,AmitkDataSet *ds
,AmitkVoxel start_voxel
,amide_data_t isocontour_min_value
,amide_data_t isocontour_max_value
,AmitkRoiIsocontourRange isocontour_range
); void amitk_roi_manipulate_area (AmitkRoi *roi
,gboolean erase
,AmitkVoxel erase_voxel
,gint area_size
); AmitkPoint amitk_roi_get_center_of_mass (AmitkRoi *roi
); void amitk_roi_set_type (AmitkRoi *roi
,AmitkRoiType new_type
); void amitk_roi_calculate_on_data_set (const AmitkRoi *roi
,const AmitkDataSet *ds
,const guint frame
,const guint gate
,const gboolean inverse
,const gboolean accurate
,void (*calculation) ()
,gpointer data
); void amitk_roi_erase_volume (const AmitkRoi *roi
,AmitkDataSet *ds
,const gboolean outside
,AmitkUpdateFunc update_func
,gpointer update_data
); const gchar * amitk_roi_type_get_name (const AmitkRoiType roi_type
); amide_real_t amitk_rois_get_max_min_voxel_size (GList *objects
);
#define AMITK_ROI_ISOCONTOUR_MIN_VALUE(roi) (AMITK_ROI(roi)->isocontour_min_value)
#define AMITK_ROI_ISOCONTOUR_MAX_VALUE(roi) (AMITK_ROI(roi)->isocontour_max_value)
#define AMITK_ROI_ISOCONTOUR_RANGE(roi) (AMITK_ROI(roi)->isocontour_range)
#define AMITK_ROI_GRANULARITY 4 /* # subvoxels in one dimension, so 1/64 is grain size */
typedef enum { AMITK_ROI_TYPE_ELLIPSOID, AMITK_ROI_TYPE_CYLINDER, AMITK_ROI_TYPE_BOX, AMITK_ROI_TYPE_ISOCONTOUR_2D, AMITK_ROI_TYPE_ISOCONTOUR_3D, AMITK_ROI_TYPE_FREEHAND_2D, AMITK_ROI_TYPE_FREEHAND_3D, AMITK_ROI_TYPE_NUM } AmitkRoiType;
typedef enum { AMITK_ROI_ISOCONTOUR_RANGE_ABOVE_MIN, AMITK_ROI_ISOCONTOUR_RANGE_BELOW_MAX, AMITK_ROI_ISOCONTOUR_RANGE_BETWEEN_MIN_MAX, AMITK_ROI_ISOCONTOUR_RANGE_NUM } AmitkRoiIsocontourRange;
struct AmitkRoi { AmitkVolume parent; AmitkRoiType type; /* isocontour and freehand specific stuff */ AmitkPoint voxel_size; AmitkRawData * map_data; /* raw data */ gboolean center_of_mass_calculated; AmitkPoint center_of_mass; /* isocontour specific stuff */ amide_data_t isocontour_min_value; /* note, min and max are what were specified for the isocontour */ amide_data_t isocontour_max_value; /* what the user draws may lie outside of this range */ AmitkRoiIsocontourRange isocontour_range; };
struct AmitkRoiClass { AmitkVolumeClass parent_class; void (* roi_changed) (AmitkRoi * roi); void (* roi_type_changed) (AmitkRoi * roi); };
GSList * amitk_roi_get_intersection_line (const AmitkRoi *roi
,const AmitkVolume *canvas_slice
,const amide_real_t pixel_dim
);
AmitkDataSet * amitk_roi_get_intersection_slice (const AmitkRoi *roi
,const AmitkVolume *canvas_slice
,const amide_real_t pixel_dim
,const gboolean fill_map_roi
);
void amitk_roi_set_isocontour (AmitkRoi *roi
,AmitkDataSet *ds
,AmitkVoxel start_voxel
,amide_data_t isocontour_min_value
,amide_data_t isocontour_max_value
,AmitkRoiIsocontourRange isocontour_range
);
void amitk_roi_manipulate_area (AmitkRoi *roi
,gboolean erase
,AmitkVoxel erase_voxel
,gint area_size
);
void amitk_roi_calculate_on_data_set (const AmitkRoi *roi
,const AmitkDataSet *ds
,const guint frame
,const guint gate
,const gboolean inverse
,const gboolean accurate
,void (*calculation) ()
,gpointer data
);
void amitk_roi_erase_volume (const AmitkRoi *roi
,AmitkDataSet *ds
,const gboolean outside
,AmitkUpdateFunc update_func
,gpointer update_data
);
amide_real_t amitk_rois_get_max_min_voxel_size (GList *objects
);