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