-
Notifications
You must be signed in to change notification settings - Fork 2
/
NEWS
2582 lines (2094 loc) · 124 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
GNU Astronomy Utilities NEWS -*- outline -*-
Copyright (C) 2015-2021 Free Software Foundation, Inc.
See the end of the file for license conditions.
* Noteworthy changes in release X.X (library X.X.X) (XXXX-XX-XX) [stable]
** New features
New program:
- astscript-ds9-region: Given a table (either as a file or from
standard input), create an SAO DS9 region file from the requested
positional columns (WCS or image coordinates). For example with the
command below you can select certain rows of a given table, and show
them over an image:
asttable table.fits --range=MAGNITUDE,18:20 --column=RA,DEC \
| astscript-ds9-region --column=1,2 --radius=0.5 \
--command="ds9 image.fits"
- astscript-radial-profile: Measure the radial profile of an object on
an image. The profile can be centered anywhere in the image and any
circular, or elliptical distance can be defined. The output is a table
with the profile's value in one column and any requested measure in
the other columns (any MakeCatalog measurement is possible).
All programs:
--wcslinearmatrix: new option in all programs that lets you select the
output WCS linear matrix format. It takes one of two values: 'pc' (for
the 'PCi_j' formalism) and 'cd' (for 'CDi_j'). Until now, the outputs
were always stored in the 'PCi_j' formalism (which is still the
recommended format).
Book:
- New "Image surface brightness limit" section added to the third
tutorial (on "Detecting large extended targets"). It describes the
different ways to measure a dataset's surface brightness limit and
upper-limit surface brightness, while discussing their differences.
Arithmetic:
- New operators (all also available in Table's column arithmetic):
- sin: Trigonometric sine (input in degrees).
- cos: Trigonometric cosine (input in degrees).
- tan: Trigonometric tangent (input in degrees).
- asin: Inverse of trigonometric sine (output in degrees).
- acos: Inverse of trigonometric cosine (output in degrees).
- atab: Inverse of trigonometric tangent (output in degrees).
- sinh: Hyperbolic sine.
- cosh: Hyperbolic cosine.
- tanh: Hyperbolic tangent.
- asinh: Inverse of hyperbolic sine.
- acosh: Inverse of hyperbolic cosine.
- atanh: Inverse of hyperbolic tangent.
- counts-to-mag: Convert counts to magnitudes with given zero point.
- counts-to-jy: Convert counts to Janskys through a zero point based
on AB magnitudes.
ConvertType:
--globalhdu: Use a single HDU identifier for all the input files
files. Its operation is identical to the similarly named option in
Arithmetic. Until now it was necessary to call '--hdu' three times if
you had three input FITS files with input in the same HDU.
Fits:
--wcscoordsys: convert the WCS coordinate system of the input into any
recognized coordinate system. It currently supports: equatorial
(J2000, B1950), ecliptic (J2000, B1950), Galactic and
Supergalactic. For example if 'image.fits' is in galactic coordinates,
you can use this command to convert its WCS to equatorial (J2000):
astfits image.fits --wcscoordsys=eq-j2000
This option only works with WCSLIB 7.5 and above (released in March
2021), otherwise it will abort with an informative warning.
MakeCatalog:
- Newly added measurement columns:
--upperlimitsb: upper-limit surface brightness for the given label
(object or clump). This is useful for measuring a dataset's
realistic surface brightness level for each labeled region by random
positioning of its footprint over undetected regions (not
extrapolated from the single-pixel noise level like the "surface
brightness limit").
NoiseChisel:
- Can now work on 3D datacubes. Since the configuration parameters are
different from images, it is recommended to manually set the 3D
configuration (the '...' can be the input image and options):
astnoisechisel --config=/usr/local/etc/astnoisechisel-3d.conf ...
Alternatively, you can set an 'astnoisechisel-3d' alias like below and
always easily run 'astnoisechisel-3d' on cubes.
alias astnoisechisel-3d="astnoisechisel --config=/usr/local/etc/astnoisechisel-3d.conf"
Segment:
- Can now work on 3D datacubes. Similar to NoiseChisel, it requires a
separate set of default configurations, so please see the note under
NoiseChisel above.
Table:
- When given a value of '_all', the '--noblank' option (that will remove
all rows with a blank value in the given columns) will check all
columns of the final output table. This is handy when you want a
"clean" (no NaN values in any column) table, but the table has many
columns. Until now, '--noblank' needed the name/number of each column
to "clean".
--rowlimit: new option to specify the positional interval of rows to
show. Until now, the '--head' or '--tail' options would just allow
seeing the first or last few rows. You can use this new option to view
a contiguous set of rows in the middle of the table.
--rowrandom: Make a random selection of the rows. This option is useful
when you have a large table and just want to see a random sub-set of
the rows. It takes an integer, selects that many rows from the input
randomly and returns them.
- New column arithmetic operators:
- 'set-AAA' operator (which allows storing the popped operand into a
named variable for easy usage in complex operations) is also usable
in Table's column arithmetic. Until now this operator was only
available in the Arithmetic program (for operation on images).
- 'date-to-sec' Convert FITS date format ('YYYY-MM-DDThh:mm:ss') into
seconds from the Unix epoch (1970-01-01,00:00:00 UTC). This can be
very useful in combination with the new '--keyvalue' option of the
Fits program to operate on FITS dates (for example sort your FITS
images based on observation time).
Fits:
--keyvalue: Print only the values of the FITS keywords given to this
option in separate columns. This option can take multiple keyword
names and many FITS files. Thus generating a table of keyword values
(with one row per file where the first column is the file name). Its
output can thus be written as a Table file or be piped to the Table
program for selecting a certain sub-set of your FITS files based on
key values, or sorting them for example.
Query:
- The Galactic extinction calculator of the NASA/IPAC Extragalactic
Database (NED) is now available for any coordinate with a command like
below. For more, see the manual (the description of the 'extinction'
dataset of NED in the "Available datasets" section).
astquery ned --dataset=extinction --center=49.9507,41.5116
Library:
- gal_units_counts_to_mag: Convert counts to magnitudes.
- gal_units_counts_to_jy: Convert counts to Janskys.
- New arithmetic operator macros (for the 'gal_arithmetic' function):
- GAL_ARITHMETIC_OP_SIN: sine (input in deg).
- GAL_ARITHMETIC_OP_COS: cosine (input in deg).
- GAL_ARITHMETIC_OP_TAN: tangent (input in deg).
- GAL_ARITHMETIC_OP_ASIN: Inverse sine (output in deg).
- GAL_ARITHMETIC_OP_ACOS: Inverse cosine (output in deg).
- GAL_ARITHMETIC_OP_ATAN: Inverse tangent (output in deg)
- GAL_ARITHMETIC_OP_ATAN2: Inverse tangent (with two inputs, out deg).
- GAL_ARITHMETIC_OP_SINH: Hyperbolic sine.
- GAL_ARITHMETIC_OP_COSH: Hyperbolic cosine.
- GAL_ARITHMETIC_OP_TANH: Hyperbolic tangent.
- GAL_ARITHMETIC_OP_ASINH: Inverse hyperbolic sine.
- GAL_ARITHMETIC_OP_ACOSH: Inverse hyperbolic cosine.
- GAL_ARITHMETIC_OP_ATANH: Inverse hyperbolic tangent.
- GAL_ARITHMETIC_OP_COUNTS_TO_JY: Convert counts to Janskys.
- WCS coordinate system identifiers:
- GAL_WCS_COORDSYS_EQB1950: 1950.0 (Besselian-year) equatorial coords.
- GAL_WCS_COORDSYS_EQJ2000: 2000.0 (Julian-year) equatorial coords.
- GAL_WCS_COORDSYS_ECB1950: 1950.0 (Besselian-year) ecliptic coords.
- GAL_WCS_COORDSYS_ECJ2000: 2000.0 (Julian-year) ecliptic coords.
- GAL_WCS_COORDSYS_GALACTIC: Galactic coordinates.
- GAL_WCS_COORDSYS_SUPERGALACTIC: Supergalactic coordinates.
- gal_wcs_coordsys_from_string: WCS coordinate system from string.
- gal_wcs_coordsys_identify: Parse WCS struct to find coordinate system.
- gal_wcs_coordsys_convert: Convert the coordinate system of the WCS.
** Removed features
** Changed features
astscript-sort-by-night:
- Thanks to the new features in the Fits and Table programs (described
above), the efficiency of this script has improved dramatically (from
19 seconds to 0.42 seconds for about 650 FITS files used in the
test!).
- The default end to a "night" is set to 11:00a.m. Until now it was
9:00a.m. But in some cases, calibration images may be taken after
that. So to be safer in general it was incremented by 2 hours.
MakeCatalog:
- Surface brightness limit (SBL) calculations are now written as
standard FITS keywords in the output catalog/table. Until now, they
were simply stored as 'COMMENT' keywords with no name so it was hard
to parse them automatically. From this version, the following keywords
are also written into the output table(s), see the "MakeCatalog
output" section of the book for more: 'SBLSTD', 'SBLNSIG', 'SBLMAGPX',
'SBLAREA', 'SBLMAG'.
- Upper-limit (UP) settings are also written into the output tables as
keywords (like surface brightness limit numbers above): 'UPNSIGMA',
'UPNUMBER', 'UPRNGNAM', 'UPRNGSEE', 'UPSCMLTP', 'UPSCTOL'.
Library:
- gal_fits_key_write_wcsstr: also takes WCS structure as argument.
- gal_fits_key_read_from_ptr: providing a numerical datatype for the
desired keyword's value is no longer mandatory. When not given, the
smallest numeric datatype that can keep the value will be found and
used.
- gal_wcs_read: allows specifying the linear matrix of the WCS.
- gal_wcs_read_fitsptr: allows specifying the linear matrix of the WCS.
** Bugs fixed
bug #60082: Arithmetic library crash for integer operators like modulo
bug #60121: Arithmetic segfault when multi-operand output given to set-
bug #60368: CosmicCalculator fails --setdirconf when redshift isn't given
* Noteworthy changes in release 0.14 (library 12.0.0) (2021-01-25) [stable]
** New features
Book:
- Tutorial on "Detecting large extended targets" improved with better
NoiseChisel configuration, and more clear description.
- New sub-section on "Memory management" in the "Common program
behavior" chapter. It fully describes how to optimally deal with large
datasets that may exceed your system's RAM.
- Examples and better description added to many operators in the
"Arithmetic operators" subsection of the Arithmetic program's section.
New program:
- Query ('astquery') is a new program to query to external datasets and
retrieve the resulting datasets from the command-line. It is possible
to get list of datasets or column names from the databases. The basic
spatial query (finding objects in the vicinity of a certain point) can
be managed without knowing the query language of the database: with
basic options (like '--center' with '--radius' or '--width'), or an
input image that has WCS. Currently Query supports VizieR (containing
+20500 datasets, making it the largest database in astronomy), NED, as
ESA's Gaia database and ASTRON. See the new "Query" section of the
book (under the "Data containers" chapter) for more.
All programs:
- Plain text table inputs can have floating point columns that are in
sexagesimal format of '_h_m_s' or '_d_m_s' (where '_' is a
number). These are the classical format to respectively represent
Right Ascension (RA) and Declination (Dec). They will be directly read
as a single floating point number (in units of degrees) into
memory. Therefore the same column of a plain-text table, can be
degrees in some rows and sexagesimal in others. Besides large tables,
with this feature, conversion to sexagesimal coordinates to degrees
becomes very easy, for example:
echo "7h34m35.5498 31d53m14.352s" | asttable
Recall that the inverse can also be done with the more general column
arithmetic:
echo "113.64812416667 31.88732" \
| asttable -c'arith $1 degree-to-ra $2 degree-to-dec'
- If input is a HEALpix grid (1D table column that represents the 2D
spherical representation of datasets), the programs will print a
warning, suggesting to use the 'HPXcvt' utility of WCSLIB.
Arithmetic:
- New operators:
- 'interpolate-maxofregion': interpolate connected blank regions with
the maximum value that is immediately touching it. This can be used
to fill the blank centers of saturated stars for example.
- 'interpolate-minofregion': similar to 'interpolate-maxofregion', but
for the minimum.
- 'makenew': new operator to create an empty (zero-valued) new dataset
with given dimension and size (given as operands).
Crop:
--primaryimghdu: Write the final cropped image into the primary (or
0-th) extension of the output FITS file, so the output only has
one extension.
Fits:
- New '--skycoverage' option will report the area of the input image in
RA/Dec, both in units of center/width, and box minimum/maximum
format. This is paritcularly useful in combination with the new
'astquery' option, to easily search the contents of external databases
within the image.
MakeCatalog:
--maximum: maximum value of labeled regions pixels (clump/object).
--areaarcsec2: area of labeled region (clump/object) in arcsec^2.
--surfacebrightness: the surface brightness of the labeled region.
--fwhm: observed FWHM in pixels (non-parametric), along the major axis.
--halfmaxarea: number of pixels with a value larger than half the maximum.
--halfmaxradius: radius of region that is larger than half the maximum.
--halfmaxsum: sum of pixels with a value larger than half the maximum.
--halfmaxsb: surf. brightness within half of the maximum.
--fracmax: fractions to use in '--fracmaxarea1' or '--fracmaxarea2'.
--fracmaxsum1: sum of pixels brighter than first given fraction of max.
--fracmaxsum2: sum of pixels brighter than second given fraction of max.
--fracmaxarea1: number of pixels brighter than first given fraction of max.
--fracmaxarea2: number of pixels brighter than second given fraction of max.
--fracmaxradius1: radius derived from '--fracmaxarea1'.
--fracmaxradius2: radius derived from '--fracmaxarea2'.
--halfsumsb: Surface brightness within area reported by '--halfsumarea'.
--halfsumarea: area containing half of the summed object or clump values.
--halfsumradius: radius derived from '--halfsumarea', underestimates r_e.
--areaminv: the number of pixels that are equal to the minimum value.
--areamaxv: the number of pixels that are equal to the maximum value.
- New columns to return the position of pixel with minimum or maximum
value: '--minvx', '--maxvx', '--minvy', '--maxvy', '--minvz',
'--maxvz'.
MakeNoise:
--bgisbrightness: new option to say that the value of '--background'
(used to simulate Poisson noise) should be interpreted as brightness,
not magnitude.
MakeProfiles:
- It is now possible to make any custom radial profile with the 'custom'
profile (with code '8'). A table should be given to the new
'--customtable' option which will define each radial interval and the
value to use for that radial interval. See the description of
'--customtable' for more.
Statistics:
- 2D histograms can now be built as a FITS image with a linear WCS that
contains axis values and box size. This allows using the power of FITS
viewers for plotting/inspecting distributions of two columns in a
table relative to each other (for example color-magnitude plots). You
can also convert these 2D histogram images to PDF or JPEG with
Gnuastro's ConvertType to directly use in your papers/reports (see the
newly added "2D histogram as an image" section of the book for more).
Table:
- New '--noblank' option will remove all rows in output table that have
at least one blank value in the specified columns. For example if
'table.fits' has blank values (NaN in floating point types) in the
'magnitude' and 'sn' columns, with '--noblank=magnitude,sn', you can
be sure that all rows with blank values in these columns have been
removed.
- New trigonometric operators for column-arithmetic (inputs in units of
degrees): 'sin', 'cos' and 'tan'. Their inverse trigonometric (outputs
in units of degrees) have also been added: 'asin', 'acos' and 'atan'.
The 'atan2' operator (inverse tangent that preserves the quadrant, see
its description in the book) is also now available.
- New hyperbolic operators for column-arithmetic: 'sinh', 'cosh' and
'tanh'. Their inverse has also been added: 'asinh', 'acosh' and
'atanh'.
Library:
- GAL_ARITHMETIC_OP_MAKENEW: new 'makenew' operator.
- gal_binary_connected_adjacency_list: finding connected components
without a square adjacency matrix (which can consume major RAM).
- gal_blank_flag_remove: Remove all flagged elements in a dataset.
- gal_blank_remove_rows: remove all rows that have at least one blank.
- gal_dimension_dist_elliptical: Elliptical dist. of a point from center.
- gal_fits_hdu_is_healpix: Return 1 if HDU is a HEALpix grid.
- gal_fits_hdu_datasum: calculate DATASUM of given HDU in given FITS file.
- gal_fits_hdu_datasum_ptr: calculate DATASUM of opened FITS file pointer.
- gal_fits_key_list_comment_add: add a COMMENT keyword to the keyword list.
- gal_fits_key_list_comment_add_end: add a COMMENT keyword to end of list.
- gal_pointer_allocate_ram_or_mmap: allocate in RAM or memory-mapped file.
- gal_pointer_mmap_free: "free" (actually delete) the memory-mapped file.
- gal_wcs_create: create WCSLIB-compatible WCS from raw values.
- gal_wcs_coverage: Return the sky coverage of given image HDU.
- gal_wcs_dimension_name: return the name of the requested WCS dim.
** Removed features
** Changed features
All programs:
- Memory management: Until now, an internal array was only allocated in
the RAM when its size was smaller (in bytes) than the value given to
the '--minmapsize' option. But this was annoying/buggy when the system
has enough RAM to keep large files. From this version, all Gnuastro
programs will first attempt to write the array in RAM, only when it
fails (there is no more RAM left), will they use a memory-mapped file
(which can dramatically slow down the program). Please see the newly
added "Memory management" section of the book for a complete
explanation of Gnuastro's new memory management strategy.
- When an array needs to be memory-mapped (read into a file on HDD/SSD,
not RAM, usually due to RAM limitations), it is written in a
'gnuastro_mmap' directory of the running directory, not the hidden
'.gnuastro_mmap' directory. Since the files in this directory are
usually large, it is better that the user sees them by default (in
case the program crashes and they aren't deleted).
--interpnumngb: the default value has been increased to 15 (from 9). The
reason for this is that we now have a more robust outlier removal
algorithm (see description under "NoiseChisel & Statistics").
Crop:
- When cropping a single image in WCS mode, there is no longer any
limitation on the WCS. Until now for all WCS mode crops, it was
necessary for the WCS to be aligned to the celestial coordinates. But
from this version, this is only necessary when cropping from many
files (and stitching them together where necessary). For WCS-mode
crops of a single image, any WCS that is recognized by WCSLIB is fine.
Fits:
- The '--pixelscale' option also prints the pixel area (for 2D inputs,
or 2D slices of 3D inputs) and the voxel volume (for 3D inputs). Until
now, it would only print the pixel scale along each dimension.
- When printing FITS file HDU information (no options given), a new
"Comments" column may be printed for each HDU in the end of the line.
It will be printed if special situations are found (for example a 2D
HEALPix grid, that is usually stored as a 1D array/column).
NoiseChisel & Statistics:
- New algorithm used to reject outlying tiles. In NoiseChisel this is
done when estimating the quantile threshold, the pseudo-detection
threshold and the final Sky value. In Statistics, its just the Sky
value. Unlike the previous method that used the global distribution of
tile values to identify outliers, the new algorithm uses a relative
measure. See the book for more. Since outliers are now rejected more
robustly, the default value of '--meanmedqdiff' has been increased to
0.01 (was 0.005) and '--outliersigma' has been decreased to '5' (was
10). Also 'smoothwidth' has been increased from '3' to '5' to have
smoother tessellation values.
Statistics:
- The '--histogram2d' now takes a string argument: either 'image' or
'table'. For the old behavior please use '--histogram2d=table'. See
the new features above for the 'image' mode.
Table:
- Column arithmetic operators 'degree-to-ra' and 'degree-to-dec' will
return the sexagesimal format of '_h_m_s' and '_d_m_s'
respectively. Until this version, they would both use colons as
delimiters ('_:_:_').
Library:
- gal_pointer_mmap_allocate: new name for 'gal_pointer_allocate_mmap'.
- gal_threads_dist_in_threads: now accounts for billions of threads,
thus includes memory management options.
- gal_threads_spin_off: now accounts for memory management.
- gal_units_degree_to_ra: new 'usecolon' argument to optionally format
output string with colons as delimiters ('_:_:_'). When this option is
zero, the string will be in the '_h_m_s' format.
- gal_units_degree_to_dec: similar to 'gal_units_degree_to_ra', but when
'usecolon' is zero, the string will be in the '_d_m_s' format.
** Bugs fixed
bug #59017: Segment's object IDs are not thread-safe (i.e., reproducible).
bug #59105: Column arithmetic operator degree-to-ra, returning to dec.
bug #59136: Makeprofiles with --replace is not thread-safe.
bug #59155: Match cannot find the proper row when coordinates have NaN.
bug #59371: MakeCatalog crash with clumps on non-contiguous object labels.
bug #59400: CosmicCalculator fails --printparams when redshift isn't given.
bug #59459: Unclear WCS when both PC and CD exist in input, but conflict.
bug #59625: MakeProfiles uses last --kernel, if it is called more than once.
bug #59700: Segment's excessive RAM usage when many clumps over a detection.
bug #59765: MakeCatalog crash when to-be-subtracted Sky is a single-element
per tile tessellation (e.g., NoiseChisel's '--oneelempertile').
* Noteworthy changes in release 0.13 (library 11.0.0) (2020-09-06) [stable]
** New features
All programs:
- When reading plain-text tables, the blank value for numeric columns
can be any string (specified in the special comment-line format
described in the "Gnuastro text table format" of the manual). Until
now, it had to be a number in the same type.
Arithmetic:
- New operators:
- interpolate-minngb: Fill blanks with minimum of nearest neighbors.
- interpolate-maxngb: Fill blanks with maximum of nearest neighbors.
This can be useful to fill the blank values of saturated stars
for example.
- To force integers to floats, you can also put a '.' or '.0' after
them. Until now, it was only possibly by putting an 'f' after
them. Hence while '5' will be read as an integer, '5.', '5.0' or '5f'
will be read as floating point. This also applies to column arithmetic
in Table.
ConvertType:
- New colormap: 'sls-inverse' is the inverse of the SLS color, good for
printing because of a white background.
CosmicCalculator:
--velocity: Velocity (in km/s) to use instead of input redshift.
--usedvelocity: Print the velocity (in km/s) at input redshift.
--listlinesatz: Print the wavelength of all pre-defined spectral lines
at given redshift as a simple table with the line names. This is very
convenient and can be used in conjunction with '--obsline' for example
to print the observed wavelength of all lines when Lyman-alpha is at
4000 Angstroms with this simple command:
astcosmiccal --obsline=lyalpha,4000 --listlinesatz
FITS:
- New '--pixelscale' option will return the size of pixels in each
dimension in the "world coordinates".
- New '--wcsdistortion' option allows conversion between the various WCS
distortions. For example if you have a FITS image with the TPV-based
WCS distortion, and you would like to convert it to a SIP-based
distortion, you can simply run 'astfits --wcsdistortion=SIP' on the
file. The inverse conversion is also supported (from SIP to TPV).
Statistics
- New feature to create a 2D-histogram using two input columns (useful
when you have lots of points that are too dense and may hide important
features). This mode can be activated with the new '--histogram2d'
option. The binning of the first (X axis) column is specified with the
same 1D histogram options. The second column's binning is configured
with the following options:
--numbins2: Number of bins along the second column.
--greaterequal2: Only second column points that are larger than this.
--lessthan2; Only second column points that are less than this.
--onebinstart2: Make sure one bin starts at the value given here.
Table:
- New '--catcolumns' to specify which columns to concatenate (or append)
to the output. You can specify the file name containing the columns to
append with the '--catcolumnfile' option and '--catcolumnhdu' (see
changed features because until now they had different names).
- New '--catcolumnsrawname' will leave the name of concatenated
(appended) columns unchanged. By default the names of the appended
columns will be appended with a '-N' (where 'N' is a counter for the
file that is used to append columns). The default behavior is to avoid
multiple columns having the same name.
- New '--colmetadata' option to add/update column metadata (name, units
or comments) just before writing the output. This is a very useful
feature in combination with column arithmetic or column concatenation
because it will allow you to update the new column metadata in the
same command. See the manual for more.
Library:
- Spectral lines library: SiIII, OIII, CIV, NV and rest of Lyman series.
- GAL_CONFIG_HAVE_WCSLIB_DIS_H: if the host's WCSLIB supports distortions.
- GAL_CONFIG_HAVE_WCSLIB_MJDREF: if the host's WCSLIB reads MJDREF keyword.
- gal_cosmology_velocity_from_z: Calculate velocity from redshift.
- gal_cosmology_z_from_velocity: Calculate redshift from velocity.
- gal_data_array_ptr_calloc: Allocate array of pointers to gal_data_t
- gal_data_array_ptr_free: Free all the datasets within the array and itself.
- gal_fits_key_list_title_add: Add a title key word to the list.
- gal_fits_key_list_title_add_end: Add a title key word to the list's end.
- GAL_INTERPOLATE_NEIGHBORS_METRIC_RADIAL: Radial metric for interpolation.
- GAL_INTERPOLATE_NEIGHBORS_METRIC_MANHATTAN: Mahattan distance.
- GAL_INTERPOLATE_NEIGHBORS_METRIC_INVALID: For error-handling/completeness.
- GAL_INTERPOLATE_NEIGHBORS_FUNC_MIN: Use minimum for interpolation.
- GAL_INTERPOLATE_NEIGHBORS_FUNC_MAX: Use maximum for interpolation.
- GAL_INTERPOLATE_NEIGHBORS_FUNC_MEDIAN: Use median for interpolation.
- GAL_INTERPOLATE_NEIGHBORS_FUNC_INVALID: for error-handling/completeness.
- gal_kdtree_create: Create a k-d tree for optimal spatial searching.
- gal_kdtree_nearest_neighbour: Find the nearest neighbor using a k-d tree.
- gal_statistics_histogram2d: Generate 2D histogram from two columns.
- GAL_WCS_FLTERROR: Limit to identify a floating point error for WCS.
- gal_wcs_write: Write the given WCS into a FITS extension with no data.
- gal_wcs_clean_errors: clean major WCS components from errors specified
by the FITS keyword 'CRDER', or floating point errors.
- gal_wcs_distortion_from_string: Return distortion string/name from ID.
- gal_wcs_distortion_to_string: Return distortion ID from string/name.
- gal_wcs_distortion_identify: Identify the distortion of given WCS.
- gal_wcs_distortion_convert: Convert between various WCS distortions.
** Removed features
** Changed features
Arithmetic:
- The 'pow' operator can also accept integer inputs. This also applies
to column arithmetic in Table.
MakeProfiles:
- The status of every created profile (along with the number of
remaining profiles) is no longer printed when there are more than 50
profiles. This is done because printing itself can slow down the
program an in a general/automated script this info is redundant.
Table:
--catcolumnfile ('-L') is new name for '--catcolumn' ('-C').
--catcolumnhdu is new name for '--catcolhdu' (short option name hasn't
changed).
Library:
- gal_fits_key_list_add: new 'ufree' argument to optionally free units.
- gal_fits_key_list_add_end: similar to 'gal_fits_key_list_add'.
- gal_interpolate_neighbors: new name for gal_interpolate_close_neighbors.
- gal_statistics_outlier_bydistance: new name for the old
'gal_statistics_outlier_positive'. It can now use the same algorithm
for negative outliers with a new argument.
- gal_txt_write: Now accepts a new argument for keyword lists.
- gal_type_string_to_number: Numbers ending in '.' or '.0' will be
parsed as floating point. Until now, it would only parse numbers as
floating point if they had non-zero decimals.
** Bugs fixed
bug #58434: MakeCatalog crash when ordering is required and no usable pixels.
bug #58455: Timezone is not portable and uses flag instead of seconds.
bug #58696: Warp with --centeroncorner --scale making wrong size.
bug #58774: Warp' s output on a cube is a 2D image or wrong size.
bug #58809: NoiseChisel not removing negative outlier tiles.
bug #58833: Segment crashes when detection map has blank pixels.
bug #58835: Floating point errors when comparing pixel scale in Crop.
bug #58898: Plain text string columns touching next, clear first character.
bug #58901: Blank values for non-standard integer types in FITS tables.
bug #58974: WCS conversion not reasonable on processed TPV data.
bug #59019: FITS Table crash when TFORM comes before TNULL.
* Noteworthy changes in release 0.12 (library 10.0.0) (2020-05-20) [stable]
** New features
Arithmetic:
- New 'quantile' operator for coadding datasets.
- New 'size' operator to report length of dataset in requested dimension.
- When '--wcsfile' is given the value 'none', output will not have any WCS.
CosmicCalculator:
--listlines: list the pre-defined spectral line wavelengths and names
(which you can use with the '--obsline' and '--lineatz' options). This
is convenient when you forget the specific name of the spectral line
used within Gnuastro.
Crop:
--polygon: can now also crop concave polygons (when atleast one inner
angle is more than 180 degrees). Concave polygons occur a lot in deep
astronomical imaging: in the shape of the deepest regions.
--polygonsort: Sort the given set of vertices to the '--polygon'
option. For a concave polyton, the sorting will be correct, but for a
convex polygon, there is no unique solution/sorting, so it may not be
what you expect, see the manual.
Fits:
--datasum: Calculate and print the given HDU's "datasum" to stdout.
--datetosec: Can also account for 'Z' in the end of the date-time
string. According to 'https://www.w3.org/TR/NOTE-datetime', a 'Z'
effectively means no time zone, or UTC time (which is the default in
FITS). It still doesn't account for time zone hours of the w3.org
standard.
MakeCatalog:
--sigmaclip: define sigma-clipping parameters for the new '--sigclip-*'
columns.
--forcereadstd: Read the standard deviation image even if not needed by
any columns. This is useful when you want the surface brightness
limit, but don't need any error-related columns.
New output columns:
--sigclip-number: Number of sigma-clipped pixels in object/clump.
--sigclip-median: Sigma-clipped median of pixels in object/clump.
--sigclip-mean: Sigma-clipped mean of pixels in object/clump.
--sigclip-std: Sigma-clipped standard deviation of pixels in object/clump.
Table:
--equal: Can now work on columns with string type also.
--notequal: Can now work on columns with string type also.
--polygon: Polygon to use in '--inpolygon' or '--outpolygon'.
--inpolygon: Select rows that are inside the polygon of '--polygon'.
--outpolygon: Select rows that are outside the polygon of '--polygon'.
--catcolumn: Concatenate tables by column (keeping number of rows fixed).
--catcolhdu: Specify the HDU/extension of the FITS files of --catcolumn.
- New operators in column arithmetic:
- 'ra-to-degree': Convert Right Ascension (HH:MM:SS) to degrees.
- 'dec-to-degree': Convert Declination (DD:MM:SS) to degrees.
- 'degree-to-ra': Convert degrees to Right Ascension (HH:MM:SS).
- 'degree-to-dec': Convert degrees to Declination (HH:MM:SS).
- 'distance-flat': Distance between two points, assuming flat space.
Library:
- GAL_SPECLINES_INVALID_MAX: Total number of spectral lines, plus 1.
- GAL_ARITHMETIC_OP_QUANTILE: operator for 'gal_arithmetic'.
- gal_txt_trim_space: trim white space before and after a string.
- gal_polygon_is_convex: identify if a polygon is convex or concave.
- gal_polygon_is_inside: if point is inside polygon (convex or concave).
- gal_polygon_is_counterclockwise: check if polygon is counter-clockwise.
- gal_polygon_to_counterclockwise: convert to counter-clockwise if it isn't.
- gal_polygon_vertices_sort: un-ordered vertices to concave/convext polygons.
- gal_units_extract_decimal: Extract numbers from strings like "A:B:C".
- gal_units_ra_to_degree: Convert RA (HH:MM:SS) to degrees.
- gal_units_dec_to_degree: Convert Dec (DD:MM:SS) to degrees.
- gal_units_degree_to_ra: Convert degrees to RA (DD:MM:SS).
- gal_units_degree_to_dec: Convert degrees to Dec (DD:MM:SS).
** Removed features
** Changed features
All programs and libraries:
--minmapsize: Gnuastro's programs no longer attempt to write
memory-mapped files under '.gnuastro'. They will only attempt to write
them under the '.gnuastro_mmap' directory. Until now, when an internal
array needed to be memory-mapped, Gnuastro's programs (through the
'pointer.h' library) would first try writing the mmap files in the
'.gnuastro' directory. When it failed it would attempt writing in the
'.gnuastro_mmap' directory. However, '.gnuastro' is also used to store
configuration files (which are hand-written and thus valuable). Mixing
the two types of source (configuration files) and automatically
generated (memory-mapped) files is very problematic.
- FITS ASCII tables: When a column has a floating point type, but its
ASCII string can't be parsed as a number, it will be read as a
NaN. Until now, the corresponding program/library would abort,
printing the problematic string and its location.
Crop:
--polygon: by default it will no longer attempt to sort the polygon
vertices, sorting can be requested with the new '--polygonsort' option.
--polygonout: is the new name for '--outpolygon'. Having 'polygon' at
the start of the option name, makes it easier to find in the help list
and also to understand generally.
MakeCatalog:
- Until now, if no standard deviation image was requested, MakeCatalog
wouldn't include any surface brightness limit metadata in its
output. Now, those two lines are filled, but with a notice on the
cause (that there is no standard deviation image), and suggesting
solutions.
NoiseChisel:
- Until now, when NoiseChisel didn't detect any pixels, it just printed
a message and wouldn't not make any output file. This was very
inconvenient in general scripts. From now on, in this scenario, an
output file will be created and the detection map will only have a
value of zero. As a result, the Sky and Sky standard deviation
extensions will be measured over all the tiles.
Table:
- In Column arithmetic, when columns must be specified by their number,
that number should be distinguished with a '$' before it (for example
'$1' means the first column). Until now, this character was 'c', but
the new identifying character is very similar to AWK, allowing easier
adoption and is also more clear. It is just important to put the total
'arith' string within single quotes, not double quotes.
- Operators:
- 'distance-on-sphere': New name for old `angular-distance' operator.
Library:
- gal_polygon_is_inside_convex: new name for 'gal_polygon_pin'.
** Bugs fixed
bug #57300: MakeCatalog memory crash when input dataset has units.
bug #57301: MakeCatalog using river sum instead of mean times by clump area.
bug #57921: Arithmetic's interpolation operator not reading metric.
bug #57989: Warp not accounting for translation in pixel grid.
bug #57995: Fits lib's date to second function affected by host's timezone.
bug #58315: Some NaNs with sigma-clip operators in Arithmetic and one input.
bug #58371: Table crashes with a commented newline in the columns.
* Noteworthy changes in release 0.11 (library 9.0.0) (2019-11-25) [stable]
** New features
Book:
- The "General program usage tutorial" now has a section on how to write
scripts effectively to automate your analysis.
Arithmetic:
- The new 'add-dimension' operator will stack the popped operands in a
higher-dimensional dataset. For example to build a 3D cube from
individual 2D images/slices.
--onedonstdout: when the output is one-dimensional, print the values on
the standard output, not into a file.
BuildProgram:
- Will use common environment variables like LDFLAGS, CPPFLAGS and CC to
help in customizing the build of your program.
--cc: custom C compiler to use. Until now, 'gcc' was hard-coded into the
source and there was no way to choose a custom C compiler.
--noenv: With this option, no environment variables will be read.
ConvertType:
- New 'viridis' colormap (value for the '--colormap' option). This is
the default colormap of Python's Matplotlib, and is available in many
other plotting tools like LaTeX's PGFPlots.
Convolve:
- Spatial domain convolution now possible on 3D data cubes (with a 3D
kernel).
CosmicCalculator:
--lineatz: return the observed wavelength of a line if it was emitted at
the redshift given to CosmicCalculator. You can either use known line
names, or directly give a number as any emitted line's wavelength.
MakeCatalog:
- Catalogs from 3D inputs now available, with the following new options,
see book for more.
--spectrum: label's spectrum (across the third dimension).
--z: Flux-weighted position in 3rd dimension.
--geoz: Geometric center in third FITS axis.
--minz: Minimum third FITS axis position.
--maxz: Maximum third FITS axis position.
--clumpsz: Flux weighted center of all clumps in object in 3rd dim.
--clumpsgeoz: Geometric center of all clumps in object in 3rd dim.
--w3: Flux weighted center in third WCS axis.
--geow3: Geometric center in third WCS axis.
--clumpsw3: Flux wheighted center of all clumps in 3rd dim.
--clumpsgeow3: Geometric center of all clumps in 3rd dim.
--areaxy: Projected area in first two dimensions.
--geoareaxy: Projected geoarea in first two dimensions.
--inbetweenints: output will contain one row for all integers between 1
and the largest label in the input (irrespective of their existance in
the input image). This was the default/only behavior of MakeCatalog
until now. However, there are situations where the labeled input image
integers may not be contiguous. For example if the input's only
labeled pixel values are 11 and 13 from this release MakeCatalog's
output will only have two rows. If you want the old behavior (of one
row per integer, even if its not in the image), you can use this
option.
MakeProfiles:
- Can produce mock ellipsoids in a datacube (using X-Z-X Euler angles
for 3D orientation), the following options have been added, see the
book for more details.
--p2col: Second Euler angle (X-Z-X order).
--p3col: Third Euler angle (X-Z-X order).
--q2col: Axis ratio (major/dim3 in 3D).
- The '--kernel' option can build 3D kernels, see the description of
this option in the book for examples and details on how to run it.
Match:
- Matching of catalogs now possible using 3 coordinates (on catalogs
generated from 3D data cubes), see book for more.
NoiseChisel:
- arXiv:1909.11230 added in papers to cite (with the '--cite' option):
this paper describes the major changes made to NoiseChisel in the last
10 stable releases since the 2015 paper, most importantly how Segment
has been separated and the new growth strategy. It is therefore
necessary to cite it along with the initial 2015 paper when using
NoiseChisel.
Segment:
- arXiv:1909.11230 added in papers to cite (with the '--cite' option):
this paper describes why Segment has been separated from NoiseChisel
and some important updates to it compared to the 2015 paper, it is
therefore necessary to cite it along with that paper when using
Segment.
Statistics:
--contour: compute a contour plot which can be directly fed into the
PGFPlots package of LaTeX for plotting the contours. Support for more
formats will be added based on the need/request.
Table:
--equal: Output only rows that have a value equal to the given value in
the given column. For example '--equal=ID,2,4,5' will select only rows
that have a value of 2, 4 and 5 in the 'ID' column.
--notequal: Output only rows that have a different value compared to the
values given to this option in the given column.
- Column Arithmetic operators:
- 'angular-distance': a new operator to easily find the angular
distance (along a great circle) between points in various table
columns, or the distances of all the points in the table rows with a
fixed point. See the book for examples and better explanation.
Library:
- gal_binary_connected_indexs: store indexs of connected components.
- gal_blank_remove_realloc: Remove blanks and shrink allocated space.
- gal_box_bound_ellipsoid_extent: Extent of 3D ellipsoid.
- gal_box_bound_ellipsoid: Bounding box for a 3D ellipsoid.
- gal_statistics_unique: Return unique (non-blank) elements of the input.
** Removed features
** Changed features
** Bugs fixed
bug #56736: CosmicCalculator crash when a single value given to --obsline.
bug #56747: ConvertType's SLS colormap has black pixels which should be orange.
bug #56754: Wrong sigma clipping output when many values are equal.
bug #56999: Compilation error on macOS 10.9 not recognizing AT_FDCWD.
bug #57057: BuildProgram not using environment LDFLAGS or CPPFLAGS.
bug #57101: Crop segmentation fault when no overlap exists in image-mode.
bug #57164: MakeCatalog crashes when a label isn't in the dataset.
bug #57180: MakeCatalog reporting infinity S/N when --instd isn't an image.
bug #57200: Generated pkgconfig must request wcslib, not wcs.
bug #57293: NaN value for brightness-related columns when values have NaN.
* Noteworthy changes in release 0.10 (library 8.0.0) (2019-08-03) [stable]
** New features
Installation:
- With the the following options at configure time, its possible to
build Gnuastro without the optional libraries (even if they are
present on the host system): '--without-libjpeg', '--without-libtiff',
'--without-libgit2'.
All programs:
- When an array is memory-mapped to non-volatile space (like the
HDD/SSD), a warning/message is printed that shows the file name and
its size. Later, when its deleted, a warning/message is also printed,
informing you that it has been deleted. These warnings can be very
useful when you actually have enough RAM, but forget to increase the
'--minmapsize' value (therefore significantly slowing down the
program). When you don't have enough RAM, but don't want to be annoyed
with the warnings, you can use the new '--quietmmap' option to disable
them.
Arithmetic:
- 'unique' operator removes all duplicate (and blank) elements from the
dataset and returns a single-dimension output, containing only the
unique values in the dataset.
Crop:
- Can also crop 3D datasets (data cubes). A 3D crop has the same syntax
as the old 2D mode, only when the dataset is 3D, three coordinates
(values, ranges or catalog-columns) should be given to the relevant
option. Just note that '--polygon' crops are still not supported in
3D.
CosmicCalculator:
--obsline: alternative way to set the used redshift. With this option
instead of explicitly giving the redshift, you can give a rest-frame
and observed wavelength and the redshift to use will be calculated
internally. For many lines, it is possible to give the line name
instead of its rest-frame wavelength. For example
'--obsline=lyalpha,6000' will use the redshift where the Lyman-alpha
line has been shifted to 6000 Angstroms.
--usedredshift: Print the used redshift as a "Specific calculation" (in
line with other single-valued calculations).
Fits:
--primaryimghdu: Copy/cut the given image HDU to the zero-th/first
HDU of the output file that doesn't yet exist.
Statistics:
--sigclip-number, --sigclip-median, --sigclip-mean, --sigclip-std: Do
sigma-clipping and only print the desired value as a single-value
measurement. Until now sigma-clipping results included a lot of
visually useful information, which also made automatic usage of
results hard. These options fix this issue. Please see the example in
the book under '--sigclip-median' for a nice use case.
Table:
- Column arithmetic. It is now possible to apply many operations on the
input table columns before printing them in the output. Similar to
Arithmetic, but on table columns. The operators and notation is just
like the Arithmetic program. See the "Column Arithmetic" section of
the book for a detailed discussion and several examples.
- WCS to Image coordinate conversion with 'wcstoimg' and 'imgtowcs'. For
example if the input catalog has at least an 'ID' column and two 'RA'
and 'DEC' columns, the set of options below will produce 5 columns
where the last two columns are the image coordinates for each row
based on the WCS in 'a.fits':
'-cID,RA,DEC -c"arith RA DEC wcstoimg" --wcsfile=a.fits'
--head: Only output the given number of rows from the top of columns.
--tail: Only output the given number of rows from the bottom of columns.
Library:
- New 'speclines.h' library functions and macros related to spectral
lines. It has many macros with line wavelengths, and several functions
for using them in combination with their names.
- list.h: Functions to return the last element in linked lists. For
example 'gal_list_sizet_last' or 'gal_list_data_last'.
- gal_arithmetic_operator_string: Return operator string from code.
- gal_arithmetic_set_operator: Return operator code from string.
- gal_blank_initialize_array: Initialize an array with blank values.
- gal_dimension_remove_extra: Remove extra (length 1) dimensions.
- gal_list_data_to_array_ptr: Make an array of pointers from the list.
- gal_fits_img_info_dim: Only return the size information of a dataset.
- GAL_TYPE_INT: Corresponding to respective width based on system.
- GAL_TYPE_UINT: Corresponding to respective width based on system.
- GAL_BLANK_INT: Blank value for 'int' (can be 16-bit or 32-bit).
- GAL_BLANK_UINT: Blank value for unsigned 'int' (can be 16-bit or 32-bit).
** Removed features
** Changed features
Installation:
- Better './configure' tests (using Gnulib's 'AC_LIB_HAVE_LINKFLAGS') to
avoid some crashes during 'make' when the host had multiple
conflicting versions of some dependencies (GSL in particular).
Arithmetic:
- The output of co-adding operators is no longer the same type as the
input in general. The output of the 'min' and 'max' operators are
still the same type as the input. However the 'number' and
'sigclip-number' operators will output an unsigned 32-bit integer type
and the rest ('sum', 'mean', 'std', 'median', 'sigclip-median',
'sigclip-mean' and 'sigclip-std') return 32-bit floating point
datasets
MakeCatalog:
- When a clumps catalog is requested, MakeCatalog will automatically
deduce the total number of clumps (at a small cost in
performance). Until now, it was mandatory for the clumps label dataset
to contain the total number of clumps in the 'NUMLABS' keyword.
Library:
- gal_statistics_outlier_flat_cfp: Improved implementation with new API.
- New 'quietmmap' argument added to the following functions (as the
argument following 'minmapsize'). For more, see the description above
of the new similarly named option to all programs: 'gal_array_read'
'gal_array_read_to_type', 'gal_array_read_one_ch',
'gal_array_read_one_ch_to_type', 'gal_data_alloc',
'gal_data_initialize', 'gal_fits_img_read',
'gal_fits_img_read_to_type', 'gal_fits_img_read_kernel',
'gal_fits_tab_read', 'gal_jpeg_read', 'gal_label_indexs',
'gal_list_data_add_alloc', 'gal_match_coordinates',
'gal_pointer_allocate_mmap', 'gal_table_read', 'gal_tiff_read' and
'gal_txt_image_read'
Book: