3 \section history History
5 2005-01-04 1.0.0 Vesa Oikonen, Calle Laakkonen, Riku Klén, Jarkko Johansson
6 Former libpet, the common PET C library, has been divided up in smaller
7 sublibraries that each handle a specific task. This library includes functions
8 utilised in image file input and output procedures.
10 2005-03-03 1.0.0 Jarkko Johansson
11 imgproc.[c/h] moved to libtpcimgp library
13 2005-04-05 1.0.1 (krs) Roman Krais
14 interfile.c added (for reading interfile headers)
16 2005-04-25 1.1.0 Jarkko Johansson
17 History and Readme files included in new print functions:
18 libtpcimgio_print_readme(FILE *fp);
19 libtpcimgio_print_history(FILE *fp);
20 libtpcimgio_print_dreadme(FILE *fp);
21 libtpcimgio_print_dhistory(FILE *fp);
22 libtpcimgio_print_build(FILE *fp);
23 in file libtpcimgio.c. Update the the Readme and History
26 Compiled in Windows with MinGW.
29 Minor changes in file sifio.c.
31 2005-08-01 1.1.1 CL/JJ
32 Changed image loading/writing functions fname to const,
33 and extern int VOL_TEST to int VOL_TEST.
36 imgWriteAnalyze() now writes only 1 frame at a time,
40 lambda2factor() now calculates correctly when removing
41 decay correction considering frame lengths.
44 imgReadAnalyze() sets img.isotopeHalflife,
45 if isotope is found in SIF.
48 Added function imgUnitId().
49 Fixed a timezone bug with ECAT7 files.
52 Changes in identification of isotope codes.
55 Additions in IMG structure, and subsequent changes in i/o functions.
56 Isotope and halflife related functions are relocated into libtpcmisc.
57 This library is now independent of libtpcimgp.
58 IMG min and max search functions are relocated here.
59 User_process_code is read/written with ECAT7 and ECAT6.3 files.
60 Patient_id is read/written with ECAT7 and ECAT6.3 files.
61 Study_description is read/written with ECAT7 and ECAT6.3 files.
62 X, y and z resolution is read/written with ECAT7 images.
63 Prompts and randoms (delayed) are read/written with ECAT7 and
64 ECAT6.3 sinograms and read from SIF with Analyze 7.5.
65 Changes in identifying and processing calibration units.
68 Addition in IMG structure.
69 Deleted imgmsg.h. Set IMG.statmsg using imgSetStatus().
75 Added ECAT matrix list functions and error messages.
76 ECAT 6.3 header print format changed.
79 Changes to make easier to write ECAT7 2D files.
82 Addition of functions for reading and writing ECAT and Analyze
83 format one frame at a time.
86 Added support for ECAT7 polar maps.
87 Information for polar map added to IMG struct.
89 2007-07-17 1.3.1 Harri Merisaari
90 Modified for optional ANSI compatibility.
93 Bug correction in setting error messages.
94 Bug correction in reading some too long header text fields.
97 Return value of localtime() is always checked.
100 Corrected a bug affecting versions 1.3.1 -1.3.3:
101 Analyze and ECAT files could have been mixed if in same folder.
104 Corrected a bug affecting frame-by-frame reading of
105 ECAT7 2D image files.
108 Image decay correction functions return error if frame times
110 Assumes that Analyze 7.5 images are corrected for decay when
111 that information is not found in header file.
114 Added function sifModerate().
117 Added function imgAllocateWithHeader().
120 Added functions ecat7EditMHeader(), ecat7EditSHeader(),
121 ecat7EditVHeader(), imgSetUnit(), and ecat7PrintSubheader().
124 Default ECAT backup extension changed to .bak.
127 Accepts certain Analyze formats with 32 bit pixel values.
130 Accepts more Analyze formats with 32 bit pixel values (PVElab).
133 Bug correction in reading ECAT 6.3 files.
136 Added definitions for Siemens Inveon in img.h.
137 Added micropet.c and .h for reading Siemens Inveon images.
140 Changes in micropet.c and .h to allow reading CT images.
143 Changes in sif.c to allow SIF without prompts and randoms.
146 Change in micropet.c reading pixel z size.
149 Added function imgSmoothMax().
152 Tiny update in img_ana.c.
155 Time zone is corrected in imgSetEcat7MHeader().
158 imgUnitFromEcat7() tries more to identify units.
161 ECAT7 main header field patient_birth_date is read correctly
162 whether is is in documented YYYYMMDD format or as seconds from
166 Bug fixes in reading micropet images.
169 Label unitless was previously not written in main header
170 when IMG data is written in ECAT7 format.