m-ecat man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

M-ECAT(4)							     M-ECAT(4)

NAME
       m-ecat - CTI ECAT 6/7 medical image format (MedCon)

DESCRIPTION
  This	is  a  painful format. You should check the source code for more info.
  There is only read support for ECAT 7. Below you will find the specs for the
  ECAT	6 format. The ECAT 7 format differs a little in header definitions and
  there is only one matrix entry per volume, while for ECAT 6 files  there  is
  one  matrix  entry  per  plane. All ECAT 6 image data is written in one file
  with `.img' extension.

    -----------------------------------------------------------------------
			     Important Definitions
    -----------------------------------------------------------------------

  typedef struct mat_main_header {
	  char		  original_file_name[20];
	  Int16		  sw_version;
	  Int16		  data_type;
	  Int16		  system_type;
	  Int16		  file_type;
	  char		  node_id[10];
	  Int16		  scan_start_day,
			  scan_start_month,
			  scan_start_year,
			  scan_start_hour,
			  scan_start_minute,
			  scan_start_second;
	  char		  isotope_code[8];
	  float		  isotope_halflife;
	  char		  radiopharmaceutical[32];
	  float		  gantry_tilt,
			  gantry_rotation,
			  bed_elevation;
	  Int16		  rot_source_speed,
			  wobble_speed,
			  transm_source_type;
	  float		  axial_fov,
			  transaxial_fov;
	  Int16		  transaxial_samp_mode,
			  coin_samp_mode,
			  axial_samp_mode;
	  float		  calibration_factor;
	  Int16		  calibration_units,
			  compression_code;
	  char		  study_name[12],
			  patient_id[16],
			  patient_name[32],
			  patient_sex,
			  patient_age[10],
			  patient_height[10],
			  patient_weight[10],
			  patient_dexterity,
			  physician_name[32],
			  operator_name[32],
			  study_description[32];
	  Int16		  acquisition_type,
			  bed_type,
			  septa_type;
	  char		  facility_name[20];
	  Int16		  num_planes,
			  num_frames,
			  num_gates,
			  num_bed_pos;
	  float		  init_bed_position,
			  bed_offset[15],
			  plane_separation;
	  Int16		  lwr_sctr_thres,
			  lwr_true_thres,
			  upr_true_thres;
	  float		  collimator;
	  char		  user_process_code[10];
	  Int16		  acquisition_mode;

  } Main_header;

  #define MH_64_SIZE 446

  typedef struct mat_scan_subheader {
	  Int16		  data_type,
			  dimension_1,
			  dimension_2,
			  smoothing,
			  processing_code;
	  float		  sample_distance,
			  isotope_halflife;
	  Int16		  frame_duration_sec;
	  Int32		  gate_duration,
			  r_wave_offset;
	  float		  scale_factor;
	  Int16		  scan_min,
			  scan_max;
	  Int32		  prompts,
			  delayed,
			  multiples,
			  net_trues;
	  float		  cor_singles[16],
			  uncor_singles[16],
			  tot_avg_cor,
			  tot_avg_uncor;
	  Int32		  total_coin_rate,
			  frame_start_time,
			  frame_duration;
	  float		  loss_correction_fctr;
	  Int32		  phy_planes[8];

  } Scan_subheader;

  #define SSH_64_SIZE 236

  typedef struct mat_image_subheader {
	  Int16		  data_type,
			  num_dimensions,
			  dimension_1,
			  dimension_2;
	  float		  x_origin,
			  y_origin,
			  recon_scale,	  /* Image ZOOM from reconstruction */
			  quant_scale;	  /* Scale Factor */
	  Int16		  image_min,
			  image_max;
	  float		  pixel_size,
			  slice_width;
	  Int32		  frame_duration,
			  frame_start_time;
	  Int16		  slice_location,
			  recon_start_hour,
			  recon_start_minute,
			  recon_start_sec;
	  Int32		  gate_duration;
	  Int16		  filter_code;
	  Int32		  scan_matrix_num,
			  norm_matrix_num,
			  atten_cor_matrix_num;
	  float		  image_rotation,
			  plane_eff_corr_fctr,
			  decay_corr_fctr,
			  loss_corr_fctr,
			  intrinsic_tilt ;
	  Int16		  processing_code,
			  quant_units,
			  recon_start_day,
			  recon_start_month,
			  recon_start_year;
	  float		  ecat_calibration_fctr,
			  well_counter_cal_fctr,
			  filter_params[6];
	  char		  annotation[40];

  } Image_subheader;

  #define ISH_64_SIZE 172

  typedef struct mat_norm_subheader {
	  Int16		  data_type,
			  dimension_1,
			  dimension_2;
	  float		  scale_factor;
	  Int16		  norm_hour,
			  norm_minute,
			  norm_second,
			  norm_day,
			  norm_month,
			  norm_year;
	  float		  fov_source_width;
	  float		  ecat_calib_factor;

  } Norm_subheader;

  #define NSH_64_SIZE 30

  typedef struct mat_attn_subheader {
	  Int16		  data_type,
			  attenuation_type,
			  dimension_1,
			  dimension_2;
	  float		  scale_factor,
			  x_origin,
			  y_origin,
			  x_radius,
			  y_radius,
			  tilt_angle,
			  attenuation_coeff,
			  sample_distance;

  } Attn_subheader;

  #define ASH_64_SIZE 40

  -----------------------------------------------------------------------

  What does the format support or not support:

  ===========================================================================
  Item		  Supported				Not Supported
  ===========================================================================
  Color Map	: grayscale				      -
  File Endian	: big					    little
  Pixeltypes	: VAX Int16 (write)  | All (read)	      -
  ===========================================================================
  Scaling factors  : quantify & calibrate factors/image	 are supported
  ---------------------------------------------------------------------------
  Dimensions/Image : different dimensions for each image are NOT supported
  ---------------------------------------------------------------------------
  Pixeltypes/Image : different pixeltypes for each image are NOT supported
  ===========================================================================

NOTES
  The MedCon program also supports the reading of  sinogram,  attenuation  and
  normalization	 files for conversion purposes but it does not support writing
  those file types. In fact, they will be considered as reconstructed data!

  The format supports more pixeltypes. The reason for our restriction of writ‐
  ing  only  the Int16 type was our ECAT software that only supports the Int16
  type.

  We consider three kinds of images (planes) in an ECAT file:

     (1) plain pixel values [no unit]		   (ppv = ppv)
	  - the planes/images are NOT normalized

     (2) quantified  values [counts/second/pixel]  (qpv = ppv * quant_scale)
	  - the planes/images are normalized

     (3) calibrated  values [uCi/ml]		   (cpv = qpv * calibr_fctr)
	  - the planes/images are normalized

  The float values in the header are stored as VAX format.

FILES
  /usr/local/xmedcon/source/m-ecat64.h	    The header file.
  /usr/local/xmedcon/source/m-ecat64.c	    The source file.
  /usr/local/xmedcon/source/m-matrix64.h    CTI header file.
  /usr/local/xmedcon/source/m-matrix64.c    CTI source file.

SEE ALSO
  medcon(1), xmedcon(1), xmedcon-config(1)

  m-acr(4), m-anlz(4), m-gif(4), m-inw(4), m-intf(4)

  medcon(3)

AUTHOR
  (X)MedCon project was originally written by Erik Nolf (eNlf) for the	former
  PET-Centre at Ghent University (Belgium).

  e-mail:   enlf-at-users.sourceforge.net   www:   http://xmedcon.sourceforge.net

								     M-ECAT(4)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net