AmitkRoi

AmitkRoi

Synopsis

#define             AMITK_ROI_COLOR                     (roi)
#define             AMITK_ROI_GRANULARITY
#define             AMITK_ROI_ISOCONTOUR_MAX_VALUE      (roi)
#define             AMITK_ROI_ISOCONTOUR_MIN_VALUE      (roi)
#define             AMITK_ROI_ISOCONTOUR_RANGE          (roi)
#define             AMITK_ROI_SPECIFY_COLOR             (roi)
#define             AMITK_ROI_TYPE                      (roi)
#define             AMITK_ROI_TYPE_FREEHAND             (roi)
#define             AMITK_ROI_TYPE_ISOCONTOUR           (roi)
#define             AMITK_ROI_UNDRAWN                   (roi)
#define             AMITK_ROI_VOXEL_SIZE                (roi)
struct              AmitkRoi;
struct              AmitkRoiClass;
enum                AmitkRoiIsocontourRange;
enum                AmitkRoiType;
void                amitk_roi_calc_far_corner           (AmitkRoi *roi);
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);
GSList *            amitk_roi_free_points_list          (GSList *list);
AmitkPoint          amitk_roi_get_center_of_mass        (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);
void                amitk_roi_manipulate_area           (AmitkRoi *roi,
                                                         gboolean erase,
                                                         AmitkVoxel erase_voxel,
                                                         gint area_size);
AmitkRoi *          amitk_roi_new                       (AmitkRoiType type);
void                amitk_roi_set_color                 (AmitkRoi *roi,
                                                         rgba_t color);
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_set_specify_color         (AmitkRoi *roi,
                                                         gboolean specify_color);
void                amitk_roi_set_type                  (AmitkRoi *roi,
                                                         AmitkRoiType new_type);
void                amitk_roi_set_voxel_size            (AmitkRoi *roi,
                                                         AmitkPoint voxel_size);
const gchar *       amitk_roi_type_get_name             (const AmitkRoiType roi_type);
amide_real_t        amitk_rois_get_max_min_voxel_size   (GList *objects);

Object Hierarchy

  GObject
   +----AmitkSpace
         +----AmitkObject
               +----AmitkVolume
                     +----AmitkRoi
  GEnum
   +----AmitkRoiIsocontourRange
  GEnum
   +----AmitkRoiType

Signals

  "roi-changed"                                    : Run Last
  "roi-type-changed"                               : Run Last

Description

Details

AMITK_ROI_COLOR()

#define AMITK_ROI_COLOR(roi)                 (AMITK_ROI(roi)->color)


AMITK_ROI_GRANULARITY

#define AMITK_ROI_GRANULARITY 4 /* # subvoxels in one dimension, so 1/64 is grain size */


AMITK_ROI_ISOCONTOUR_MAX_VALUE()

#define AMITK_ROI_ISOCONTOUR_MAX_VALUE(roi)  (AMITK_ROI(roi)->isocontour_max_value)


AMITK_ROI_ISOCONTOUR_MIN_VALUE()

#define AMITK_ROI_ISOCONTOUR_MIN_VALUE(roi)  (AMITK_ROI(roi)->isocontour_min_value)


AMITK_ROI_ISOCONTOUR_RANGE()

#define AMITK_ROI_ISOCONTOUR_RANGE(roi)      (AMITK_ROI(roi)->isocontour_range)


AMITK_ROI_SPECIFY_COLOR()

#define AMITK_ROI_SPECIFY_COLOR(roi)         (AMITK_ROI(roi)->specify_color)


AMITK_ROI_TYPE()

#define AMITK_ROI_TYPE(roi)                  (AMITK_ROI(roi)->type)


AMITK_ROI_TYPE_FREEHAND()

#define             AMITK_ROI_TYPE_FREEHAND(roi)


AMITK_ROI_TYPE_ISOCONTOUR()

#define             AMITK_ROI_TYPE_ISOCONTOUR(roi)


AMITK_ROI_UNDRAWN()

#define AMITK_ROI_UNDRAWN(roi)               (!AMITK_VOLUME_VALID(roi))


AMITK_ROI_VOXEL_SIZE()

#define AMITK_ROI_VOXEL_SIZE(roi)            (AMITK_ROI(roi)->voxel_size)


struct AmitkRoi

struct AmitkRoi;


struct AmitkRoiClass

struct AmitkRoiClass {
  AmitkVolumeClass parent_class;

  void (* roi_changed)      (AmitkRoi * roi);
  void (* roi_type_changed) (AmitkRoi * roi);
};


enum AmitkRoiIsocontourRange

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;


enum AmitkRoiType

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;


amitk_roi_calc_far_corner ()

void                amitk_roi_calc_far_corner           (AmitkRoi *roi);


amitk_roi_calculate_on_data_set ()

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);


amitk_roi_erase_volume ()

void                amitk_roi_erase_volume              (const AmitkRoi *roi,
                                                         AmitkDataSet *ds,
                                                         const gboolean outside,
                                                         AmitkUpdateFunc update_func,
                                                         gpointer update_data);


amitk_roi_free_points_list ()

GSList *            amitk_roi_free_points_list          (GSList *list);


amitk_roi_get_center_of_mass ()

AmitkPoint          amitk_roi_get_center_of_mass        (AmitkRoi *roi);


amitk_roi_get_intersection_line ()

GSList *            amitk_roi_get_intersection_line     (const AmitkRoi *roi,
                                                         const AmitkVolume *canvas_slice,
                                                         const amide_real_t pixel_dim);


amitk_roi_get_intersection_slice ()

AmitkDataSet *      amitk_roi_get_intersection_slice    (const AmitkRoi *roi,
                                                         const AmitkVolume *canvas_slice);


amitk_roi_manipulate_area ()

void                amitk_roi_manipulate_area           (AmitkRoi *roi,
                                                         gboolean erase,
                                                         AmitkVoxel erase_voxel,
                                                         gint area_size);


amitk_roi_new ()

AmitkRoi *          amitk_roi_new                       (AmitkRoiType type);


amitk_roi_set_color ()

void                amitk_roi_set_color                 (AmitkRoi *roi,
                                                         rgba_t color);


amitk_roi_set_isocontour ()

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);


amitk_roi_set_specify_color ()

void                amitk_roi_set_specify_color         (AmitkRoi *roi,
                                                         gboolean specify_color);


amitk_roi_set_type ()

void                amitk_roi_set_type                  (AmitkRoi *roi,
                                                         AmitkRoiType new_type);


amitk_roi_set_voxel_size ()

void                amitk_roi_set_voxel_size            (AmitkRoi *roi,
                                                         AmitkPoint voxel_size);


amitk_roi_type_get_name ()

const gchar *       amitk_roi_type_get_name             (const AmitkRoiType roi_type);


amitk_rois_get_max_min_voxel_size ()

amide_real_t        amitk_rois_get_max_min_voxel_size   (GList *objects);

Signal Details

The "roi-changed" signal

void                user_function                      (AmitkRoi *amitkroi,
                                                        gpointer  user_data)      : Run Last

amitkroi :

the object which received the signal.

user_data :

user data set when the signal handler was connected.

The "roi-type-changed" signal

void                user_function                      (AmitkRoi *amitkroi,
                                                        gpointer  user_data)      : Run Last

amitkroi :

the object which received the signal.

user_data :

user data set when the signal handler was connected.