Details
AMITK_STUDY_VIEW_CENTER()
#define AMITK_STUDY_VIEW_CENTER(stu) (amitk_space_s2b(AMITK_SPACE(stu), AMITK_STUDY(stu)->view_center))
AMITK_STUDY_VIEW_THICKNESS()
#define AMITK_STUDY_VIEW_THICKNESS(stu) (AMITK_STUDY(stu)->view_thickness)
AMITK_STUDY_ZOOM()
#define AMITK_STUDY_ZOOM(stu) (AMITK_STUDY(stu)->zoom)
AMITK_STUDY_FOV()
#define AMITK_STUDY_FOV(stu) (AMITK_STUDY(stu)->fov)
AMITK_STUDY_VIEW_START_TIME()
#define AMITK_STUDY_VIEW_START_TIME(stu) (AMITK_STUDY(stu)->view_start_time)
AMITK_STUDY_VIEW_DURATION()
#define AMITK_STUDY_VIEW_DURATION(stu) (AMITK_STUDY(stu)->view_duration)
AMITK_STUDY_CREATION_DATE()
#define AMITK_STUDY_CREATION_DATE(stu) (AMITK_STUDY(stu)->creation_date)
AMITK_STUDY_FILENAME()
#define AMITK_STUDY_FILENAME(stu) (AMITK_STUDY(stu)->filename)
AMITK_STUDY_VOXEL_DIM()
#define AMITK_STUDY_VOXEL_DIM(stu) (AMITK_STUDY(stu)->voxel_dim)
AMITK_STUDY_VOXEL_DIM_VALID()
#define AMITK_STUDY_VOXEL_DIM_VALID(stu) (AMITK_STUDY(stu)->voxel_dim_valid)
AMITK_STUDY_FUSE_TYPE()
#define AMITK_STUDY_FUSE_TYPE(stu) (AMITK_STUDY(stu)->fuse_type)
AMITK_STUDY_VIEW_MODE()
#define AMITK_STUDY_VIEW_MODE(stu) (AMITK_STUDY(stu)->view_mode)
AMITK_STUDY_CANVAS_VISIBLE()
#define AMITK_STUDY_CANVAS_VISIBLE(stu, canvas) (AMITK_STUDY(stu)->canvas_visible[canvas])
AMITK_STUDY_CANVAS_TARGET()
#define AMITK_STUDY_CANVAS_TARGET(stu) (AMITK_STUDY(stu)->canvas_target)
AMITK_STUDY_CANVAS_ROI_WIDTH()
#define AMITK_STUDY_CANVAS_ROI_WIDTH(stu) (AMITK_STUDY(stu)->canvas_roi_width)
AMITK_STUDY_CANVAS_LINE_STYLE()
#define AMITK_STUDY_CANVAS_LINE_STYLE(stu) (AMITK_STUDY(stu)->canvas_line_style)
AMITK_STUDY_CANVAS_FILL_ROI()
#define AMITK_STUDY_CANVAS_FILL_ROI(stu) (AMITK_STUDY(stu)->canvas_fill_roi)
AMITK_STUDY_CANVAS_LAYOUT()
#define AMITK_STUDY_CANVAS_LAYOUT(stu) (AMITK_STUDY(stu)->canvas_layout)
AMITK_STUDY_CANVAS_MAINTAIN_SIZE()
#define AMITK_STUDY_CANVAS_MAINTAIN_SIZE(stu) (AMITK_STUDY(stu)->canvas_maintain_size)
AMITK_STUDY_CANVAS_TARGET_EMPTY_AREA()
#define AMITK_STUDY_CANVAS_TARGET_EMPTY_AREA(stu) (AMITK_STUDY(stu)->canvas_target_empty_area)
AMITK_STUDY_PANEL_LAYOUT()
#define AMITK_STUDY_PANEL_LAYOUT(stu) (AMITK_STUDY(stu)->panel_layout)
AMITK_STUDY_LINE_PROFILE()
#define AMITK_STUDY_LINE_PROFILE(stu) (AMITK_STUDY(stu)->line_profile)
enum AmitkFuseType
typedef enum {
AMITK_FUSE_TYPE_BLEND,
AMITK_FUSE_TYPE_OVERLAY,
AMITK_FUSE_TYPE_NUM
} AmitkFuseType;
struct AmitkStudy
struct AmitkStudy {
AmitkObject parent;
gchar * creation_date; /* when this study was created */
/* canvas view parameters */
AmitkPoint view_center; /* wrt the study coordinate space */
amide_real_t view_thickness;
amide_time_t view_start_time;
amide_time_t view_duration;
amide_real_t zoom;
amide_real_t fov; /* field of view, in percent */
AmitkFuseType fuse_type;
AmitkViewMode view_mode;
gboolean canvas_visible[AMITK_VIEW_NUM];
gboolean canvas_target; /* target on/off */
/* canvas preferences */
gint canvas_roi_width;
GdkLineStyle canvas_line_style;
gboolean canvas_fill_roi;
AmitkLayout canvas_layout;
gboolean canvas_maintain_size;
gint canvas_target_empty_area; /* in pixels */
AmitkPanelLayout panel_layout;
/* stuff calculated when file is loaded and stored */
amide_real_t voxel_dim; /* prefered voxel/pixel dim, canvas wants this info */
gboolean voxel_dim_valid;
/* stuff that doesn't need to be saved */
AmitkLineProfile * line_profile;
gchar * filename; /* file name of the study */
};
struct AmitkStudyClass
struct AmitkStudyClass {
AmitkObjectClass parent_class;
void (* filename_changed) (AmitkStudy * study);
void (* thickness_changed) (AmitkStudy * study);
void (* time_changed) (AmitkStudy * study);
void (* canvas_visible_changed) (AmitkStudy * study);
void (* view_mode_changed) (AmitkStudy * study);
void (* canvas_target_changed) (AmitkStudy * study);
void (* voxel_dim_or_zoom_changed) (AmitkStudy * study);
void (* fov_changed) (AmitkStudy * study);
void (* fuse_type_changed) (AmitkStudy * study);
void (* view_center_changed) (AmitkStudy * study);
void (* canvas_roi_preference_changed) (AmitkStudy * study);
void (* canvas_general_preference_changed) (AmitkStudy * study);
void (* canvas_target_preference_changed) (AmitkStudy * study);
void (* canvas_layout_preference_changed) (AmitkStudy * study);
void (* panel_layout_preference_changed) (AmitkStudy * study);
};
amitk_study_new ()
AmitkStudy * amitk_study_new (AmitkPreferences *preferences);
amitk_study_set_filename ()
void amitk_study_set_filename (AmitkStudy *study,
const gchar *new_filename);
amitk_study_set_creation_date ()
void amitk_study_set_creation_date (AmitkStudy *study,
const gchar *new_date);
amitk_study_set_view_thickness ()
void amitk_study_set_view_thickness (AmitkStudy *study,
const amide_real_t new_thickness);
amitk_study_set_view_center ()
void amitk_study_set_view_center (AmitkStudy *study,
const AmitkPoint new_center);
amitk_study_set_view_start_time ()
void amitk_study_set_view_start_time (AmitkStudy *study,
const amide_time_t new_start);
amitk_study_set_view_duration ()
void amitk_study_set_view_duration (AmitkStudy *study,
const amide_time_t new_duration);
amitk_study_set_fuse_type ()
void amitk_study_set_fuse_type (AmitkStudy *study,
const AmitkFuseType new_fuse_type);
amitk_study_set_view_mode ()
void amitk_study_set_view_mode (AmitkStudy *study,
const AmitkViewMode new_view_mode);
amitk_study_set_canvas_visible ()
void amitk_study_set_canvas_visible (AmitkStudy *study,
const AmitkView view,
const gboolean visible);
amitk_study_set_canvas_target ()
void amitk_study_set_canvas_target (AmitkStudy *study,
const gboolean always_on);
amitk_study_set_canvas_roi_width ()
void amitk_study_set_canvas_roi_width (AmitkStudy *study,
gint roi_width);
amitk_study_set_canvas_line_style ()
void amitk_study_set_canvas_line_style (AmitkStudy *study,
const GdkLineStyle line_style);
amitk_study_set_canvas_fill_roi ()
void amitk_study_set_canvas_fill_roi (AmitkStudy *study,
const gboolean fill_roi);
amitk_study_set_canvas_layout ()
void amitk_study_set_canvas_layout (AmitkStudy *study,
const AmitkLayout layout);
amitk_study_set_canvas_maintain_size ()
void amitk_study_set_canvas_maintain_size
(AmitkStudy *study,
const gboolean maintain_size);
amitk_study_set_canvas_target_empty_area ()
void amitk_study_set_canvas_target_empty_area
(AmitkStudy *study,
gint target_empty_area);
amitk_study_recover_xml ()
AmitkStudy * amitk_study_recover_xml (const gchar *study_filename,
AmitkPreferences *preferences);
amitk_study_load_xml ()
AmitkStudy * amitk_study_load_xml (const gchar *study_filename);
amitk_fuse_type_get_name ()
const gchar * amitk_fuse_type_get_name (const AmitkFuseType fuse_type);
amitk_view_mode_get_name ()
const gchar * amitk_view_mode_get_name (const AmitkViewMode view_mode);