source: trunk/CHANGES @ 1178

Last change on this file since 1178 was 1178, checked in by MatthewWhiting, 11 years ago

Various minor updates to the documentation

File size: 55.3 KB
Line 
1Duchamp version 1.3 (...)
2-------------------------
3
4New features:
5
6* New source parameters:
7
8  # Each source now has a measurement of the major & minor axis sizes,
9    along with the position angle of the major axis. The sizes are the
10    full-width at half maximum, measured from the moment-0 map. These
11    now appear in the catalogue and in the spectral plots, with the
12    ellipse drawn on the moment map cutout in the spectral plots. The
13    old measurements of w_RA & w_DEC are still made and included in
14    the full catalogue, but are no longer reported in the smaller
15    catalogue printed to screen (nor in the XML/VOTable output).
16
17  # Each source also now has a measurement of the error on the
18    integrated and total fluxes. This is calculated from summing in
19    quadrature the statistical noise on each detected voxel. This is
20    from a request by Sara Shakouri.
21
22* Output files - new types and changes to the way they are written:
23
24  # Ability to create CASA region format files showing the location of
25    the detected sources. This is analogous to the Karma annotation
26    files or DS9 region files, for use with the casa viewer, but can
27    also be imported into casapy.
28
29  # Ability to save baseline values to a FITS file (in the same way as
30    for the reconstructed or smoothed array).
31
32  # Ability to save the moment-0 mask to a FITS file (that is, a mask
33    indicating which spatial pixels form part of the moment-0 map).
34
35  # There is an improved way to store the detected pixels for later
36    re-use. While previously the detected pixels were written as scans
37    to the logfile, and then read in when the usePrevious flag was
38    set, we now write the scans and other metadata to a binary
39    catalogue that can be read in again. Writing as a binary file
40    leads to much better compression of the data, particularly when
41    combined with the run-length encoding. It is anticipated future
42    tools will be provided to allow additional interaction with these
43    binary catalogues.
44
45  # There are slight changes to the format of the ASCII catalogues,
46    where lines not containing sources are prefixed with a comment
47    character '#'. This will facilitate their use in other software.
48
49* There is a new command-line parameter, -t THRESH, which specifies
50  the flux threshold for searching. It is designed to be used with the
51  -f option, as a quick way of searching a FITS image to a specified
52  flux level.
53
54Bug fixes:
55
56* A bug in the spatial smoothing has been fixed. The mask was being
57  interpreted incorrectly, so that no valid pixels were getting
58  smoothed.
59
60* The WCS for the moment-0 FITS cube has been fixed (specifically, the
61  axis names).
62
63* When usePrevious was used, the behaviour in previous versions was to
64  always write individual spectra. This is now controlled by a new
65  parameter flagPlotIndividualSpectra.
66
67* Minor improvements to the output when verbose=false.
68
69* Improvements to the Makefile, so that header files from a
70  previously-installed version of Duchamp do not get used instead of
71  those from the current version.
72
73* The vertical range for the spectral plots now take into account the
74  baseline and reconstructed/smoothed arrays as well (outside of any
75  MW range, of course).
76
77Other
78
79* The code-base for reading from and writing to FITS files has been
80  overhauled and streamlined. It can now be found in the FitsIO
81  directory.
82
83* The User Guide has been slightly re-ordered to provide more explicit
84  information about the source parameters.
85
86
87Duchamp version 1.2.2 (2012/10/29)
88----------------------------------
89
90Bug fixes:
91
92* The reading of reconstructed & smoothed arrays in the case of large
93  (>2GB) cubes has been improved. While the most recent versions of
94  cfitsio were able to handle these, earlier versions would result in
95  a segementation fault using the previous interface. An alternative
96  interface has been implemented that avoids these faults, even for
97  the older cfitsio libraries.
98
99* A bug affecting the writing of FITS mask files (apparently for the
100  case of flagging by the object number) has been fixed.
101
102* The moment map occasionally failed if sources lay spatially within
103  the blank pixel region of the first channel. This check has been
104  removed and the moment map should be produced successfully in all
105  situations.
106
107Other:
108
109* The UCDs used in the VOTable catalogue output have been
110  updated. Several of these were shared between different columns, and
111  so they have been changed so that each UCD is unique to one
112  column. The column ID strings have been updated for clarity.
113
114* The determination of default output image filenames has been
115  improved -- it previously assumed the input filename ended in
116  '.fits', but this is no longer the case.
117
118Duchamp version 1.2.1 (2012/10/09)
119----------------------------------
120
121New feature:
122
123* Duchamp can now produce region files to annotate images displayed in
124  SAOImage DS9. There are new parameters flagDS9 and ds9File that work
125  in the same way as the Karma annotation file parameters. The region
126  files can also be displayed in (at least some versions of)
127  casaviewer.
128
129* There is a new script to fix occasional problems with the
130  automatically-detected Makefile, and the verification script has
131  been updated and improved.
132
133Bug fixes:
134
135* The main bug fix for this release corrects a problem with the
136  velocity width measurements made when searching for negative
137  detections. It was possible to get very small (and incorrect) widths
138  in some cases - this was due to the integrated spectrum not being
139  inverted correctly.
140
141* In the case of smoothing, the stats of the full cube that were being
142  reported in the output files were actually those of the un-smoothed
143  (input cube). This only affected the output files, not the detection
144  process itself.
145
146* The units were not being reported in the VOTable. This has been
147  fixed.
148
149* The UCDs for the spectral parameters in the VOTable were not being
150  adapted to the user requests, so didn't always match the types of
151  the parameters. All should be consistent now.
152
153Other changes:
154
155* The codebase relating to the creation of and writing to output files
156  (results, logs, annotation, VOTables) has been overhauled, with a
157  cleaner interface. Most of this code is in the new subdirectory
158  src/Outputs, to where the columns code has been moved as well.
159
160  This was instigated by ASKAP/Selavy development, but also allowed
161  the expansion of output formats to include DS9 region files. No
162  change to the user should be visible, but anyone using the software
163  will notice differences. Please get in touch if changes are
164  difficult to follow.
165
166Duchamp version 1.2 (2012/08/08)
167--------------------------------
168
169Key changes:
170
171* The way the wavelet reconstruction is done in the presence of BLANK
172  voxels is slightly different, specifically when there were BLANK
173  voxels on the edge. While BLANK voxels are always ignored by the
174  reconstruction (and left in place), the previous approach dealt with
175  BLANKS on the edge by moving the effective edge of the image inwards
176  until the first non-blank voxel. This meant that the size of the
177  dimensions used to determine the number of scales, and the location
178  where boundary reflections took place where different to the input
179  image size.
180
181  However, this meant that BLANK voxels on the edge were treated
182  differently to those not on the edge, so this inconsistency was
183  removed. The full image dimensions are always used to calculate the
184  number of scales, and reflections (which is how the reconstruction
185  deals with the boundaries) will occur at the actual image edges.
186
187  If your data has this property (BLANK pixels at the image
188  boundaries), then any reconstruction will be affected (most likely
189  only in a small way) and potentially any subsequent searching. You
190  are advised to check this (for instance by saving the results of the
191  resonstruction from 1.1.13 and 1.2 and comparing).
192
193* The way the spectral world coordinate system is dealt with has been
194  improved. Previously Duchamp tried to convert to a velocity axis,
195  and got a bit grumpy if that didn't work well. Now it will express
196  the spectral units in the axis type indicated by the FITS
197  header. Duchamp will also allow you to change this type by providing
198  an appropriate WCS type as an input parameter. You may also provide
199  a rest frequency in the parameter file and this will be used to
200  calculate velocities. And, as before, you can provide specific units
201  for the spectral quantities to be converted into.
202
203* Since v1.1.13 was released, the journal paper describing Duchamp has
204  been published. It can be found at MNRAS 421, 3242 (2012), or
205  http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2966.2012.20548.x/full. It
206  includes descriptions of the various algorithms used for Duchamp, as
207  well as some indicative comparisons of the relative completeness &
208  reliability. Please cite this paper when describing Duchamp.
209
210Other new features:
211
212* The default value of snrCut has changed from 3 to 5. This is
213  espeically important if you use the -f option, but also if you don't
214  provide snrCut in your parameter file.
215
216* The XML VOTable output now includes a more complete list of
217  parameters, matching the output given in text form in the results &
218  log output files. Only those parameters affecting the results are
219  included - things like the output file names and so on are left out.
220
221* The minVoxels parameter is now adjusted to be at least (minPix +
222  minChannels - 1). If it is changed, a warning message is triggered.
223
224* The warning/error reporting has been overhauled, with an improved
225  interface for developers. Also, some ERROR instances that previously
226  resulted in the program terminating now allow it to continue
227  (provided that is possible given the error).
228
229* It is now possible to give the convergence criterion for the wavelet
230  reconstruction via the parameter reconConvergence. When the relative
231  change in standard deviation of the residuals from the
232  reconstruction falls below this value, the a trous algorithm stops
233  iterating.
234
235* The way one-dimensional arrays were dealt with was unsatisfactory,
236  both with the way positions were registered and the format of the
237  graphical output. Improvements have been made such that a 1D data
238  structure is assumed to be a spectrum, and so positions in the
239  spectrum are reported as z-pixels (or the equivalent world
240  coordinate). Instead of a 2D moment map, the X-windows display will
241  show the spectrum with all detected pixels plus the final list of
242  detections highlighted, along with the detection and growth
243  thresholds. This plot will also be written to the "detectionMap"
244  image.
245
246* All spectral plots will now show the detection (and growth, if
247  applicable) thresholds when plotting the peak flux spectrum.
248
249* Accessing FITS files when a subsection string is provided has been
250  streamlined. The cfitsio package, which handles the FITS access,
251  creates a temporary file containing this image section, and this
252  meant the previous approach was slow, particularly for large
253  files/sections. Now the file is only opened once and the overhead of
254  creating the temporary file is only encountered once.
255
256* Several aspects of the processing & output did not handle a
257  non-existent WCS well. This has been improved, so that all stages of
258  execution will proceed without errors.
259
260Bug fixes:
261
262* The absence of a BLANK keyword when trimming will now not trigger a
263  failure, only a warning message.
264
265* The flux unit conversion (eg. from Jy/beam to mJy/beam) was not
266  being applied correctly when an existing reconstructed or smoothed
267  array was being read in. This is now applied properly.
268
269* When saving reconstructed or smoothed arrays, the data type is now
270  set to FLOAT, so that the correct values are written (and
271  subsequently read in). The previous version was potentially saving
272  to a FITS file with integer data type (this depended on the type of
273  the input array). In this case, the full precision of data values
274  would not be preserved, so reading back in and doing an identical
275  search could yield different sources.
276
277* For certain cases, the reconstruction attempted to use a very large
278  number of scales. This has been fixed.
279
280* The maximum scale for the reconstruction was not always being
281  applied. The scale ranges are now enforced for all types of
282  reconstructions.
283
284* When saving a mask image while using a subsection of a cube, the
285  offsets for the subsection were not being accounted for
286  correctly. This is now fixed.
287
288* The detection map plots were not recording pixels added from the
289  growing stage. This has been fixed.
290
291* The RA & Dec now have appropriate precision, rather than an
292  arbitrary 2 decimal places on the seconds value. The RA will be one
293  decimal place more than the Dec, and they will reflect the degree of
294  precision in the image pixels.
295
296* A number of data type conversions (typically ints to floats) led to
297  errors in some calculations, such as WCS conversions. Care has been
298  taken to make sure all indexing is done appropriately with no
299  overflow, and that all conversions (where necessary) are done
300  appropriately.
301
302* It was possible to get world positions looking like 11:59:60.0! Not
303  any more.
304
305* Reading previous detections from the log file (via the use of the
306  usePrevious parameter) did result in error messages due to slightly
307  incompatible formats. These have been fixed, and all graphical
308  output should work properly.
309
310* When using a spectral search, having a blank pixel in the first
311  channel could lead to that entire spectrum being ignored, leading to
312  inconsistent results between spectral and spatial searches. This
313  issue has been fixed, with both types of searches returning the same
314  catalogue.
315
316
317Code base development notes:
318
319* Most instances of integer overflow due to insufficient precision
320  have been tracked down - many of these were indexing variables of
321  type int, which have been changed to size_t.
322
323* Importantly, for code interfacing with the duchamp::Cube and related
324  classes, axisDim is now an array of size_t elements, rather than
325  long.
326
327* Object3D now carries its spatial map with it, rather than
328  calculating it on the fly when requested. This saves a lot of
329  unnecessary computational effort.
330
331* The warning/error interface has improved, making use of C++
332  exception handling. This should be compatible with external logging
333  infrastructure (such as log4cxx).
334
335* The interface to the FitsHeader & WCS structures for external code
336  has been improved, so that the WCS can be set up via function calls.
337
338
339
340Duchamp version 1.1.13 (2011/04/10)
341-------------------------------------
342
343Bug fixes:
344
345* The median statistics calculations had a bug in the test for whether
346  the array under consideration was of even size. The correction for
347  this can mean small differences in the resulting values. This can
348  flow through to calculated detection thresholds - please check this
349  with your data if you use this mode!
350
351* The reconstruction code had a bug where the incorrect number of
352  scales was being used. This occurred when the blank pixel flag was
353  set, and when the spectral dimension was smaller than both the
354  spatial dimensions.
355
356Other:
357
358* The default value of the blank pixel flag has been set to false,
359  rather than true. For Duchamp, this should not matter, as it is set
360  when the FITS file is read in. For external code using, for
361  instance, the reconstruction algorithms, this default may be
362  important. Having it true was contributing to the second bug listed
363  above. It also makes more sense for it to be false unless explicitly
364  set in some way.
365
366* The reconstruction code has been streamlined a little, reducing its
367  memory impact and using more appropriate variable types
368  (eg. unsigned ints instead of ints and so forth).
369
370* For those who care about the actual code base, the statistics
371  functions have been expanded, and separated from getStats.cc into
372  "normal" and "robust" versions.
373
374
375Duchamp version 1.1.12 (2011/03/18)
376-------------------------------------
377
378Bug fixes:
379
380* The velocity width calculations had a bug that occasionally led to
381  very large values. The widths are calculated using the integrated
382  spectrum, using a threshold relative to its peak. In v.1.1.10 and
383  1.1.11, however, the peak was searched for over the entire spectral
384  range, rather than just the range for the current object. This led
385  to spurious values. This has been fixed, so that the peak is only
386  searched for within the detected ranage of the object.
387
388* Both the pixel and statistics subsections are now more carefully
389  examined, with errors reported if there are no valid pixels in the
390  pixel subsection, or if the statistics subsection does not intersect
391  with the pixel subsection.
392
393Other:
394
395* The configure script has been slightly improved so that the pgsbox
396  library is only added if PGPlot has been enabled - this is
397  particularly necessary with the slightly changed build procedure for
398  recent wcslib versions.
399
400* In a related note, one file - momentMap.cc - had some #include
401  statements that failed when PGPlot (and hence pgsbox in WCSLIB) was
402  not enabled. These were actually unnecesssary and have been removed.
403
404* There is a new input parameter - flagPlotSpectra - that allows the
405  user to turn off the production of the spectral plots. It defaults
406  to true (meaning the plots are produced).
407
408
409Duchamp version 1.1.11 (2011/03/01)
410-------------------------------------
411
412Improvements:
413
414* The largest changes in this release involved improving the
415  efficiency of the code, resulting in further speed-ups. The code
416  affected was the low-level object-handling code, with the merging
417  stages in particular showing good speed-ups.
418
419* The default value for the beam size, when the beam parameters are
420  not in the FITS header, has been dropped. Now the default behaviour
421  is to simply not make any beam corrections if the beam is not
422  specified by either the FITS file or the input parameters. Thanks to
423  Tobias Westemeier for the suggestion.
424
425* The reporting of the beam size has changed slightly to provide a bit
426  more information.
427
428Bug Fixes:
429
430* The statistics section (statSec) could be larger than the image
431  subsection (if provided), yet the pixels required would never be
432  read in from the FITS file. The behaviour has been changed so that
433  the statSec, if requested, is trimmed to be wholly within the image
434  section.
435
436* It was possible to request, for instance, spectral smoothing on a 2D
437  image. This resulted in a blank smoothed array, which led to
438  problems in the calculations of statistics (and hence the
439  threshold), as well as subsequent calculations. This has been fixed,
440  so that in cases like this the smoothing is turned off (and a
441  warning message is displayed).
442
443* There was a problem with using a MW range and subsectioning when
444  growing objects, as a result of changes in 1.1.10. This has been
445  fixed.
446
447* Inversion was failing when no array was allocated (not a problem for
448  standard Duchamp, but affected its use as a library by other code).
449
450* Writing text spectra would only occur when PGPlot output was enabled
451  in the build (it was combined with the plotting of the spectral
452  graphs). This has been changed so that this output can be requested
453  without requiring PGPlot.
454
455* The equation for the beam size in Sec.4.2 of the User Guide was
456  incorrect and has been fixed.
457
458* Minor change to the configure script to improve the detection of the
459  PGPlot library.
460
461Code development notes:
462
463* The main work has been additions and improvements to the interfaces
464  for the Param and the Section classes, as well as new classes to
465  manage the beam information. The efficiency changes mentioned above
466  also affected the internals of some of the PixelInfo classes, and
467  provided additional functions for judging the closeness of
468  neighbouring objects.
469
470Duchamp version 1.1.10 (2010/11/15)
471-------------------------------------
472
473Improvements:
474
475* The major change for this release is a greatly improved growing
476  algorithm. The previous incarnation was very inefficient (testing
477  all pixels in an object, most of which only have neighbours that are
478  already in the object), and could take an unnecessarily large amount
479  of time in the case of extended sources. The improved algorithm
480  makes use of voxel flags to quickly identify those voxels not yet in
481  an object and only examines them. For a certain test case
482  (observations of extended Galactic HI), the time required reduced
483  from about a day to about a minute! (Note that compact sources, such
484  as HI galaxies, will not show this degree of speedup...) Many thanks
485  to Tara Murphy for pointing out this bug and her help in
486  diagnosing/fixing the problem.
487
488* There have been a number of further improvements to the code to
489  speed it up, based on some profiling. The most important was the
490  function to add pixels to a 2D object, but there were several other
491  minor changes as well.
492
493* The minimum size of the detections can now also be specified in
494  terms of the total number of voxels (in addition or instead of
495  specifying the minimum spatial pixels or channels).
496
497* The way memory is allocated when reading the image has been
498  streamlined. The amount of memory being allocated is also now
499  reported - this is in an effort to allow users to identify problems
500  with running out of memory.
501
502* The version number is now reported in the results and log files.
503
504* Only the filename of the input image (ie. not the leading
505  directories) is now shown on the detection and moment-0 maps. This
506  is to avoid problems with large directory paths being too wide for
507  the plot.
508
509* The verification script was improved for readability (although no
510  functional change was made).
511
512Bug fixes:
513
514* Growing was not being done when a single source was found. Now
515  fixed.
516
517* For particular WCS setups, the RA can be interpreted as being
518  negative, which corrupted the Source ID (ie. the IAU-format
519  string). This has been fixed.
520
521* When the flux units were changed, problems had been seen when
522  writing a reconstructed cube to a FITS file. Any unit change is now
523  undone prior to writing and there should now be no problem.
524
525* Filenames with spaces in them were not handled well. New functions
526  were included and moved to a more obvious location. These filenames
527  now work as expected.
528
529* Spectral axes of type FREQ that had a rest frequency were not being
530  put into velocity units. Now fixed.
531
532* Improvements to the output to screen, making sure everything is
533  covered by the verbose flag.
534
535* Better management of the allocation of arrays.
536
537* The minSize parameter in Image was never initialised, leading to
538  unpredictable behaviour. Now fixed.
539
540Code development notes:
541
542* New functionality includes: a function to return a vector list of
543  voxels in an Object3D or Detection; a new generic Search function
544  (basically a front-end to each of the individual functions); more
545  complete copy constructors for the DataArray classes; new methods
546  for finding the velocity widths.
547
548Duchamp version 1.1.9 (2010/03/26)
549-------------------------------------
550
551Improvements:
552
553* There is now the ability to save the moment-0 map as a FITS
554  file. This is controlled by the parameters flagOutputMomentMap and
555  fileOutputMomentMap, which work in the same way for the mask file.
556
557* There is a new parameter flagRejectBeforeMerge that, when true,
558  rejects sources according to the minPix/minChannels requirements
559  before the merging and growing is done. This defaults to false (so
560  default behaviour is as before). Thanks to Tobias Westmeier for
561  suggesting this and the above improvement.
562
563* There is also a new parameter flagTwoStageMerging. When true (the
564  default), newly-detected objects are merged with the first close
565  object in the list. When false, they are simply added to the end of
566  the list. In both cases, a second round of merging is done to pick
567  up all close matches.
568
569* The way the beam is specified in the absence of the BMAJ/BMIN/BPA
570  parameters has been slightly changed. The use of "beamSize" was
571  somewhat ambiguous (it meant the number of pixels covered by the
572  beam, not the FWHM), so new parameters have been introduced. The
573  beam can be specified by beamArea (which replaces beamSize), or
574  beamFWHM (the FWHM of the beam in pixels). If beamFWHM is provided,
575  it will be used, else the beamArea will be.
576
577* There is a new parameter searchType that allows the user to choose
578  how the searching is done. The behaviour up till now has been to
579  search the 2D channel maps one at a time to build up the 3D
580  detections. This is the default, and can be obtained by setting
581  searchType=spatial. Alternatively, you can set searchType=spectral
582  to do the searching in the 1D spectra.
583
584* Profiling of the code has led to a few changes that have sped up
585  some calculations, particularly those involving the median. Rather
586  than using std::sort, the code now simply uses std::nth_element,
587  which shows a substantial speedup factor.
588
589* When using the objectList parameter, the maps will now only show the
590  selected objects, rather than all detected objects.
591
592* There is a new verification test that looks at the "growing"
593  functionality.
594
595Bug fixes:
596
597* When saving a mask FITS file, there was an occasional memory leak
598  that caused Duchamp to crash (only when the cube was suitably
599  large). This has been fixed.
600
601* The median calculation had a bug that led to an incorrect value
602  being reported. The difference will not be great (the element of an
603  array being reported as the median was out by one), but could be
604  noticeable depending on the dataset.
605
606* The MW range parameters did not respond to the use of a
607  subsection. They should refer to channel ranges in the original
608  cube, and changes have been made to the code to reflect this.
609
610* There was an occasional error in writing out FITS keywords, due to
611  the way comment strings were intialised. This has been improved and
612  made more robust.
613
614* Testing with gcc-4.3.2 showed a number of compilation warnings &
615  errors, which have been fixed.
616
617* The Gaussian smoothing kernel was too small - it is now made big
618  enough to encompass all possible values. It was also being
619  incorrectly scaled. This had no functional effect on the detection
620  of objects, but for other uses was incorrect. This has been
621  rectified.
622
623* Some outputs that weren't caught by the verbose flag now are.
624
625
626Code development notes:
627
628  The following notes only apply if you want to use the code as a
629  library, rather than the stand-alone package. These have generally
630  come out of the ASKAP software development. If you just use the
631  stand-alone package, they won't be a concern.
632
633* The API for storing detected objects has changed, making it more
634  robust from a programming point of view.
635
636* Additional versions of some functions (and the Gaussian smoothing
637  class) have been added - this has come out of the ASKAP development
638  work.
639
640* A number of instances of "unsigned int" being used for loops have
641  been changed to iterators or "size_t". There shouldn't be any
642  functional change from this -- the code should just build more
643  cleanly.
644
645* The Detection class now records whether the parameters have been
646  set, and unsets that flag when objects are merged. This allows
647  external programs to track which objects have been merged and deal
648  with them appropriately.
649
650
651Duchamp version 1.1.8 (2009/07/20)
652----------------------------------
653
654Improvements:
655
656* The final source list can now be sorted on one of a range of object
657  parameters: x-value, y-value, z-value, ra, dec, vel, w50, iflux,
658  pflux (integrated and peak flux respectively), or snr. Simply use
659  the new input parameter sortingParam. Its default value is vel, so
660  the default behaviour stays the same.
661
662* The FDR method involves calculating how many pixels are
663  correlated. This previously involved multiplying the beam area by 2,
664  implying that 2 neighbouring channels were correlated. This factor
665  is now a user-selectable parameter, so that if you know how many
666  spectral channels should be correlated, you can set the parameter
667  FDRnumCorChan and the FDR calculation will be done correctly.
668
669* Screen output now has more information on the growing threshold when
670  the cube statistics are printed.
671
672
673Bug fixes:
674
675* When reading in previous detections, there was a bug causing a
676  segmentation fault. This has been fixed and made more robust.
677
678* There was an apparent bug when writing out the reconstructed cubes
679  to a FITS file that caused the new file to be very large. Changing
680  the cfitsio function used has fixed this.
681
682* Using NCP projections near the equator could result in a large
683  stream of error messages, due to coordinate transformations being
684  done in blank regions outside of the acceptable range of world
685  coordinates. This has been fixed.
686
687* The function that grows objects had a major bug, that stopped it
688  working when flagAdjacent=false. This has been fixed and should work
689  fine.
690
691* The input parameter spectraTextFile was not being read
692  properly. This has been remedied.
693
694* The units for the integrated flux were wrong for some types of pixel
695  flux units. This has been fixed.
696
697* A minor bug caused incorrect calculation of the 20% widths.
698
699* All calls to uint were changed to unsigned int, as some compilers
700  had problems recognising that they were the same thing.
701
702* src/fitsHeader.cc was missing an include statement for stdlib.h,
703  again causing some compilers to fail.
704
705
706Duchamp version 1.1.7 (2009/01/16)
707----------------------------------
708
709Improvements:
710
711* The mask file that can be created with flagMask can now specify
712  which object a given detected pixel belongs to, by taking the object
713  ID as its value. This applies if you set flagMaskWithObjectNum=true
714  (it defaults to false, which means each detected pixel has the value
715  1). Non-detected pixels still have the value 0.
716
717* The names of the output FITS files are now able to be specified
718  directly by input parameters. These will override the default names
719  that Duchamp provides.
720
721* The Karma annotation file now specifies a font - previously it did
722  not and so was at the mercy of whatever was specified in other
723  annotation files being viewed at the same time. Please let me know
724  if the font I've chosen (lucidasans-12) is not suitable.
725
726* The default flag, used in the absence of 'E', 'S' or 'N', is now '-'
727  rather than blank. This will ensure that each column in the results
728  file has something in it.
729
730* The configure script is somewhat more robust to non-standard
731  systems, particularly when the X11 libraries are in unusual
732  places. It can also deal with the slightly different way that
733  wcslib-4.3 installs itself.
734
735* The installation part of the Makefile was altered so that the
736  symbolic link Duchamp that points to Duchamp-1.1.7 does not have the
737  absolute path encoded in it. This will enable the files to be moved
738  around at a later date.
739
740Bug Fixes:
741
742* Fixed a bug that caused problems when the flux units were less than
743  5 characters long (e.g. 'K')
744
745* The new velocity width values were not getting proper headers in the
746  VOTable output. This has been remedied.
747
748* Minor improvements to help non-pgplot use
749
750* Minor fix in WCS functionality.
751
752* Minor fixes to the FitsHeader class.
753
754* Improved FITS data reading, that doesn't require a nullarray
755  array. This will reduce memory usage.
756
757* Improved subsection parsing, particularly for non-standard WCS
758  systems.
759
760* Improving the memory allocation of the Cube class.
761
762* Fixed a bug that meant the growthThreshold values were sometimes
763  being lost.
764
765* Improving the way the growing and merging is done, particularly in
766  the case of non-adjacent merging.
767
768* Fixed a scaling bug in the GaussSmooth function.
769
770Other:
771
772* Numerous changes to the code that do not affect how Duchamp itself
773  runs, but were necessary for code development with the Duchamp
774  libraries (primarily as a part of the ASKAP code development).
775
776
777Duchamp version 1.1.6 (2008/09/08)
778----------------------------------
779
780New features:
781
782* The velocity widths can now be quoted in two additional ways: the
783  full width at 50% of the peak flux (ie. the FWHM) and the full width
784  at 20% of the peak flux (w_50 and w_20 respectively). The w_50
785  parameter is now quoted in the results printed to the screen
786  (instead of w_VEL), but all three are written to the results file.
787
788* The facility now exists to bypass the searching step and go straight
789  to the output stage using a list of previously detected objects. The
790  list is extracted from a previously-created log file. The user can
791  change the way the spectra are plotted (e.g. choose to plot
792  integrated rather than peak spectra), and select a subset of the
793  detected objects to be printed to individual postscript files. Use
794  the input parameter usePrevious (set to true) to use this facility,
795  and provide a list of objects using the objectList parameter
796  (eg. 1,2,4,7-10,15)
797
798* A new parameter "growthThreshold" has been created, that goes with
799  "threshold". If you manually specify a threshold, and you wish to
800  grow detections, you need to manually specify a growthThreshold (in
801  flux units).
802
803Bug fixes:
804
805* Cubes that do not have a spectral axis (such as Stokes cubes) were
806  causing memory leaks and crashing, due to some assumptions of the
807  existence of the spectral axis. These bugs have been fixed, so that
808  Duchamp will run on such cubes, although the WCS transforms may not
809  always work appropriately. Please let me know via bug reports of
810  difficulties you encounter!
811
812* The growing function has had a few bugs fixed and is now more
813  efficient.
814
815* The FDR method was previously overriding any manually-specified
816  threshold. This has been fixed so that if the user specifies
817  threshold=X, then the FDR method is not called.
818
819* Some undefined things were happening with textual output when no
820  objects were detected. This has been fixed.
821
822* Memory leaks caused by FITS WCS irregularities have been fixed
823  (specifically, if a FITS header had NAXIS=2 but more than two WCS
824  axes were defined).
825
826
827
828Duchamp version 1.1.5 (2008/03/20)
829----------------------------------
830
831Bug fixes:
832* A major bug was discovered in the calculation of integrated
833  fluxes. The flux was incorrectly being weighted by the spatial size
834  of the detection, resulting in a (often considerable) overestimation
835  of the integrated flux. This has been corrected.
836
837* The beam size calculation was also incorrect, being out by a factor
838  of 1/ln(2).
839
840* The "make install" command previously failed to work properly if the
841  library had not been created. This has been fixed so that the
842  installation works even if there is no library file.
843
844New Features:
845* You can now provide a new flux unit string, so that the pixel fluxes
846  will be converted to these new fluxes before any calculations are
847  done. This is done with the newFluxUnits input parameter. The new
848  units should be directly convertible from the old ones (given by the
849  BUNIT header -- e.g. if BUNIT = Jy/beam, you can give newFluxUnits
850  as mJy/beam, but not mJy).
851
852* You can now specify the precision used in the output files for flux,
853  velocity and S/N ratio columns, via new input parameters precFlux,
854  precVel and precSNR. These will apply to the VOTable output as well
855  as the text table and information on the spectral plots.
856
857* The Karma annotation files previously provided just a circle at the
858  spatial location of the detected object. You now have the option to
859  draw a border around the detected pixels (in a similar manner to the
860  PGPLOT moment maps). Karma does not do this perfectly, so the lines
861  may not line up exactly with the pixel borders, so the option
862  remains to keep using the circles. This is controlled by the
863  parameter "annotationType", with possible options being "borders"
864  (the default) or "circles".
865
866* There is a new function getMetadata() that loads the header and WCS
867  data, but no pixel information. This is only of interest if you are
868  doing code development with the Duchamp library -- it does not
869  affect the running of Duchamp itself.
870
871Duchamp version 1.1.4 (2008/02/15)
872----------------------------------
873
874Most of the changes incorporated in this update result from ASKAP code
875development (that makes use of some of the Duchamp functionality),
876but do not actually affect the way Duchamp runs (other than, in a
877couple of cases, making it a bit faster). Changes that are
878relevant for regular users of Duchamp are as follows:
879
880* A new option has been made available (thanks to Mary Putman et al
881  for the suggestion!) to save the spectra of all detected objects in
882  a text file. This has the form of one column for the spectral
883  coordinates and one column of fluxes for each object. This is
884  enabled by the input parameters flagTextSpectra and spectraTextFile.
885
886* Slight changes to the output include he formatting of the way the
887  detected objects are written to the log file. This meant the
888  verification files were also updated. Also the cube statistics are
889  not printed to the results file if a user threshold is specified (as
890  they are not calculated!).
891
892* The determination of beam size has been made more reliable, as has
893  the BUNIT determination.
894
895* Fixed a bug that meant source merging was not done for 2D images
896  (not usually a problem, as the source-finding takes care of this,
897  but came up in parallelisation development).
898
899Duchamp version 1.1.3 (2008/01/08)
900----------------------------------
901
902A minor update that just improves the build process. The location of
903the wcslib include files was not specified correctly, so that some
904machines were unable to find them. The configure script has been fixed
905so that the compilation should work in all cases.
906
907Some minor changes have also been made to the code in the PixelMap
908directory, and to param.cc, to fix warnings or errors that may appear
909in compilation.
910
911However, there are no changes to the actual workings of the code in
912this minor version, so if you have a working version of Duchamp 1.1.2
913there is probably no reason to update.
914
915Duchamp version 1.1.2 (2007/12/07)
916----------------------------------
917
918Compilation:
919
920* The compilation had problems working correctly when the cfitsio and
921  wcs libraries were not in standard locations. The configure script
922  has been tweaked to make sure the libraries are found.
923
924* Problems with compiling in the absence of pgplot have been fixed,
925  and it should now compile fine.
926
927* Improved the configure script for use with Mac OS X and gfortran.
928
929
930Bugfixing:
931
932* A major problem with the text-based output was fixed. The widths of
933  the columns were not being calculated correctly, and were running
934  together. This should no longer be the case.
935
936* There was a bug in the way Duchamp interpreted spectral axes,
937  particularly AIPS types such as FELO-HEL, leading to incorrect
938  scaling of the velocity axis. This has been fixed, so that
939  non-standard types are now dealt with appropriately and the velocity
940  scaling should be accurate.
941
942* Another bug meant the beam correction was always applied to the
943  integrated spectra, regardless of whether the flux units involved
944  the beam (e.g. Jy/beam). This has been fixed. Note that the values
945  of the integrated flux presented in the results table were always
946  calculated correctly.
947
948* Other minor changes to improve the speed and efficiency, especially
949  of the merging code.
950
951New user parameters:
952
953* There is now the possibility to save a FITS file that contains a
954  mask array, indicating where the detected objects are. This is
955  governed by the flagOutputMask parameter.
956
957* The header information that is printed at the start of the results
958  file -- that is, the list of parameters, the statistics of the cube,
959  and the number of detections -- can now be written to a separate
960  file. Set the flagSeparateHeader parameter to true or 1 and it will
961  go to the file indicated by the headerFile parameter (the default is
962  duchamp-Results.hdr).
963
964* A "scaleMax" parameter has been added, so that the wavelet
965  reconstruction can include only a specified range of scales (for
966  instance, if one wants to search just for narrow features such as
967  absorption lines).
968
969* A "flagRobustStats" parameter has been added. This allows the user
970  to elect to use robust statistics (median and median absolute
971  deviation from the median) to estimate the noise parameters. If set
972  to false, the mean and standard deviation will be used. The default
973  value is true.
974
975New Feature:
976
977* When Duchamp is run on a 2D image (i.e. with no spectral output), it
978  now produces a postscript file that shows information each
979  individual source plus the image cutout of the source. This is
980  similar to the spectral output file, but without the spectra. The
981  filename is given by the spectraFile parameter.
982
983* Ability to save a FITS file containing a mask array, with pixel
984  values of 1 for pixels in a detected object, and 0 elsewhere.
985
986
987Duchamp version 1.1.1 (2007/07/20)
988------------------------------------
989
990Minor update to the release, with just a few changes:
991
992* The verification script was generating diffs due to differences in
993  the precision of some calculations when done on different machines.
994  One of these was the integrated flux, and this has been corrected so
995  that the same value should appear on all machines.
996  The verification script has also changed so that just the number of
997  sources and their positions are tested, as well as the
998  logfiles. This should avoid the reporting of spurious differences.
999
1000* The grey-scale used in the image cutouts (in the spectral plots) has
1001  been inverted. This makes it consistent with the scale used in the
1002  maps, and hopefully easier to see when printing.
1003
1004* The configure/make system has been altered to make it easier to
1005  install, and to specify different external libraries. In particular,
1006  it is now not necessary to have PGPLOT installed on your system to
1007  run Duchamp. In the absence of PGPLOT, Duchamp will run as normal,
1008  just without any graphical output. Some source code needed to be
1009  restructured to make this work. Please read the README file, or the
1010  Installation appendix in the User's Guide, for complete details.
1011
1012* The time of completion is now written to the log file, so that the
1013  user can have some idea of how long the program took.
1014
1015
1016Duchamp version 1.1 (2007/05/17)
1017------------------------------------
1018
1019Changes made since the last numbered release:
1020
1021EFFICIENCY OF EXECUTION:
1022
1023* Major change to the way detections are stored. They are now recorded
1024  via run-length encoding in the x-y plane, and stored as collections
1025  of channel-maps. This improves the memory usage and the speed of
1026  execution (particularly for routines such as the merging
1027  routines). The memory usage has also been improved by changing the
1028  way the list of detected objects is stored.
1029
1030SMOOTHING:
1031
1032* Addition of ability to spatially smooth the cube before
1033  searching. This is done with a Gaussian kernel, the size and shape
1034  of which can be specified by the user, using the parameters kernMaj
1035  & kernMin (which are the FWHM for the major & minor axes -- if
1036  kernMin is not given it is assumed to match kernMaj) and kernPA (the
1037  position angle of the major axis).  There is a new parameter
1038  smoothType that distinguishes this method from the spectral (Hanning)
1039  smoothing already in use.
1040
1041DETECTIONS:
1042
1043* Changed the way detection is done -- now only search in 2D images,
1044  keeping all detections (ie. no minimum-pixel requirement). This
1045  should be the same as doing both the 1D and 2D searches with the
1046  minimum pixel requirement in, but simpler. The rejection is done at
1047  the end after all the merging and growing has been done. This leads
1048  to a larger number of intermediate detections (ie.  the number
1049  before merging), which may increase the run-time slightly, although
1050  this is offset by the changes to the efficiency (see above).
1051
1052* Increased the range over which objects can be grown to match the
1053  threshSpatial & threshVelocity parameters, as well as rejecting new
1054  pixels based on the BLANK and MW tests.
1055
1056INPUTS:
1057
1058* There has been a subtle change in the way BLANK pixels are dealt
1059  with. To enable trimming of BLANK pixels, users should use the new
1060  parameter flagTrim. The parameters flagBlankPix and blankPixVal are
1061  no longer accessible via the parameter file -- warning messages are
1062  given if they are provided in the parameter file.
1063
1064* Added ability to specify a statsec, so that the statistics are only
1065  calculated from a given subsection of the cube, rather than the full
1066  cube.
1067
1068* The subsections can also specify the ability to remove a border of n
1069  pixels from the edges of an axis (ie. n from the start and from the
1070  end) -- as requested in Trac ticket #5.
1071
1072* Changed the default value of the reconDim parameter from 3 to 1, and
1073  the default value of the flagATrous parameter to false.
1074
1075OUTPUTS:
1076
1077* The output now includes three different estimates of the "centre" of
1078  the detection: peak location, centroid (flux-weighted), or average.
1079
1080* Some slight improvements to the user feedback during execution.
1081
1082* Spectral output now includes the baseline, if one was fitted. The
1083  format of the plot headers is slightly changed, to stop information
1084  falling off the edge of the page.
1085
1086* Added command-line option -x to directly disable the PGPLOT X-window
1087  map plotting. This overrides the setting of flagXOutput in the
1088  parameter file.
1089
1090* Fallback spectral units (in case the FITS header fails to record
1091  them) changed to SPC, but code has been fixed so that any problem
1092  should be caught before this becomes an issue.
1093
1094BUGFIXES:
1095
1096* Fixed bug (Trac ticket #4) that meant the velocity units were not
1097  correctly dealt with. Duchamp should be more robust for different
1098  velocity axis setups now.
1099
1100* Fixed bug (ticket #9) with the VOTable output, where the tags were
1101  not closing.
1102
1103* Fixed a bug that meant the integrated fluxes were not calculated
1104  properly -- no allowance was made for the number of spatial
1105  pixels. This should also work properly for 2D images now as well.
1106
1107* Fixed minor bug in calculating the flux threshold from the p-value
1108  threshold when the FDR method is used. This did not affect the
1109  actual thresholding, merely the quoted flux threshold in the results
1110  file. Also, the MW channels are kept out of the p-value threshold
1111  determination if they are being flagged.
1112
1113
1114
1115Duchamp version 1.0.7 (2006/11/22)
1116----------------------------------
1117
1118One new feature, and some improvements and bug-fixes.
1119
1120* The user can now elect to Hanning-smooth the spectral direction of
1121  the cube before the searching is done. This can be done instead of the
1122  wavelet reconstruction (although if both are selected, the
1123  reconstruction takes precendence). This functionality is switched on
1124  and off by the flagSmooth parameter, and the width of the Hanning
1125  kernel is governed by the hanningWidth parameter.
1126
1127* The smoothed array can also be written to a FITS file and read in at
1128  the start in the same manner as the reconstructed array.
1129
1130* Several improvements have been made to the memory
1131  management. Several memory leaks were fixed, and the memory usage of
1132  Duchamp is considerably less, which will be a help for running it on
1133  large cubes. The speed of some routines has also been improved, by
1134  removing unnecessarily repetitive loops.
1135
1136* The sorting routines have been changed, and should now be slightly quicker
1137  (and a bit more robust).
1138
1139* Enabled the scale bar (plotted on the 0th moment map in the spectral
1140  output file) to be able to deal with much finer spatial scales (as
1141  may be expected from VLBI data).
1142
1143* Other minor changes to code and presentation.
1144
1145
1146Duchamp version 1.0.6 (2006/11/01)
1147----------------------------------
1148
1149Some incremental improvements and changes to the code:
1150
1151* The statistics used for the detection are now calculated once for
1152  the entire cube, rather than being calculated separately for each
1153  channel map and spectrum. This results in a uniform threshold value
1154  across the entire cube. The way the statistics calculations are
1155  implemented in the code was changed, using a new statistics class.
1156
1157* This means we can report a peak signal-to-noise value for each
1158  detection. This is given in the text-based output, as well as in the
1159  summary information above the spectral output for each source.
1160
1161* The user can now elect not to have the moment map displayed in a
1162  PGPlot window, through the use of the new flagXOutput
1163  parameter. This should help in cases of running Duchamp on a dumb
1164  terminal (with no X-display capabilities), or as part of a batch
1165  script where the continual popping-up of the PGPlot window might
1166  become annoying.
1167
1168* There are different Flags reported for the case of an object lying on
1169  the spatial edge and spectral edge of the cube (E and S respectively).
1170
1171* A few minor bug fixes:
1172  - When providing a subsection, any axes with the range given by *
1173    had the pixel values offset incorrectly. This has been fixed.
1174  - Negative searches now correctly invert the reconstructed array
1175    when it is read in from a file.
1176
1177* Other minor changes to the code, to improve memory handling and
1178  remove redundant arrays and variables.
1179
1180
1181Duchamp version 1.0.5 (2006/09/06)
1182----------------------------------
1183
1184Since version 1.0, there have been a range of mostly minor
1185changes. These are generally bug-fixes, thanks to feedback from a
1186number of users, as well as a few extra features.
1187
1188Here is a summary of the changes since version 1.0:
1189
1190USER INTERFACE:
1191
1192* The user is now able to enter the value of flag parameters in the
1193  parameter file as strings, as well as integers (so one can enter
1194  true or 1 to give the same result).
1195
1196GRAPHICAL OUTPUT:
1197
1198* Added a new function that draws the edge of the blank region on the
1199  maps and image cutouts. There is a new flag parameter --
1200  drawBlankEdges -- that controls the use of this function (the
1201  default is true).
1202  Also, the edge of the field is plotted on the image cutouts as a
1203  yellow line. This distinguishes it from the purple blank pixel
1204  dividing line.
1205
1206* The size of the tick mark in the image cutout (indicating the
1207  spatial scale of the image) is now adaptable, so that it shows the
1208  scale that best fits the image (ranging from 1 arcsec to 15
1209  degrees). (This is a change from the previous standard length of 15
1210  arcmin.)
1211
1212* The zoomed spectrum had its flux scale determined by all points in
1213  the zoom box,including those flagged by the Milky Way (MW)
1214  range. This has been fixed so that any MW channels will not affect
1215  the flux scaling, potentially improving the appearance of objects
1216  detected close in velocity to strong MW emission or absorption.
1217
1218* Improved Karma Annotation file output, so that files without good
1219  WCS are dealt with appropriately.
1220
1221TEXT-BASED OUTPUT:
1222
1223* The position resolution in the IAU-format names has been increased,
1224  so that distinct objects close to one another are more readily
1225  distinguished.  Overlapping sources at different velocities may
1226  still have the same name, but this is a more general problem.
1227
1228* The presentation of the results in tabular format has been improved,
1229  so that the precision of faint sources is sufficient to show their
1230  flux, for instance, is not 0. This also applies to the information
1231  presented above the spectral plots.
1232
1233* Improved error and warning reporting, so that the formatting and
1234  presentation of information is clearer.
1235
1236FITS I/O RELATED:
1237
1238* The previous version was did not deal well with 4 (or greater)
1239  dimensions in the FITS file -- the memory allocation was badly done,
1240  and the axes needed to be in a particular order. This has been
1241  fixed, so that the FITS I/O routines can now handle any sized FITS
1242  file, with axes in any order (as long as there are two spatial and one
1243  spectral axes).
1244
1245* When the FITS file does not have a rest frequency defined, there is
1246  no way to transform the frequency axis into velocity. In this case,
1247  the spectral axis is left as frequency, and put into units of MHz.
1248
1249* If the beam size is not indicated by the FITS header (through the
1250  BMAJ and BMIN keywords), the user can manually specify the size
1251  through the parameter file (using parameter beamSize).
1252
1253* The FITS I/O routines make use of the command fits_file_exists. This
1254  was introduced into the CFITSIO package from version 2.5, so Duchamp
1255  will only work with this version or higher. Version 3+ is preferred.
1256
1257OTHER BUG-FIXING:
1258
1259* Several bugs related to the blank-pixels were dealt with.
1260  The correct values were not propagating through correctly, meaning
1261  that the default values were being used. Also, there was the
1262  potential for blank pixels to be detected when the FDR method was
1263  used. Finally, the image cutout displays occasionally did not
1264  obscure the blank pixels. All these problems should be fixed now.
1265
1266* The FDR setup routine was occasionally failing with a segmentation
1267  fault, due to it accessing unallocated memory. This has been fixed.
1268
1269* Fixed bugs that affected the way 2D images (rather than 3D cubes)
1270  were dealt with. The minChannels test failed when minChannels=0.
1271
1272* If there is no beam information in the FITS header, the user can now
1273  enter a beam size as a parameter.
1274
1275* Other minor fixes to the code, to improve its structure and
1276  robustness.
1277
1278
1279Duchamp version 1.0 (2006/06/30)
1280--------------------------------
1281
1282The first full release version.
1283
1284Several major changes compared to previous version:
1285
1286* Incorporated a FitsHeader class, to keep track of header information
1287  (including WCS) from the FITS file. All units-related calculations
1288  are done with this class, such as conversion to velocity, and
1289  pixel-to-WCS conversion.  The main advantage of this is improved
1290  speed of execution, more adaptable to different units, and improved
1291  code (easier for me!).
1292
1293* Able to select the dimensionality of the reconstruction, rather than
1294  just doing it in 3-D.
1295
1296* Robust text output, so that the columns are sized correctly given
1297  the data being written, and the relevant units (derived from the
1298  FITS header) are included in the output table.
1299
1300* Improved the way the reconstructed image is saved and read back in,
1301  with a better naming scheme and a better set of new FITS header
1302  keywords. The MW headers are now not written.
1303
1304Other, more minor changes include:
1305
1306* MW channels now not set to 0, but just ignored for searching
1307  purposes (and for the scaling of the spectral output -- they are
1308  plotted though and highlighted with a hashed box).
1309
1310* The scale bar in the moment map in the spectral output file has its
1311  length indicated.
1312
1313* Improved VOTable output, with more information about the way Duchamp
1314  was run.
1315
1316* Made sure all statistics calculations in the reconstruction are
1317  based on robust (ie. median) methods.
1318
1319Also moved to an autoconf based configure/make compilation, for ease of use.
1320
1321
1322Duchamp version 0.9.2 (2006/06/27)
1323--------------------------------
1324
1325* Added the use of warning flags for detections: for either edge
1326  location or negative enclosed flux.
1327
1328* A new command line option added so that the user can specify a FITS
1329  file to be searched with the default parameters, rather than giving
1330  a full parameter file.
1331
1332* The scale bar on the moment cutout now works in general case, using
1333  an iterative process to get to the correct length.
1334
1335* RA axes are now done correctly on the full-scale maps.
1336
1337* Various coding fixes, improving the readability of the code,
1338  particularly regarding the declaration of temporary variables.
1339
1340* Changed the way the time of execution is called : now using time.h
1341  functions, rather than a system call.
1342
1343* Changed output in Detection/outputDetection.cc for the pixel
1344  information of detected objects (the info printed above the spectral
1345  plots) -- now print out number of voxels in object, and have
1346  improved the formatting a little.
1347
1348* Improved the functionality of saving the FITS file containing the
1349  reconstructed array. Added ability to save and read back in the MW
1350  parameters when saving a reconstructed cube (if a reconstructed cube
1351  has different MW range to that being considered, it would cause
1352  problems). ReadRecon now just returns a FAILURE and will reconstruct
1353  the cube anew.
1354
1355* Changed default value of flagGrowth to 0.
1356
1357
1358
1359Duchamp version 0.9 (2006/05/05)
1360--------------------------------
1361
1362First public release version.
Note: See TracBrowser for help on using the repository browser.