annotate README @ 2506:26b834cf2953

* removed GETTING_STARTED * updated ancient history in README and INSTALL.minc
author rotor <rotor>
date Sat, 27 Mar 2010 15:42:09 +0000
parents e9f228e8ee85
children f2d9bbd79b52
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2422
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
1 MINC - Medical Image NetCDF
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
2
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
3 INTRODUCTION
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
4 ------------
2422
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
5 The MINC file format is a highly flexible medical image file format
2506
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
6 built on the HDF5 generalized data format. The format is
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
7 simple, self-describing, extensible, portable and N-dimensional, with
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
8 programming interfaces for both low-level data access and high-level
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
9 volume manipulation. On top of the libraries is a suite of generic
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
10 image-file manipulation tools. The format, libraries and tools are
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
11 designed for use in a medical-imaging research environment : they are
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
12 simple and powerful and make no attempt to provide a pretty interface
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
13 to users.
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
14
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
15 Here's a list of some of the tools:
393
d0015f10d77e Initial revision
neelin <neelin>
parents:
diff changeset
16
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
17 * rawtominc, minctoraw, mincextract - format conversion
1581
c072a46c687d *** empty log message ***
stever <stever>
parents: 1519
diff changeset
18 * mincheader, mincdiff, mincinfo, minchistory - file information
c072a46c687d *** empty log message ***
stever <stever>
parents: 1519
diff changeset
19 * mincedit, minc_modify_header - header manipulation
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
20 * mincresample - arbitrary volume resampling
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
21 * mincreshape - extraction of volume sub-cubes, image flipping,
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
22 dimension re-ordering, type conversion
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
23 * mincconcat - concatenating or interleaving images from multiple
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
24 files
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
25 * mincmath - perform simple math on files
1455
ede652f278cc Added minccalc and mincstats.
neelin <neelin>
parents: 1339
diff changeset
26 * minccalc - perform more complicated math on files through an expression
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
27 * mincaverage - average minc files
1455
ede652f278cc Added minccalc and mincstats.
neelin <neelin>
parents: 1339
diff changeset
28 * mincstats - calculate statistics across voxels of a file
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
29 * minclookup - lookup table operations for arbitrary re-mappings of
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
30 intensities
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
31 * worldtovoxel, voxeltoworld - coordinate conversion
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
32 * xfmconcat, xfminvert - generalized transformation utilities
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
33 * mincview - simple image display using xv or ImageMagick
1581
c072a46c687d *** empty log message ***
stever <stever>
parents: 1519
diff changeset
34 * mincpik - generate picture from slice through volume
c072a46c687d *** empty log message ***
stever <stever>
parents: 1519
diff changeset
35
393
d0015f10d77e Initial revision
neelin <neelin>
parents:
diff changeset
36
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
37 Additional tools are available from the Montreal Neurological
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
38 Institute (MNI). These include register, a program designed for
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
39 manual, landmark-based volume registration using a tri-plane interface
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
40 that allows the user to roam simultaneously through two data volumes
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
41 plus the combined volume that overlays the data of the other two. Emma
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
42 is a minc interface to matlab (from The MathWorks) with functions to
2422
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
43 facilitate image processing and display. mni_autoreg provides automated
1519
239104d270e1 Tune up install docs
stever <stever>
parents: 1455
diff changeset
44 registration, both linear and nonlinear.
239104d270e1 Tune up install docs
stever <stever>
parents: 1455
diff changeset
45
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
46
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
47 GETTING MINC
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
48 ------------
1581
c072a46c687d *** empty log message ***
stever <stever>
parents: 1519
diff changeset
49 The minc package is available from
1023
020fee048187 Updated reference to ftp site.
neelin <neelin>
parents: 1015
diff changeset
50
2422
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
51 http://packages.bic.mni.mcgill.ca/tgz
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
52
2422
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
53 Minc requires that the NetCDF and HDF5 packages be built and installed first.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
54 It is available from the Unidata Program centre at
865
2888362cbaf9 Complete rewrite.
neelin <neelin>
parents: 614
diff changeset
55 the University Corporation for Atmospheric Research (unidata.ucar.edu).
393
d0015f10d77e Initial revision
neelin <neelin>
parents:
diff changeset
56
2422
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
57
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
58 SUPPORT FOR HDF5 "MINC 2.0" FORMAT FILES
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
59 ----------------------------------------
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
60
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
61 1.1 HDF5
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
62
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
63 This change requires that HDF5 must be installed before MINC can be
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
64 built. The latest version of HDF5 is 1.6.2. You can obtain HDF5
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
65 here:
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
66
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
67 http://hdf.ncsa.uiuc.edu/HDF5/release/obtain5.html
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
68
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
69 You should NOT need to become an HDF5 expert to use MINC 2.0.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
70 However, two tools included with HDF5 may prove useful, "h5dump" and
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
71 "h5ls". h5dump is roughly equivalent to netCDF's ncdump utility.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
72 There is no exact netCDF tool analogous to h5ls. h5ls is useful for
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
73 exploring and extracting bits of the HDF5 hierarchy.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
74
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
75 1.2 New command Line options
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
76
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
77 All MINC tools which produce output MINC files now take a "-2" option
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
78 which will tell the tool to output a MINC 2.0 format file. All MINC tools
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
79 also take a "-version" flag.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
80
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
81 1.3 Compatibility
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
82
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
83 To the extent possible, the core MINC tools should operate "correctly"
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
84 on MINC 1.0 and 2.0 files. There are a few notable exceptions.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
85 Scripts such as "mincdiff", "mincedit", and "mincheader" may not
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
86 work, or will produce odd results since they depend on the ASCII
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
87 format of the netCDF "ncdump" and "ncgen" utility. I'm open to
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
88 suggestions for the best way to handle this. We have an unfinished
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
89 "mincdump" tool which replaces "ncdump", but we do not yet have a
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
90 replacement for "ncgen".
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
91
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
92 1.4 Conversion
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
93
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
94 There is a new conversion utility called "mincconvert". This is just
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
95 a trivial library wrapper that can copy a file from the input to the
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
96 output while performing a conversion.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
97
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
98 2. REVISED ERROR MESSAGE HANDLING.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
99
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
100 I have somewhat revised the ways in which MINC decides when and how to
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
101 print error messages, with the hope to gradually improve the readability
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
102 and usefulness of these messages. In some cases I have probably been too
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
103 aggressive, and messages will now appear which really don't belong. Please
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
104 let me know which ones are most annoying, and I'll try to get rid of them.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
105
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
106 3. TENTATIVE ".mincrc" AND ENVIRONMENT VARIABLE SUPPORT
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
107
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
108 I've implemented this as a way to control certain behaviors of the library
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
109 which are not readily available through other means. These variables may
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
110 be defined either in your environment, or in the .mincrc file in your
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
111 home directory. The value in the environment should override the one in
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
112 .mincrc.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
113
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
114 Here's what exists so far:
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
115
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
116 # Force output files to MINC 2.0 format, regardless of the "-2" option.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
117 #
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
118 MINC_FORCE_V2 = {1, 0}
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
119
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
120 # Desired ZLIB compression level. Zero implies no compression, a value
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
121 # of 4 gives a good tradeoff of compression and performance.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
122 #
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
123 MINC_COMPRESS = {0..9}
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
124
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
125 # Desired HDF5 chunking dimension. This controls the size of the
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
126 # "hypercube" used by HDF5 to store the file. If set to zero, the
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
127 # file will not be stored in a chunked format, unless compression is
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
128 # enabled. The chunk size will automatically be reduced if it exceeds
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
129 # any actual dimension of the volume. If chunking is enabled
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
130 # automatically because of compression, the default chunk dimension is
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
131 # 32.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
132 #
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
133 MINC_CHUNKING = {0..N}
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
134
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
135 # Log file - path to the desirned output file for messages. The default
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
136 # is the standard error (stderr) stream. To redirect to standard output,
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
137 # set this variable to "stdout" or "-". Otherwise the variable is taken
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
138 # to be the path to the desired log file. If the path name begins with
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
139 # a '+' character, the log file should be appended rather than recreated.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
140 #
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
141 MINC_LOGFILE = [+]<pathname>|stdout|-
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
142
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
143 # Logging level. Not really useful yet, but intended to allow setting
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
144 # of 'verbosity' of messages. A value of zero would inhibit all but
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
145 # fatal messages, a value of 4 would allow debugging messages.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
146 #
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
147 MINC_LOGLEVEL = 0-4
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
148
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
149 4. NEW PROGRAMMING INTERFACE
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
150
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
151 4.1. New MINC 1.0 calls
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
152
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
153 A couple of new things have been added to libminc:
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
154
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
155 /* Returns a printable library version string */
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
156 const char * miget_version();
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
157
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
158 /* Appends "new_history" to the file's history attribute. */
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
159 int miappend_history(int fd, const char *new_history);
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
160
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
161 4.2. New MINC 2.0 calls
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
162
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
163 This is a new set of calls, defined in "minc2.h" and the assorted source
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
164 files found in the libsrc2 directory.
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
165
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
166 The general philosophy is to provide a higher level interface than "libminc",
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
167 but without some of the constraints and memory management of "volume_io".
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
168
2506
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
169
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
170 DOCUMENTATION
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
171 -------------
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
172
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
173 http://en.wikibooks.org/wiki/MINC
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
174
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
175
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
176 PROGRAMMING WITH THE MINC API
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
177 -----------------------------
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
178
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
179 1) NetCDF and HDF5 are basis, providing a C callable
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
180 library for accessing data structures in a file at a low-level.
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
181
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
182 2) The low-level MINC library is used to do medical-image specific
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
183 things. It provides some enhancements to NetCDF and HDF5
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
184 as well as image conversion routines for dealing with image pixel
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
185 value issues as well as image size and orientation. Documentation
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
186 consists of a programmer's guide and reference (minc_user.tex and
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
187 minc_reference.tex in the doc directory). Example C programs exist
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
188 in progs/mincexample.
2422
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
189
2506
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
190 3) A high-level C library called volume_io provides a Volume data
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
191 type, with functions like input_volume to give simple access to data
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
192 while handling issues of pixel range conversion and voxel-to-world
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
193 coordinate conversion. Documentation consists of a programmer's
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
194 reference volume_io/Documentation/volume_io.tex. Example programs
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
195 exist in volume_io/Testing.
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
196
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
197 The LaTeX documentation is not built by default. You can build these
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
198 documents using
2422
e9f228e8ee85 * merged WHATSNEW-2.0 into NEWS and README in readiness for MINC 2.1
rotor <rotor>
parents: 1581
diff changeset
199
2506
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
200 cd doc; make docs
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
201 cd volume_io/Documentation; make docs
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
202
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
203 latex and dvips are required.
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
204
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
205
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
206 Applications that use MINC alone need to #include <minc.h> and
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
207 link with "-lminc2 -lnetcdf -lhdf5 -lz -lm".
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
208
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
209 Applications built with VolumeIO need to #include <volume_io.h>
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
210 and link with "-lvolume_io2 -lminc2 -lnetcdf -lhdf5 -lz -lm".
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
211
26b834cf2953 * removed GETTING_STARTED
rotor <rotor>
parents: 2422
diff changeset
212