-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
4031 lines (3416 loc) · 202 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-2023 Free Software Foundation, Inc.
See the end of the file for license conditions.
* Noteworthy changes in release 0.XX (library XX.0.0) (YYYY-MM-DD)
** New features
Arithmetic
--writeall: Write all datasets on the stack as separate HDUs in the
output; this is useful in debugging incomplete Arithmetic commands.
- New operators (also available in Table).
- isnotblank: same as 'isblank not', but slightly more efficient.
This was suggested by Sepideh Eskandarlou.
- swap: swap the top two datasets on the stack of operands.
- index: return dataset of same size, with pixel values that are
integers starting from 0 and incrementing one by one. This operator
doesn't pop the top dataset from the stack, it only adds one (to
avoid extra RAM usage in most usage scenarios).
- counter: similar to 'index', but integers start with 1.
- indexonly: similar to 'index', but pops the top stack dataset.
- counteronly: similar to 'counter', but pops the top stack dataset.
- constant: replace all elements of input image or column with the
given constant value (for example to set all pixels in an image to
NaN or zero), or to give identifiers to each source catalog when
adding rows from different catalogs, see the documentation for
complete examples.
- counts-to-nanomaggy: convert counts to Nanomaggy (with fixed
zeropoint of 22.5, used as the pixel units of many surveys like
SDSS). This was suggested by Giulia Golini.
- nanomaggy-to-counts: convert nanomaggy to counts. This was suggested
by Giulia Golini.
- box-vertices-on-sphere: calculate the RA,Dec of vertices of the four
vertices of a rectangle from its center and width along RA and
Dec. This takes into account the curved nature of the coordinate
system. Added after discussion with Martin Kuemmel.
- number-neighbors: Return the number of non-zero neighbors of each
non-zero pixel in a binary image.
- New operators (only in the Arithmetic program):
- interpolate-meanngb: interpolate blank values with mean of the
requested number of nearest neighbors.
- Alternative (shorter) names for existing operators, added after
discussion with Samane Raji.
- u8: same as 'uint8' (to convert to unsigned 8-bit integers).
- i8: same as 'int8' (to convert to signed 8-bit integers).
- u16: same as 'uint16' (to convert to unsigned 16-bit integers).
- i16: same as 'int16' (to convert to signed 16-bit integers).
- u32: same as 'uint32' (to convert to unsigned 32-bit integers).
- i32: same as 'int32' (to convert to signed 32-bit integers).
- u64: same as 'uint64' (to convert to unsigned 64-bit integers).
- i64: same as 'int64' (to convert to signed 64-bit integers).
- f32: same as 'float32' (to convert to 32-bit floating point).
- f64: same as 'float64' (to convert to 64-bit floating point).
Crop:
--append: if the output file already exists, append the cropped image
HDU to the already existing HDUs of the file. Without this option, any
existing HDUs in the output file will be removed (default behavior).
--metaname: Specify the name of the cropped output HDU (value to the
'EXTNAME' keyword in FITS).
MakeCatalog:
- Book: with the increasing number of possible measurements the
"MakeCatalog measurements" section of the Gnuastro book has been
broken into separate sub-section and contextually similar measurements
are grouped separartely there.
--sigclip-mean-sb: surface brightness (over one pixel's area in
arcsec^2) of the sigma-clipped mean of the values. This is useful in
scenarios where you want to compare surface brightness values
independent of the object's area, and by removing outliers (for
example in a radial profile). See the description of this option in
the book for more. This was added after a discussion by Ignacio
Trujillo and Zahra Sharbaf.
--sigclip-mean-sb-err: the error in '--sigclip-mean-sb' but using the
sigma-clipped standard deviation of the values as the error, not the
standard deviation image.
--sigclip-std-sb: the surface brightness (over one pixel's area in
arcsec^2) of the sigma-clipped standard deviation of the values. This
can be used to find the reliable surface brightness of a radial
profile for example.
NoiseChisel:
--outliernumngb: the number of neighboring tiles to reject those that
have passed (the mean-median quantile difference criteria) because of
being on the wings of bright stars/galaxies. Until now, this number
was the same as the number given to '--interpnumngb', but it is
confusing and can cause problems (because interpolation is done after
outlier rejection). From this version, '--interpnumngb' is only in
charge of the number of neighboring tiles for interpolation outliers
are defined based on the number of tiles given to this
option. Therefore, if you are not detecting the wings of large
galaxies, THE BEST solution is most-probably to increase
'--outliernumngb'. This was done after a discussion with Elham Saremi.
Statistics:
--outliernumngb: see description of same option in NoiseChisel.
Table:
- Vector columns with multiple values per column are now supported. The
following features have been added to help working on vector columns:
--Book: a new "Vector columns" section has been added under the Table
program which descibes the core concepts and usage examples of the
options below.
--information: also identifies vector columns (a column with more than
one value), by placing an '(N)' after the type. Where 'N' is the
number of elements within the vector.
--tovector: merge multiple single-valued columns into a new vector
column.
--fromvector: extract identified elements/tokens of a vector column to
separate single-valued columns.
--keepvectfin: do not delete the input columns to '--tovector' and
'--fromvector'.
--txteasy: (or '-Y') when output is a plain-text file or just gets
printed on standard output (terminal), all floating point columns are
printed in fixed point notation (as in '123.456') instead of the
default exponential notation (as in '1.23456e+02'). For 32-bit
floating points, use a precision of 3 digits and for 64-bit floating
points use a precision of 6 digits. This can be useful for human
readability, but be careful with some scenarios (for example
'1.23e-120', which will show only as '0.0'!). For more, see the
changes in Table in this version.
- New column arithmetic operator:
- sorted-to-interval: return two columns from a single (sorted) input,
containing the minimum and maximum values of an interval. The
intervals are defined such that the intervals of every row fully
cover the full range of values in the given column. This can be
useful in scenarios where you need to build the inputs of the
'--customtable' feature in MakeProfiles (to build a 2D image a
custom profile).
astscript-radial-profile:
--precision: sample the radial profile at precisions less than one
pixel. This is useful when you need to sample the profile within the
central few pixels more accurately than integer pixels. See the
documentation of this option in the book for a complete explanation
with examples.
Library:
- GAL_ARITHMETIC_OP_SWAP: swap the top two operands.
- GAL_ARITHMETIC_OP_INDEX: An index (counting from 0) for every element.
- GAL_ARITHMETIC_OP_INDEXONLY: Similar to 'GAL_ARITHMETIC_OP_INDEX'.
- GAL_ARITHMETIC_OP_COUNTER: A counter (counting from 1) for every element.
- GAL_ARITHMETIC_OP_COUNTERONLY: Similar to 'GAL_ARITHMETIC_OP_COUNTER'.
- GAL_ARITHMETIC_OP_COUNTS_TO_NANOMAGGY: convert counts to nanomaggy.
- GAL_ARITHMETIC_OP_NANOMAGGY_TO_COUNTS: convert nanomaggy to counts.
- GAL_ARITHMETIC_OP_BOX_VERTICES_ON_SPHERE: calculate the coordinates of
vertices of a rectable on a sphere from its center and width/height.
- gal_binary_number_neighbors: num. non-zero neighbors of non-zero pixels.
- gal_blank_flag_not: binary dataset with 1 for those input pixels that
were blank.
- gal_data_alloc_empty: Allocate an empty dataset with a given number of
dimensions.
- gal_list_f64_to_data: convert list of float64s to a 'gal_data_t'
dataset with the requested type.
- gal_list_data_remove: Remove the given dataset from the given list.
- gal_list_data_select_by_id: find/select a dataset from a list of
datasets using an identification string (either counter or name).
- gal_permutation_apply_onlydim0: When we have a 2D input, apply
permutation for all the elements of each row (along dimension-0 in C).
- gal_statistics_has_negative: see if input has a negative value.
- gal_table_col_vector_extract: extract the given elements of a vector
column into separate columns.
- gal_table_cols_to_vector: merge multiple columns into a vector column.
- gal_units_counts_to_nanomaggy: Convert counts to nanomaggy.
- gal_units_nanomaggy_to_counts: Convert nanomaggy to counts.
- gal_wcs_box_vertices_from_center: calculate the coordinates of
vertices of a rectable on a sphere from its center and width/height.
** Removed features
MakeCatalog
- Removed the short option format for the following measurements
(columns). This was done because the short options affect the sorting
in the output of '--help', making it hard to find the options
visually. Because most measurements do not have a short format, we have
seen that the short format is rarely used. Only the most commonly used
measurements keep their short format, and only when they don't affect
the alphabetic sorting of the output of '--help':
--area (short option was 'a')
--axis-ratio (short option was 'Q')
--magnitude-error (short option was 'G')
--num-clumps (short option was 'c')
--position-angle (short option was 'p')
--semi-major (short option was 'A')
--semi-minor (short option was 'B')
--sn (short option was 'n')
--sum (short option was 'b')
--upperlimit-mag (short option was 'u')
** Changed features
Configuration:
--with-python: this has replaced the old '--without-python' option. The
Python extension features in the Gnuastro library are no longer built
by default. To have them, you need to explicitly configure Gnuastro
with this option. This was necessary because Python has many
peculiarities that were causing problems for users that don't need it
in Gnuastro. These features are only necessary for those who compile
pyGnuastro from source, most future users of pyGnuastro will be
installing pre-built binaries it through services like PyPI, so they
won't be needing it either.
MakeCatalog:
- "Sum" used instead of "brightness"
--sum: new name for the old '--brightness' column. "Brightness" has a
specific meaning in astronomy/physics and has units of
energy/time. However, astronomical images aren't in this unit, they
are usually in counts, or can have an arbitray units (like
nanomaggy). The new name is derived from what this column does (sum
of pixel values) to avoid confusions.
--sum-error: new name for '--brightnesserr'.
--clumps-sum: new name for '--clumpbrightness'.
--sum-no-river: new name for '--brightnessnoriver'.
--checkuplim: now returns the center of each label's tile, not the first
pixel (the bottom-left pixel position of the tile). The old behavior to
return the first pixel was un-intuitive, would require several manual
steps (to measure the minimum and maximum positions of each tile,
measure the width along each dimension and add it), and could lead to
confusing results when ignored. See the updated documentation of this
option for more on custom usage in special situations.
- Using a hyphen to help in readability and usability:
Old name New name
======== ========
--areaarcsec2 --area-arcsec2
--areamaxv --area-max-val
--areaminv --area-min-val
--areaxy --area-xy
--axisratio --axis-ratio
--clumpsarea --clumps-area
--clumpsgeow1 --clumps-geo-w1
--clumpsgeow2 --clumps-geo-w2
--clumpsgeow3 --clumps-geo-w3
--clumpsgeox --clumps-geo-x
--clumpsgeoy --clumps-geo-y
--clumpsgeoz --clumps-geo-z
--clumpsmagnitude --clumps-magnitude
--clumpsw1 --clumps-w1
--clumpsw2 --clumps-w2
--clumpsw3 --clumps-w3
--clumpsx --clumps-x
--clumpsy --clumps-y
--clumpsz --clumps-z
--fracmax --frac-max
--fracmaxarea1 --frac-max1-area
--fracmaxarea2 --frac-max2-area
--fracmaxradius1 --frac-max1-radius
--fracmaxradius2 --frac-max2-radius
--fracmaxsum1 --frac-max1-sum
--fracmaxsum2 --frac-max2-sum
--geoarea --geo-area
--geoareaxy --geo-area-xy
--geoaxisratio --geo-axis-ratio
--geopositionangle --geo-position-angle
--geosemimajor --geo-semi-major
--geosemiminor --geo-semi-minor
--geow1 --geo-w1
--geow2 --geo-w2
--geow3 --geo-w3
--geox --geo-x
--geoy --geo-y
--geoz --geo-z
--halfmaxarea --half-max-area
--halfmaxradius --half-max-radius
--halfmaxsb --half-max-sb
--halfmaxsum --half-max-sum
--halfsumarea --half-sum-area
--halfsumradius --half-sum-radius
--halfsumsb --half-sum-sb
--hostobjid --host-obj-id
--idinhostobj --id-in-host-obj
--magnitudeerr --magnitude-error
--maxvx --max-val-x
--maxvy --max-val-y
--maxvz --max-val-z
--maxx --max-x
--maxy --max-y
--maxz --max-z
--minvx --min-val-x
--minvy --min-val-y
--minvz --min-val-z
--minx --min-x
--miny --min-y
--minz --min-z
--numclumps --num-clumps
--objid --obj-id
--positionangle --position-angle
--riverave --river-mean
--rivernum --river-number
--sberror --sb-error
--semimajor --semi-major
--semiminor --semi-minor
--sigclip-mean-sb-err --sigclip-mean-sb-delta
--skystd --sky-std
--surfacebrightness --sb
--upperlimitmag --upperlimit-mag
--upperlimitonesigma --upperlimit-onesigma
--upperlimitquantile --upperlimit-quantile
--upperlimitsb --upperlimit-sb
--upperlimitsigma --upperlimit-sigma
--upperlimitskew --upperlimit-skew
--weightarea --weight-area
MakeNoise:
--bgnotmag: new name for the old '--bgisbrightness' option. See the
description of changed '--sum' in MakeCatalog (above) for more.
MakeProfiles:
--mcolissum: new name for the old '--mcolisbrightness' option. See the
description of changed '--sum' in MakeCatalog (above) for more.
- Units of the output FITS image (value to 'BUNIT' keyword) is now
"counts", until now, it was "brightness". See the description of
changed '--sum' in MakeCatalog (above) for more.
Table:
- To avoid potential loss of information in floating point columns, when
printing the columns to standard output (in the terminal) or saving in
a plain-text file, the default floating point formats are now printed
in exponential (scientific) notation (e.g., 1.234e-5). Until now the
default notation was fixed-point notation (e.g., 0.00001234). A new
sub-section called "Printing floating point numbers" has been added to
the book (under the "Table" section) to clarify this important point.
-A: new short format for --txtf64format. The '-d' short format was
conflicting with the short option name for '--descending'.
astscript-psf-select-stars:
- Now uses the Gaia DR3 dataset by default (until now it was using eDR3).
astscript-psf-stamp:
astscript-psf-unite:
astscript-radial-profile:
--axis-ratio: new name for old '--axisratio'
--position-angle: new name for old '--positionangle'
Library:
- gal_blank_remove_rows: new 'onlydim0' argument to ignore vector columns
when checking for blanks.
- gal_txt_write: new 'tab0_img1' argument. Until now, this function would
distinguish between images and tables using the dimensions of the
input. But with the addition of vector columns in tables (that have 2
dimensions) this argument becomes necessary.
** Bugs fixed
bug #63266: Table ignores a value of 0 given to '--txtf32precision' or
'--txtf32precision=0' (happens when floating point columns
need to be rounded to integers). Reported by Sepideh
Eskandarlou.
bug #63270: Table aborts when called with '--descending' with complaint
on '--txtf64format' (that was added in Gnuastro
0.19). Reported by Giulia Golini.
bug #63285: Table not printing anything in rows of integer columns with
value of zero.
bug #63340: Statistics printing zero for values smaller than 1e-6 and
1e-14 for 32-bit or 64-bit floats respectively. Reported by
Elham Saremi.
bug #63345: WCS coordinate change not accounting for new equinox (only
relevant for equatorial outputs). Reported by Alejandro
Serrano Borlaff.
bug #63399: Table's '--noblank' or '--noblankend' crashing when input
has no rows. Reported by Elham Saremi.
bug #63485: Oversampling in radial profile has incorrect center. Reported
by Nafiseh Sedighi.
bug #63543: Programs delete input when it has same name as output.
Reported by Faezeh Bidjarchian.
* Noteworthy changes in release 0.19 (library 17.0.0) (2022-10-24)
** New features
Book:
- Two new sections added to the "General program usage tutorial" for
describing how to prepare a FITS image for high quality publication (in
PDF), and drawing vector graphics marks from a catalog over it (for
example to show your selected galaxies in the field of view). The use
the newly added features of ConvertType.
Arithmetic:
- Added new type operators and physical constants. All are also available
in Table's column arithmetic also).
- e: Base of the natural logarithm (no units).
- pi: Fraction of Circle cirumference to diameter (no units).
- c: speed of light in vaccume (in units of m/s).
- G: Gravitational constant (in units of m^3/kg/s^2).
- h: Plank's constant (in units of J/Hz).
- au: Astronomical Units (in units of meters).
- ly: Light years (in units of meters).
- avogadro: Avogadro's constant (in units of 1/mol).
- fine-structure: Fine structure constant (no units).
- counts-to-sb: convert counts to surface brightness (mag/arcsec^2).
- sb-to-counts: convert surface brightness (mag/arcsec^2) to counts.
- mag-to-sb: convert magnitudes to surface brightness over an area.
- sb-to-mag: convert surface brightness to magnitudes over an area.
- New operators that are specific to Arithmetic:
- collapse-median: collapse input dataset by calculating the median
along the given dimension.
- collapse-sigclip-std: Collapse with sigma-clipped standard deviation.
- collapse-sigclip-mean: Collapse with sigma-clipped mean.
- collapse-sigclip-median: Collapse with sigma-clipped median.
- collapse-sigclip-number: Collapse with number remaining after sigma-clip.
ConvertType:
- It is now possible to draw vector graphics marks from a catalog over
the output PDF images. The following options have been added to
ConvertType for doing this. See the "General program usage tutorial"
for a fully working example.
--marks: name of table containing mark information.
--markshdu: HDU of table if file given to '--marks' is FITS.
--markcoords: name or number of two columns containing coordinates.
--mode: if the coordinates are in 'img' (image) or 'wcs' (RA/Dec).
--markshape: name or number of column containing the shape of each mark.
--markrotate: name or number of column containing rotation of each mark.
--marksize: name or number of column containing the size of the mark.
--sizeinpix: interpret the values in the size column as pixels.
--sizeinarcsec: interpret the values in the size column as arc-seconds.
--sizeinarcmin: interpret the values in the size column as arc-minutes.
--marklinewidth: name or number of column containing mark's line width.
--markcolor: name or number of column containing mark's color.
--listcolors: List all the 140 available colors, and show the colors on
24-bit (true color) terminal.
--marktext: name or number of column containing text under each mark.
--marktextprecision: number of decimals to print as text when the text
column (given to '--marktext') is floating point.
--markfont: name or number of column containing the font to use for the
the mark text (given to '--marktext').
--markfontsize: name or number of column containing the size of the
font to use for the mark text (given to '--marktext').
--showfonts: build a demo PDF with one page per font to show the
various available fonts on the system.
--listfonts: List the names of the available fonts on the terminal.
- It is now possible to select the color of the border of images produced
in vector graphics outputs (EPS and PDF) with '--bordercolor'.
Fits:
--pixelareaarcsec2: print the image pixel area in units of arcsec^2 to
standard output. Among other things, this is useful in creating a
surface brightness image using the new 'counts-to-sb' operator of
Arithmetic.
--pixelareaonwcs: Ouput an image with the same number of pixels as the
input. But each pixel's value shows its area on the sky (in
degrees-squared). This area is calculated after accounting for
distortion, projection or rotation. Implemented by Pedram
Ashofteh-Ardakani.
--edgesampling: extra sampling along each pixel's edge used to configure
the output of '--pixelareaonwcs', similar to Warp.
Statistics:
- Linear and Polynomial least squares fitting are now available and very
easy to call on the command-line. They are wrappers over the respective
least squares fitting functions of the GNU Scientific Library. The
interface is pretty simple, like the example below:
aststatistics table.fits -cX,Y,Yerr --fit=linear-weighted
It is also possible to estimate values and errors of the fitted model
on a new X axis. A complete example has been added to the newly added
"Least squares fitting" section of the book (under the Statistics
program documentation). Please see that tutorial to easily use this
feature. The following new options have been added to the Statistics
program for this purpose:
--fit: the model to use. Currently the following models are supported:
linear
linear-weighted
linear-no-constant
linear-no-constant-weighted
polynomial
polynomial-weighted
polynomial-robust
--fitweight: nature of the "weight" column (default: standard dev).
--fitmaxpower: maximum power of X in polynomial models.
--fitrobust: weight function to use in the "robust" polynomial model.
--fitestimate: File name, or number to estimate the fit on.
--fitestimatehdu: HDU containing table in file given to '--fitestimate'.
--fitestimatecol: Column containing X axis values for '--fitestimate'.
Table:
- It is now possible to customize the format of floating point numbers in
the plain-text outputs: when output is printed on the standard output
(command-line) or in plain-text files. The following new options have
been added for this new feature:
--txtf32format (or '-f'): Format of 32-bit floating point columns. This
can be either 'fixed' (for fixed-point notation) or 'exp' (for
exponential/scientific notation).
--txtf32precision (or '-p'): number of digits following the
decimal-point of 32-bit floating point columns.
--txtf64format (or '-d'): Format of 64-bit floating point columns. This
can be either 'fixed' (for fixed-point notation) or 'exp' (for
exponential/scientific notation).
--txtf32precision (or '-B'): number of digits following the
decimal-point of 32-bit floating point columns.
Warp:
- Can correct distortions (with any standard recognized by WCSLIB) and
simultaneously align the image to the coordinate system. When no named
linear operation (like '--rotate', '--scale' or etc) is requested, Warp
will go into this mode. It is highly customizable through the following
options. See the "Invoking Warp" section of the book for more. This
feature has been written by Pedram Ashofteh-Ardakani.
--center: RA, DEC of the center of the central pixel of output.
--width: Width of output in degrees or pixels (see '--widthinpix').
--widthinpix: interpret values of '--width' as pixels.
--cdelt: Pixel scale of output ('CDELTi' keywords in FITS).
--ctype: Coordinates and projection algorithm. Default: RA/Dec and
Gnomonic or 'TAN').
--edgesampling: extra sampling of pixel polygon to account for strong
non-linear projection or distortion effects, when necessary.
--gridfile: warp the input to the exact WCS and pixel grid of the file
given to this option. This is very useful when matching images from
differetn surveys. Using this option, you can also insert distortions
in an image (for example on a mock image, to make it match an
observed exposure with dithering+distortion).
--gridhdu: HDU containing image to be matched in '--gridfile'.
--checkmaxfrac: visualize the Moiré pattern of the warp in the second
extension of the output. This is the maximum fraction of a single
input pixel's area in the output pixel. When the output pixel scale
is similar to the input, the Moiré pattern can cause varying
artificial smoothing of the noise level. See the newly added "Moiré
pattern and its correction" section of the book for more on its
basics and how to reduce it in your outputs.
astscript-fits-view:
--ds9colorbarmulti: show a separate color-bar for each image in DS9. By
default this script will show a single color-bar for all the images to
help save space on the monitor when there are many images.
astscript-psf-stamp:
- sub-pixel warping is applied to ensure that your coordinate is at the
center of the central pixel of the output image. This results in a
_major_ improvement when estimating the center of the PSF.
--nocentering: disable sub-pixel warping when creating the PSF stamp. As
described above, the sub-pixel warping is critical for the central part
of the PSF, but for the outer parts it is statistically negligible. So
to avoid slowing down you pipeline, you can disable sub-pixel warping
with this option.
--snthresh: if given, the value to this option is assumed to be a
signal-to-noise ratio (S/N) threshold and all pixels below that S/N
will be masked. This is useful because we are often forced to stack
stars of differing magnitudes. While the fainter ones are good for the
inner parts of the star, they degrade the stack's outer parts. With
this option, the fainter stars won't harm the outer parts.
GNU Make extensions (in a Makefile)
It is now possible to use custom Gnuastro functions in GNU Make, using
its extension facilities with Dynamic libraries. GNU Make is a very
powerful workflow manager that is also used for data analysis (not just
for compilation). With the Gnaustro Make functions, (astronomical) data
analysis becomes even more easier and faster. In the following, you can
see the first set of such functions (they all begin with 'ast-'). For
more, see the newly added chapter in the Gnuastro manual.
- ast-version-is: will return '1' if the running Gnuastro has the given
version (argument of this function). This can be used to ensure
reproducibility in combination with Make's conditional features, see
the minimal working example in the manual.
- ast-text-contains: will return space-separated words within a larger
list that contain a certain string. The to-contain string can be
anywhere within the words of the larger list.
- ast-text-not-contains: will return space-separated words within a
larger list that DO NOT contain a certain string. The to-not-contain
string can be anywhere within the words of the larger list.
- ast-fits-with-keyvalue: takes a keyword name, a list of keyword
values, a HDU and a list of FITS files. It will return only those
FITS files that have the requested value(s) in the requested keyword
of the requested HDU.
- ast-fits-unique-keyvalues: takes a keyword name, a HDU and a list of
FITS files. It will return all the unique values given to that
keyword within the FITS files.
Library:
- GAL_CONFIG_HAVE_PYTHON: non-zero if Python3+Numpy features included.
- GAL_CONFIG_HAVE_GNUMAKE_H: non-zero if GNU Make extensions can be made.
- gal_box_border_rotate_around_center: width of box after rotation.
- gal_color_id_to_name: return the name of a color from its ID.
- gal_color_in_rgb: return the fraction of red-green-blue in a color.
- gal_color_name_to_id: return the ID of a color from its name.
- gal_dimension_collapse_median: collapse input along dim. using median.
- gal_dimension_collapse_sigclip_mean: collapse with sig-clipped mean.
- gal_dimension_collapse_sigclip_std: collapse with sig-clipped STD.
- gal_dimension_collapse_sigclip_median: collapse with sig-clipped median.
- gal_dimension_collapse_sigclip_number: collapse with num. after sig-clip.
- gal_eps_shape_id_to_name: return the name of a shape from its ID.
- gal_eps_shape_name_to_id: return the ID of a shape from its name.
- gal_fit_name_to_id: Convert string name to ID of fitting model.
- gal_fit_name_from_id: Convert ID of fitting model to string name.
- gal_fit_name_robust_to_id: Convert name of robust weights to ID.
- gal_fit_name_robust_from_id: Convert ID of robust weights to name.
- gal_fit_1d_linear: linear fit of input columns.
- gal_fit_1d_linear_no_constant: linear fit with no constant.
- gal_fit_1d_linear_estimate: estimate a linear fit on a new X column.
- gal_fit_1d_polynomial: polynomial fit of input columns.
- gal_fit_1d_polynomial_robust: robust polynomial fit of input columns.
- gal_fit_1d_polynomial_estimate: estimate a polynomial fit on new X column.
- gal_fits_unique_keyvalues: extract all unique values to a certain
keyword in many files.
- gal_fits_with_keyvalue: select FITS image with a certain key value.
- gal_list_data_select_by_name: select a dataset from a list by its name.
- gal_list_str_cat: Concatenate (append) list to a space-separated string.
- gal_list_str_extract: Extract space-separated tokens to a list.
- gal_python_type_from_numpy: Convert Numpy's type id. to Gnuastro's.
- gal_python_type_to_numpy: Convert Gnuastro's type id. to Numpy's.
- gal_txt_contains_string: Check a certain string within in a larger one.
- gal_units_counts_to_sb: SB from counts, zeropoint and area.
- gal_units_mag_to_sb: surface brightness (SB) from magnitude and area.
- gal_units_sb_to_counts: counts from SB, zeropoint and area.
- gal_units_sb_to_mag: magnitude from SB and area.
- gal_warp_pixelarea: return image of same size, but with area on sky.
- gal_warp_wcsalign_init: initialize the WCS aligning structure.
- gal_warp_wcsalign_onpix: Per-pixel filling of output.
- gal_warp_wcsalign_onthread: function to give to pthreads.
- gal_warp_wcsalign: high-level function to align input by its WCS.
- gal_warp_wcsalign_free: free the contents of the WCS aligning structure.
- gal_wcs_free: free a WCS structure that is created or read by Gnuastro.
** Removed features
Statistics:
--refcol has been removed because it breaks the modularity principle
(given that it is the job of Gnuastro's Table program to limit rows
from a larger table based on many different criteria). The output of
Table can be directly piped to Statistics to achieve the same (and much
more feature-rich effect).
Warp:
--align: has been removed. This is because aligning an image (while
correcting for any possible distortion) is now the default behavior of
Warp (when no linear operations have been requested).
** Changed features
Book:
- The "General program usage tutorial" section is now the first section
of the Tutorial chapter, since it introduces the tools at a more basic
level. The "Sufi simulates a detection" (which was previously first)
has been moved to the fourth section.
Warp:
- The short format of the '--centeroncorner' option has been removed. The
'-c' is now the short format for the new '--center' option to Warp.
astscript-psf-scale-factor:
--widthinpix: new name for the old '--stampwidth' option. This was done
to have the same name to a similar option in Crop and help in
remembering.
astscript-psf-stamp:
--widthinpix: new name for the old '--stampwidth' option. This was done
to have the same name to a similar option in Crop and help in
remembering.
Library
- gal_eps_write: two new arguments have been added to draw marks, and to
set the border color.
- gal_pdf_write: similar to 'gal_eps_write'.
- gal_fits_hdu_open: new argument to optionally exit program if HDU
couldn't be opened.
- GAL_TABLE_DISPLAY_FMT_FIXED: new name for GAL_TABLE_DISPLAY_FMT_FLOAT
since it corresponds to the fixed-point notation of printing floating
points in plain-text (the '_FLOAT' suffix was too generic and unclear).
** Bugs fixed
bug #62861: '--printkeynames' of Fits program gets caught in an infinite
loop on FITS files that have empty keywords before
'END'. Found by Pedram Ashofteh-Ardakani.
bug #62892: Installed scripts don't account for differing LANG and
LC_NUMERIC. Found by Teet Kuutma and fixed by Raul
Infante-Sainz.
bug #62937: psf-scale-factor not being quiet, when requested. Found and
fixed by Sepideh Eskandarlou.
bug #62943: Couldn't read the value of width with '--snthresh' is called.
Found and fixed by Sepideh Eskandarlou.
bug #62944: No warning when the option value isn't immediately after the
equal sign in long format. Found by Faezeh Bijarchian.
bug #63013: Sigma clip segmentation fault when input has an integer type
with values close to saturation-level.
bug #63022: psf-scale-factor not saving the result in the output file,
found and fixed by Raul Infante-Sainz.
bug #63189: MakeProfiles custom profiles become NaN with a single row
being NaN, reported by Nafise Sedighi.
bug #63207: Match crashes when one input has no rows. Found by Sepideh
Eskandarlou.
bug #63257: Fits program's '--skycoverage' gives unreasonable outputs
when image crosses the RA=0 hour circle. Found by Irene
Pintos Castro.
bug #63261: Radial profile script ignores central pixel in azimuthal
profiles. Found and fixed by Sepideh Eskandarlou.
* Noteworthy changes in release 0.18 (library 16.0.0) (2022-07-21)
** New features
Book:
- New "Measuring the dataset limits" section has been added in second
tutorial. Using the catalogs produced during the analysis, it shows
how to derive a dataset's magnitude limit, completeness limit
(crudely: without simulations), and surface brightness limit. All are
important measures in any scientific analysis! This section was
written with the help of S. Zahra Hosseini Shahisavandi and Sepideh
Eskandarlou.
Arithmetic:
- New operators (also available in Table's column arithmetic):
- stitch: connect any number of input images along the given dimension
(for example to stitch the images of separate amplifiers of a CCD
into one image).
- noblank: Remove blank elements from the input and return a 1D output
(irrespective of how many dimensions the input had).
- jy-to-counts: convert Janskys to counts using an AB-magnitude-based
Zeropoint (the inverse operator 'counts-to-jy' already existed).
- mag-to-jy: convert AB magnitudes to Janskys.
- jy-to-mag: convert Janskys to AB magnitudes.
- load-col-%-from-%-hdu-%: Load a certain column into the operands
stack. The name or number of the column is the first '%'. The file
name hosting that column is the second '%', and HDU (if the file is
a FITS file), is identified by third '%'. This can be used to load
columns outside the main table in Table's column arithmetic or by
operators that need columns as input parameters (like the new
'random-from-hist' operator).
- random-from-hist-raw: return a set of random points based on a
custom distribution defined by its histogram. See the description
and complete examples in the book for more.
- random-from-hist: Similar to 'random-from-hist-raw', but within each
bin, the final returned value is itself the result of a uniform
sampling (to make the final distribution less descrete). See the
example in the book for selecting random star magnitudes based on
Gaia's observed magnitude distribution.
- New options to add metadata (standard FITS keywords) to your output
for easy understanding of the data in the future, or by your
colleagues if you share the output). Until now, to have this feature,
you needed to call Fits on the output of Arithmetic (for setting the
HDU name to "my-sum" for example):
astarithmetic img-a.fits img-b.fits + --output=sum.fits
astfits sum.fits --write=EXTNAME,"my-sum"
But with the following commands, you can add important metadata to the
output of Arithmetic in the same command and simplify your scripts:
--metaname: Metadata name of the output (FITS keyword: 'EXTNAME').
--metaunit: Unit of the output's pixels (FITS keyword: 'BUNIT').
--metacomment: Description of the data (FITS keyword: 'COMMENT').
Like the following for the example above:
astarithmetic img-a.fits img-b.fits + --metaname="my-sum" \
--output=sum.fits
Crop:
--oneelemstdout: when a crop has a single pixel and this option is
called, the single pixel's value will be printed on the standard
output instead of creating a FITS file. This option can be useful in
labeled images like detection maps (when you want to see what label a
certain coordiante/pixel corresponds to). This option was suggested by
Raul Infante-Sainz.
Fits:
- When no option is specified (thus printing the HDU metadata in the
given file), the units of the HDUs are also printed as a new
column. For tables, it will be blank ('n/a'); because tables have
separate units on each column (use 'asttable table.fits -i').
--copykeys: can now take any number of keyword names also. For example
'--copykeys=KEYNAME1,KEYNAME2,KEYNAME3'. Until now, it was only
possible to give this option a range of keyword positions (for example
'--copykeys=10:13' to copy the 10th to 13th keywords (inclusive). But
now, you can also select non-contiguous set of keywords to copy from
one HDU into another HDU (possibly in another file). This was
suggested by Juan Antonio Fernández Ontiveros and implemented with the
help of Jash Shah.
MakeProfiles:
- It is now possible to insert a custom image as a new (10th)
'custom-img' profile. This is useful when you have no-noise FITS
images from numerical simulations for example, and you want to insert
those at a certain location within a larger image (while optionally
adding existing Sersic, point or other profiles in the same
command). The magnitude of the inserted image can be set in the
magnitude column of the input catalog. This can be disabled (to use
the original image pixel values) using the '--mcolnocustimg' option.
--mcolnocustprof: new option to disable scaling of custom radial profiles
to required magnitude when building a 2D image from them.
Query:
- Short name for Gaia's DR3 dataset has been added for both ESA's Gaia
database and VizieR, for example with the following commands:
astquery gaia --dataset=dr3 --center=1.234,5.678 --radius=0.01
astquery vizier --dataset=gaiadr3 --center=1.234,5.678 --radius=0.01
astscript-radial-profile:
--zeroisnotblank: new option to account for zero-valued pixels in the
profile measurement. By default, during the internal cropping phase,
zero-valued pixels are set to blank (and thus not considered during
the profile measurement). When this option is called, it is directly
passed to the internal cropping command ('astcrop' has an option with
the same name). This was suggested by Ignacio Ruiz Cejudo and
implemented by Sepideh Eskandarlou.
Library:
- GAL_ARITHMETIC_OP_UNIQUE: to find unique elements in dataset.
- GAL_ARITHMETIC_OP_NOBLANK: to remove blank elements from dataset.
- GAL_ARITHMETIC_OP_STITCH: to stitch multiple datasets.
- GAL_ARITHMETIC_OP_RANDOM_FROM_HIST: the new 'random-from-hist' operator.
- GAL_ARITHMETIC_OP_RANDOM_FROM_HIST_RAW: the new 'random-from-hist-raw' op.
- gal_arithmetic_load_col: Low-level function for parsing the string of
the newly added 'load-col' operator, mentioned in the Arithmetic
section above.
- gal_statistics_std_from_sums: return the standard deviation using the
sum, sum of squares and number of a distribution.
** Removed features
** Changed features
MakeCatalog:
--std: measures the standard deviation of the object/clump pixels of the
values image. Until now, there was no column to calculate this,
and the '--std' column returned the _sky_ standard deviation over
the object/clump labels (from the standard deviation image,
ignoring the values image). But that was confusing, especially
since we have columns like '--mean' or '--median' which only use
the values image (see bug #62685).
--skystd: new name for old '--std', see description of '--std' above.
--sfmagnsigma: default value changed to 3 (more commonly used).
--sfmagarea: default value set to 100 arcsec^2 (more commonly used).
--upnum: MakeCatalog won't abort when '--upnum' is too small (less than
20). '--upnum' defines the number of random positions for upper-limit
measurements, so when its too small, the statistical precision of the
result will badly affected and MakeCatalog would abort with an error
message. However, in some scenarios (for example when the positions of
the random apertures from '--checkuplim' are needed) the actual
upper-limit measurements aren't relevant! So from this version,
instead of aborting MakeCatalog, it prints a warning and
continues. This was suggested by S. Zahra Hosseini Shahisavandi and
Ignacio Trujillo.
MakeProfiles:
- The string identifier for custom radial profiles is now called
'custom-prof' (until now, it was called 'custom'). This was necessary
because of the new custom image feature that has been added. The code
for this custom radial profile function (8) hasn't changed.
- After constructing a custom radial profile (the 'custom-prof'
profile), MakeProfiles will scale it to have the desired total
magnitude in the input catalog of all profiles. Until now, the 2D
images created from a custom radial profile wouldn't be touched and
the pixel values would exactly come from the custom radial profile
(ignoring the magnitude column of the input catalog). To have the old
behavior, use the new '--mcolnocustprof' option. This new
functionality was proposed by Elham Saremi.
Table:
--catcolumnfile: the '-N' suffix (where 'N' is a counter for the files
with concatenated, or appended, column) is only added if a column with
a identical column name (not case sensitive) existed in the
table. Until now, this suffix would be added to all the newly
concatenated columns (recall that the suffix addition can be disabled
in general with the '--catcolumnrawname' option).
--rowrange: new name for the old '--rowlimit'. This option takes the
range of desired rows based on their position (for example
'--rowrange=2,5' will only print rows 2, 3, 4 and 5 of the table). But
the old name was very confusing and would not directly convey this
behavior.
Radial profile script:
--azimuth: if the first azimuthal angle is larger than the second, the
outer region between the two angles will be used. For example
'--azimuth=80,40' will use the full azimuthal range except for the
region with azimuthal angles between 40 and 80 degrees. This can be
useful to ignore parts of the profile. See the example in the
description of this option on how to visually check the pixels used
for the profile.
** Bugs fixed
bug #62216: MakeProfiles crash when a 3D cube is requested and input
catalog is from a pipe. Found by Irene Pintos Castro.
bug #62220: astscript-psf-stamp crashes when coordinate not in image.
Found and fixed by Sepideh Eskandarlou.
bug #62250: Convolve crashes when doing PSF matching. Found with help of
Raul Infante-Sainz.
bug #62252: Radial profile giving one larger radius in high axis-ratio
profile. Found and fixed by Sepideh Eskandarlou.
bug #62253: Arithmetic: segmentation fault when invalid input given for
'ra-to-degree' or 'deg-to-degree' operators. Found by Pedram
Ashofteh-Ardakani.
bug #62305: Not reading the 'MemFree' keyword in '/proc/meminfo' to find
the available RAM (and thus printing an annoying
warning). Reported by Juan Miro.
bug #62309: MakeCatalog segmentation fault when clumps image given as
main input (objects should be given). Reported by Sepideh
Eskandarlou.
bug #62429: Segment prints one line status-progress line when called with
'--quiet'. Reported by Teet Kuutma.
bug #62548: Table doesn't recognize plain-text string column when defined
width is larger and it is the last column. Found with the
help of Sepideh Eskandarlou.
bug #62563: Some checks of installed scripts get skipped on macOS. Found
and fixed by Raul Infante-Sainz.
bug #62564: Arithmetic not parsing numbers in scientific notation (for
example '1e5'). Found by Elham Saremi.
bug #62590: Failure to build on macOS when building in debugging mode
('./configure --enable-debug'). Found by Raul Infante-Sainz.
bug #62597: Arithmetic not writing single-valued output into a file when
called with '--output'. Reported by Raul Infante-Sainz.
bug #62636: Table ignoring '--range' when '--head' is also
called. Reported by Sepideh Eskandarlou.
bug #62662: Table crashes when column arithmetic is applied after adding
rows from another file (with '--catrowfile').
bug #62674: Column arithmetic can't use columns from --catcolumnfile.
bug #62678: Radial profile script using values image instead of STD image
when '--instd' not used. Found and fixed by Raul Infante-Sainz.
bug #62679: MakeProfiles kernel only normalized when zeropoint is
zero. Found by Raul Infante-Sainz.
bug #62680: MakeProfiles using WCS-options when --background is given and
the background doesn't have WCS. Found with the help of Raul
Infante-Sainz.
bug #62683: Arithmetic's 'set-' operator not working after the 'makenew'
operator. Found by Raul Infante-Sainz.
bug #62685: MakeCatalog's '--std' option is wrongly interpreted as the
standard deviation of the values image, while it is actually
the root mean square of the Sky standard deviation
pixels. Found by Raul Infante-Sainz.
bug #62694: Radial profile script overestimates the surface brightness
error. Found and fixed with the help of Raul Infante-Sainz.
bug #62710: Plain-text integers starting with 0 are read in the octal
base (which is common in software engineering, but not in
data analysis). Found by Manuel Sánchez-Benavente.
bug #62718: Table goes into an infinite loop on some old ASCII FITS
tables. Found by Hilderic Browne.
bug #62720: Table not reading string columns that are shorter than the
defined width in the metadata.
bug #62721: Radial profile script can't deal with angles around azimuth
zero (for example '--azimuth=355,5' to get only the azimuthal
range of 10 degrees around the major axis). Found and fixed
by Samane Raji.
bug #62784: Conversion of sexagesimal RA or Dec ignores sign when first
digit is zero (for example '-00d12m34'). Found by Manuel
Sánchez-Benavente.
bug #62794: psf-stamp scripts produces inconsistant outputs on
failure. Found by Sepideh Eskandarlou and Nafise Sedighi.
* Noteworthy changes in release 0.17 (library 15.0.0) (2022-03-20)
** New features
New programs:
- astscript-fits-view: Given any number of FITS files, this script will
either open SAO DS9 (for 2D images or 3D cubes) or TOPCAT (for tables)
to visualize their contents in a graphic user interface (GUI). Both
SAO DS9 and TOPCAT are free software packages that are heavily used in
astrophysics. When opening in DS9, files will be opened as "match"ed
and "lock"ed frames, enabling easy visual comparison. For GUIs that
conform to the freedesktop.org standards, a '.desktop' file is also
provided that you can easily activate (as described in the
manual). Once activated, simply clicking on FITS file(s) in your
graphic environment will open DS9 or TOPCAT depending on their
contents. This script was suggested and partly written by Sepideh
Eskandarlou.
- A set of installed scripts to enable easy estimation and subtraction
of the extended PSF (in a highly modular and easily scalable
manner). They are primarily based on the method described in
Infante-Sainz et al. 2020
(https://ui.adsabs.harvard.edu/abs/2020MNRAS.491.5317I) and primarily
maintained by Raul Infante-Sainz himself and the help of Sepideh
Eskandarlou. A full tutorial on real data from the J-PLUS survey
(http://j-plus.es) has also been added to the tutorials chapter to
describe in full detail how to run these scripts in a generic way (on
any survey). These installed scripts all have a 'astscript-psf-*'
prefix in their names:
- astscript-psf-select-stars: Find all the stars within an image
that are suitable for constructing an extended PSF. If the image
has WCS, this script can automatically query Gaia to find the
good stars.
- astscript-psf-stamp: build a crop (stamp) of a certain width
around a star at a certain coordinate in a larger image. This
script will do sub-pixel re-positioning to make sure the star is
centered and can optionally mask all other background sources).
- astscript-psf-scale-factor: Given a PSF model, and the central
coordinates of a star in an image, find the scale factor that has
to be multiplied by the PSF to scale it to that star.
- astscript-psf-unite: Unite the various components of a PSF into
one. Because of saturation and non-linearity, to get a good
estimate of the extended PSF, its necessary to construct various
parts from different magnitude ranges.
- astscript-psf-subtract: Given the model of a PSF and the central
coordinates of a star in the image, do sub-pixel re-positioning
of the PSF, scale it to the star and subtract it from the image.
Book:
- New tutorial on how to extract the extended Point Spread Function
(PSF) from the actual science data and how to subtract
it. Written with the help of Raul Infante-Sainz and Sepideh
Eskandarlou.
- New section called "Skewness cased by signal and its measurement"
added to the third tutorial (Detecting large extended targets). It
describes the significant advantages of using the quantile of the mean
as a measure of skewness and why its a very important factor when
understanding how NoiseChisel works. It was originally written by