/usr/include/m-inw.h is in libmdc2-dev 0.14.1-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* filename: m-inw.h *
* *
* UTIL C-source: Medical Image Conversion Utility *
* *
* purpose : m-inw.c header file *
* *
* project : (X)MedCon by Erik Nolf *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* $Id: m-inw.h,v 1.17 2015/12/22 13:59:30 enlf Exp $
*/
/*
Copyright (C) 1997-2016 by Erik Nolf
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef __M_INW_H__
#define __M_INW_H__
/****************************************************************************
D E F I N E S
****************************************************************************/
#define MDC_INW_VERS_HIGH 1 /* INW version 1.0 */
#define MDC_INW_VERS_LOW 0
#define MDC_INW_SIG (int)(0x789abcde) /* for identification of header */
/* scanner type */
#define EcatII 2
#define EcatIV 4
/* reconstruction methods */
#define reconFBP 'i'
#define reconMaxLikFV 'm'
#define reconMaxLik 'l'
#define reconMaxPos 'e'
#define reconALL "imle"
#define reconTEXT "Filtered Backprojection",\
"Maximum likelihood (Frank Vermeulen)",\
"Maximum likelihood (Tom De Backer)",\
"Maximum a Posteriori"
/* image headers */
typedef struct Head_start_t {
Int32 mark; /* should be HEADER_MARK */
Int16 version; /* high*256 + low */
Int16 size_header; /* whole header (in bytes) */
Int16 size_start; /* sizeof(Head_start_t) */
Int16 size_gen; /* sizeof(Head_gen_t) */
Int16 size_spec; /* sizeof(Head_spec_t) */
char reserved[10];
} MDC_INW_HEAD_START; /* current size: 24 */
#define MDC_INW_HEAD_START_SIZE 24
typedef struct Head_gen_t {
Int16 no; /* number of planes */
Int16 sizeX; /* number of columns */
Int16 sizeY; /* number of rows */
Int16 pixel_type; /* sizeof(pixel) */
/* for compatibility only 2 is allowed */
Int16 init_trans; /* initial translation (mm) */
Int16 dummy1; /* for alignment reasons only */
/* Note: We take the positive axis into the gantry !
This means, if the patient lies with his head into
the gantry, the head has higher translation offset
than his feet */
char day[12]; /* day of first scan eg. 04-AUG-89 */
Int32 time; /* seconds after midnight */
/* first scan or time activity measured */
float decay_cst; /* NOT half_life ! (discards log(2)) */
/* decay_cst = half_life / log(2) */
float pixel_size; /* sampling distance (mm) */
float max; /* scaled maximum of all images */
float min;
Int16 scanner; /* EcatII, EcatIV */
char reconstruction; /* reconFBP, reconMaxLik,... */
char recon_version; /* reconstruction version (0-99) */
char reserved[24];
} MDC_INW_HEAD_GEN; /* current size: 72 */
#define MDC_INW_HEAD_GEN_SIZE 72
typedef struct Head_spec_t {
Int32 time; /* time relative to gen.time (secs) */
float cal_cst; /* abs_activ(uCU/ml) = cal_cst*pix_val */
/* cal_cst = calibr_cst * decay_comp */
/* decay_comp = exp(time/decay_cst) */
Int32 max; /* maximum in plane */
Int32 min; /* minimum in plane */
Int16 trans; /* translation relative to gen.trans mm */
char reserved[6];
} MDC_INW_HEAD_SPEC; /* current size: 24 */
#define MDC_INW_HEAD_SPEC_SIZE 24
/****************************************************************************
F U N C T I O N S
****************************************************************************/
int MdcCheckINW(FILEINFO *fi);
char *MdcReadINW(FILEINFO *fi);
int MdcWriteHeadStart(FILEINFO *fi);
int MdcWriteHeadGen(FILEINFO *fi);
int MdcSkipHeadSpecs(FILEINFO *fi);
int MdcWriteHeadSpecs(FILEINFO *fi);
char *MdcWriteINW(FILEINFO *fi);
#endif
|