| AMITK Reference Manual | ||||
|---|---|---|---|---|
#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; AmitkRoi; 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;
typedef struct {
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;
} AmitkRoi;
GSList* amitk_roi_get_intersection_line (const AmitkRoi *roi, const AmitkVolume *canvas_slice, const amide_real_t pixel_dim);
|
|
|
|
|
|
Returns : |
AmitkDataSet* amitk_roi_get_intersection_slice (const AmitkRoi *roi, const AmitkVolume *canvas_slice, const amide_real_t pixel_dim, const gboolean fill_map_roi);
|
|
|
|
|
|
|
|
Returns : |
void amitk_roi_set_voxel_size (AmitkRoi *roi, AmitkPoint voxel_size);
|
|
|
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);
|
|
Returns : |
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);
|
|
Returns : |
amide_real_t amitk_rois_get_max_min_voxel_size (GList *objects);
|
|
Returns : |