Skip to content

Instantly share code, notes, and snippets.

@stowler
Created April 16, 2013 17:45
Show Gist options
  • Save stowler/5397958 to your computer and use it in GitHub Desktop.
Save stowler/5397958 to your computer and use it in GitHub Desktop.
mm->vox integers per AFNI controller window OUTPUT
AFNI controller window OUTPUT
------------------------------------------------
Appears to pull existing integer voxel coordinates from internal integer-based
data structures. Doesn't need conversion from float to integer.
When the AFNI controller window is set to display voxel coordinates for the
current crosshair location (GUI "Set Coord Order"->"Voxel Indexes"), it displays
integer coordinates pulled from internal integer data structures.
from afni.c :
7224 STATUS("voxel indexes") ;
... (skip a bunch of stuff related to visible functionals)...
...
7247 } else {
7248 sprintf( buf , "index %d:\nvoxel x = %4d\nvoxel y = %4d\nvoxel z = %4d" ,
7249 ixyz , im3d->vinfo->i1 , im3d->vinfo->j2 , im3d->vinfo->k3 ) ;
7250 }
See ij, j2, and k3 in afni.h:
(im3d->vinfo->i1 per Three_D_View->AFNI_view_info->i1 )
239 typedef struct {
240 int i1 , j2 , k3 ; /* integer coordinates of current point */
241 float xi , yj , zk ; /* float (DICOM mm) coordinates (take priority) */
242
243 int i1_old , j2_old , k3_old ; /* for jumpback */
244
245 Boolean xhairs_show_montage , xhairs_periodic , xhairs_all ;
246 THD_ivec3 xhairs_ndown , xhairs_nup , xhairs_nskip ; /* montage crosshairs */
247 int time_index , top_index , time_on ;
248
249 int xhairs_orimask ; /* 31 Dec 1998 */
250
251 int anat_index , fim_index , thr_index ; /* 30 Nov 1997 */
252
253 Boolean crosshair_visible , inverted_pause ;
254 int crosshair_gap , crosshair_ovcolor , crosshair_gap_old ;
255
256 int view_type , /* one of the VIEW_ constants in 3ddata.h */
257 underlay_type ; /* one of the UNDERLAY_ constants above */
258
259 int sess_num , anat_num , func_num ; /* codes pointing to datasets */
260
261 XmString old_crosshair_label ;
262
263 Boolean func_visible , force_anat_wod , force_func_wod ,
264 pts_visible , show_voxind ;
265 int func_visible_count ;
266 float func_threshold , resam_vox ;
267 float func_thresh_top ; /* 23 Jul 1997 */
268 int func_resam_mode , anat_resam_mode , pts_color ;
269 int thr_resam_mode ; /* 09 Dec 1997 */
270 int thr_onoff ; /* 28 Jun 2007 */
271 int thr_olay1 ; /* 13 Aug 2010 */
272 int thr_sign ; /* 08 Aug 2007 */
273
274 /* 3/24/95: range data for conversion of pbar
275 values to thresholding values in the data */
276
277 Boolean use_autorange , use_posfunc ;
278 float fim_autorange , fim_range ;
279 XmString old_range_label , autorange_label ;
280
281 char anat_val[32] , func_val[32] , thr_val[32] ;
282
283 /** Feb 1998: stuff for the "receive" modules **/
284 /** Mar 1999: modified to allow for more than one receiver **/
285
286 AFNI_receiver **receiver ;
287 int num_receiver ;
288 int drawing_enabled , drawing_mode ;
289 Pixel drawing_pixel ;
290
291 int writeownsize ; /* 01 Aug 1999 */
292
293 int tempflag ; /* 15 Mar 2000: for quick communication of state */
294
295 int see_ttatlas ; /* 25 Jul 2001 */
296
297 int view_setter ; /* 20 Feb 2003 */
298
299 float func_pval ; /* 06 Feb 2004 */
300 float func_qval ; /* 23 Jan 2008 */
301
302 int stats_anat_ok, /* 29 Mar 2005: set in AFNI_range_label() */
303 stats_func_ok, /* to indicate if the sub-brick range */
304 stats_thresh_ok ; /* statistics are loaded properly */
305
306 int i1_icor , j2_icor , k3_icor; /* for InstaCorr -- 08 May 2009 */
307 float xi_icor , yj_icor , zk_icor ; /* DICOM coords -- 17 Mar 2010 */
308
309 float *th_sort; /* sorted values of overlay threshold */
310 int N_th_sort; /* number of values stored in th_sort */
311 char th_sortid[256]; /* indentifier of provenance of th_sort */
312 } AFNI_view_info ;
...
1066 typedef struct Three_D_View {
1067 int type , opened ;
1068 MCW_DC *dc ;
1069
1070 THD_session *ss_now ; /* session now being viewed */
1071 THD_3dim_dataset *anat_dset[MAX_LAST_VIEW_TYPE+1] , /* datasets now */
1072 *fim_dset [MAX_LAST_VIEW_TYPE+1] ; /* being viewed */
1073 THD_3dim_dataset *anat_now , *fim_now ; /* REALLY now being viewed */
1074
1075 AFNI_view_info *vinfo ; /* information about what's being viewed */
1076
1077 AFNI_fimmer_type *fimdata ; /* information about fimming */
1078
1079 FD_brick *b123_anat , *b231_anat , *b312_anat ; /* anat */
1080 FD_brick *b123_fim , *b231_fim , *b312_fim ; /* funcs */
1081 FD_brick *b123_ulay , *b231_ulay , *b312_ulay ; /* underlays */
1082
1083 MCW_imseq *s123 , *s231 , *s312 ; /* viewers */
1084 MCW_grapher *g123 , *g231 , *g312 ; /* graphs */
1085
1086 AFNI_widget_set *vwid ;
1087 char window_title[THD_MAX_NAME] ;
1088 int ignore_seq_callbacks ;
1089
1090 THD_dataxes *wod_daxes ; /* 02 Nov 1996 */
1091 THD_warp *anat_voxwarp , *fim_voxwarp ;
1092 int anat_wod_flag , fim_wod_flag ;
1093
1094 KILL_list kl ;
1095 XtPointer parent ;
1096
1097 int brand_new ; /* 07 Dec 2001 */
1098
1099 THD_warp *fim_selfwarp ; /* 27 Aug 2002 */
1100
1101 int dummied ; /* 27 Jan 2004 */
1102
1103 VEDIT_settings vedset ; /* 05 Sep 2006 */
1104 char *vedlabel ; /* 27 Mar 2007 */
1105 int vedskip ;
1106 int vednomask ; /* 01 Aug 2011 */
1107
1108 ICOR_setup *iset ; /* 05 May 2009 */
1109 ICALC_setup *icalc_setup ; /* 18 Sep 2009 */
1110 GICOR_setup *giset ; /* 22 Dec 2009 */
1111 /* record previous continuous color settings to reinstate later */
1112 int cont_bbox;
1113 int cont_pos_only ;
1114 int cont_autorange;
1115 float cont_range_fval;
1116 int cont_pbar_index, int_pbar_index;
1117 int first_integral;
1118 int cont_perc_thr; /* ZSS percentile thresholding. April 26 2012 */
1119 } Three_D_View ;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment