-
Notifications
You must be signed in to change notification settings - Fork 2
/
ChangeLog
1136 lines (790 loc) · 40.9 KB
/
ChangeLog
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
2016-05-27 Mohammad Akhlaghi <[email protected]>
Following the discussions in task #13779, the ChangeLog has not
been updated since 2015-11-05 (previous log). Instead, the commit
messages are very descriptive. Git's blame tool can be used to
check the history of any part of the code very effectively.
Gnulib has scripts to generate a ChangeLog from the commit history
so building this file automatically is possible and will be
implemented (task #14007). Once this ChangeLog is automatically
generated, it will be removed from the version controlled
source. Until then this file will remain unchanged. There is also a
discussion for adopting the ChangeLog format in the commit messages
in task #14008.
* ChangeLog: no longer updated.
2015-11-05 Mohammad Akhlaghi <[email protected]>
* doc/gnuastro.texi (Why C): Clarified explanations.
2015-11-04 Mosè Giordano <[email protected]>
* .gitignore: Add new regexps to the list of ignored files.
* doc/gnuastro.texi (Arguments): Mention new accepted extension.
* lib/fitsarrayvv.c (nameisfits): Add "fits.fz" to the list of
accepted extensions. Fixes task#13767.
(nameisfitssuffix): Ditto.
2015-10-18 Mosè Giordano <[email protected]>
* bin/imgcrop/imgcrop.c (imgcrop): Do not use modefunction to set
the function, run the functions manually instead. Fixes
bug#45380.
2015-10-16 Mosè Giordano <[email protected]>
* ./*: Change in many files the name of the package from
"gnuastro" to "Gnuastro". Fixes bug#46212.
* doc/forwebpage.sh: Use canonical path for bash shell.
* doc/plotbin/conversions.sh: Ditto.
2015-10-02 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/noisechisel.c (makeoutput): Added a "raw" term
in the comments of the noise statistics so emphasize that this is
from the raw mesh grid and not the interpolated and smoothed grid.
* bin/mkcatalog/mkcatalog.c (makeoutput): As explained below.
* doc/gnuastro.texi (Depth and limiting magnitude): Changed the
sigma which representes depth from the maximum to the median. The
maximum has a strong scatter and even one mesh can completely push
to unreasonable values. But the median is not affected by such
minor mesh variations, so it is a more robust measure of the
dispersion.
2015-10-01 Mohammad Akhlaghi <[email protected]>
* bin/imgcrop/ui.c (checkifset): Removed the hstartwcs and hendwcs
options as mandatory arguments.
* lib/fitsarrayvv.c (readfitswcs): Now applies the hstartwcs and
hendwcs options.
* include/fitsarrayvv.h: readfitswcs now takes the hstartwcs and
hendwcs values as arguments. This was done so all programs could
take in these options.
2015-09-23 Mohammad Akhlaghi <[email protected]>
* doc/gnuastro.texi (Depth and limiting magnitude): Updated
explanations in for the depth and limiting magnitude to be more
realistic.
* bin/mkcatalog/mkcatalog.c (makeoutput): Removed the limiting
magnitude calculation that was previously defined since it's
physical meaning is very unclear (it was mainly put as a
test). Also changed the surface brightness limit to a per-pixel
basis (independent of the projected area of the pixel) as
explained in the manual.
2015-09-17 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/mkprof.c (mkprof): Only print a log file if the
'--nolog' option is not called.
* bin/imgcrop/imgcrop.c (imgcrop): Only print a log file if the
'--nolog' option is not called.
* bin/mkprof/main.h (mkprofparams): Removed the p->dir0file1
parameter from the main structure.
* tests/mkprof/mosaic1.sh: Corrected the name of the first output
for the new individual name configuration (where the output file
name is suffixed to the row number).
* bin/mkprof/ui.c (sanitycheck): Now everything based on the
situation the basic information for the next steps is set here.
* bin/mkprof/mkprof.c (saveindividual): Removed the name checking
here. All the necessary information is now set in ui.c.
2015-09-13 Mohammad Akhlaghi <[email protected]>
* bin/imgwarp/imgwarp.c (imgwarponthread): Now calculates the
fraction of area that is blank (NaN) and if that fraction is
larger than a user defined value, then the output pixel will be
blank. Before the blank fraction was ignored.
* bin/imgstat/imgstat.c (reportsimplestats): Now uses the value to
the '--mirrordist' option instead of the fixed value of 1.5.
(reportsimplestats): Report the 'NOT ACCURATE' warning in a
separate line to make reading by AWK easier, also removed comma
between outputs for the same reason.
* bin/*/ui.c (readconfig): Now uses macros for common options.
(printvalues): Similarly uses macros for common options.
* lib/statistics.c (sigmaclip_converge): Removed commas between
the outputs to make reading by AWK easier.
(sigmaclip_certainnum): Similar to above.
* include/fixedstringmacros.h (GNUASTROBIBTEX): New name from
ASTRUTILSBIBTEX. Also the content was updated to the full ADS
BibTeX output after the paper was published.
* include/configfiles.h (CHECKSETCONFIG): Now checks for the
version of the program and also has a more cleaner/readable path
for reading/writing to the user configuration directory and
reading from the system configuration directory.
2015-08-16 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/thresh.c (snthresh): The check on the number of
objects in finding the S/N threshold is now done before sorting
the S/N table.
* bin/convolve/convolve.c (removepaddingcorrectroundoff): When the
maximum radius is smaller than the input images, then the final
kernel will be shrinked to have no only-zero column or row.
2015-08-05 Mohammad Akhlaghi <[email protected]>
* bin/convolve/convolve.c (frequencyconvolve): Divide the arrays
when the kernel should be made, multiply them when convolution is
to be done.
(frequencyconvolve): When in deconvolution mode, it will go to
another function to make the final product.
2015-07-31 Mohammad Akhlaghi <[email protected]>
* bin/convolve/convolve.c (makepaddedcomplex): Added a check to
make the padded image size an even number in both dimensions by
adding one pixel if it is odd. This was done because FFT
operations work much faster on even sized arrays.
2015-07-22 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/thresh.c (snthresh): Had mistakenly used
'p->detquant', for both detection and segmentation! This is now
corrected.
* bin/mkcatalog/mkcatalog.c (secondpass): Sets the river flux to
Sky for when the grown clumps are used, see the explanation
bellow.
* bin/mkcatalog/columns.c (brightnessmag): Corrected the
definition of brightness. It was incorrectly dividing the total
brightness by the area when the user asked for brightness.
(sncol): Can now work accurately when grown clumps are also
included. In a grown clump image, full detections that aren't
harmed by deblending are are fully labeled. So there is no river
pixels there and the S/N equations had to incorporate this.
2015-07-18 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/segmentation.c (nextavailablelabel): Now
accounts for the '--grownclumps' option.
* bin/noisechisel/args.h (options): Corrected the type of output
for '--gthresh'. I had forgot to include any for it!
2015-07-17 Mohammad Akhlaghi <[email protected]>
* lib/fitsarrayvv.c (pixelareaarcsec2): Previously called
pixelsteradians. Changed the units to arcsec^2 because it is more
useful.
* bin/noisechisel/detection.c (detlabelsn): Now using a new sum of
pixel values for flux weighted center of profile. The values are
stored as one column in the
2015-07-07 Mohammad Akhlaghi <[email protected]>
* bin/mkcatalog/mkcatalog.c (firstpass): Use only positive (after
subtracting sky) fluxes as weights for the flux weighted
center. Also calculate the geometric center (irrespective of
flux), so in case there are no positive pixels, the geometric
center is output instead (after all, the object should be
represented by some position and the NaN values that were used
before are not useful).
(secondpass): Similar to the above. Also I had simply replaced the
getclumpinfo method of NoiseChisel's clumps.c here. But I had
forgot that over there, all the neighboring clumps were within one
detection. But here, two clumps could be one river pixel appart
but belong to separate objects. So the wngb array has to have two
values for each clump, not one, see the comments for more. Also I
had to check the object IDs from the neighbors, not the river
pixel.
(setcpscorr): Removed. The minimum and maximum Standard deviations
are now stored by NoiseChisel into the header of the standard
deviation image. MakeProfiles then gets the value from those
header parameters, so there was no need for this function.
(makeoutput): The magnitude and S/N information is printed even if
the user has not asked for magnitudes and S/Ns.
* bin/mkcatalog/columns.c (sncol): Renamed variables to fit the
clumpsntable function in bin/noisechisel/clumps.c. Also, the river
flux is subtracted here, not before.
* lib/fitsarrayvv.c: The numblank variable did not actually store
the 'number' of blank pixels, it was only a 0 or 1 value to
specify if there are any blank pixels or not. It is now changed to
'anyblank' to be more clear and not confuse the readers. All the
Gnuastro programs that used this variable, were also corrected.
2015-07-06 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/noisechisel.c (noisechisel): After dilation, 4
connectivity was used to find the labels of the connected
components. However, when we are looking around the river pixels
in the segmentation process, we are looking in their 8-connected
neighbors. So when two 4-connected labeled regions are separate,
they can still be 8-connected and this will mess up the river flux
association functions where the flux of a river is given to the
clump that is touching it. It took me several frustrating hours to
find this very simple bug!
* bin/noisechisel/clumps.c (oversegment): NaN (masked) pixels are
no longer fed into this function. So the conditions to check for
them, especially in setting the top index are removed.
(getclumpinfo): Now uses a different number for the sum of flux
when trying to find the flux weighted center of the clump. This
sum is made of only positive values. Negative values cannot act as
weights and will mess up the center calculations. The new number
for each column is stored in a third column to the xys
array. Also, the xys array is no longer needed outside this
function.
2015-07-05 Mohammad Akhlaghi <[email protected]>
* bin/mkcatalog/columns.c (brightnessfluxmag): Previously
fluxmag. Now this function gives the brightness, flux and
magnitude depending on its input parameters.
* bin/mkcatalog/args.h (options): Corrected all usage of "flux"
and "brightness".
* doc/gnuastro.texi: Corrected all usage of "flux" and
"brightness".
* doc/forwebpage.sh (thismonth): Removed type=\"text/javascript\""
from the string since it seemed to be interfering with LibreJS.
2015-07-03 Mohammad Akhlaghi <[email protected]>
* lib/fitsarrayvv.c (readkeywords): Now reads multiple keywords.
2015-07-02 Mohammad Akhlaghi <[email protected]>
* bin/mkcatalog/mkcatalog.c (firstpass): Now accounts for blank
labeled pixels.
(setcpscorr): Now finds both the minimum and maximum of the STD,
maximum for finding the 5sigma magnitude.
* bin/mkcatalog/main.h (CATUNITMAG): Changed unit for magnitudes.
2015-06-26 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/thresh.c (qthreshonmesh): Only sort and find the
quantile if there actually is any pixels!
(applydetectionthresholdskysub): Now accounts for blank pixels.
* bin/noisechisel/segmentation.c (segmentation): Now only works on
non-blank pixels.
* bin/noisechisel/label.c (BF_concmp): Now accounts for blank
pixels in both unsigned char and long arrays.
(labareas): Accounts for blank pixels.
(removesmallarea_relabel): Accounts for blank pixels.
(labindexs): Accounts for blank pixels.
* bin/noisechisel/detection.c (detlabelsn): Now also removes
detections in the sky area that cover a detection after filling
holes.
(removefalsedetections): Changed to applydetsn.
(detsnthreshonmesh): Changed to detectpsedos. Practically this
function just fills the holes in each large mesh and opens the
binary result then puts the field back into the main p->dbyt
array. It does not calculate anything any more. Such calculations
have now become full image wide to find one S/N value over the
full image.
(detsnthreshongrid): Changed to detsnthresh. This function now
does the image-wide calculations that were previously done by
detsnthreshonmesh.
(dbytolaboverlap): Now accounts for masked unsigned char and long
arrays.
* bin/noisechisel/clumps.c (clumpsntableonmesh): Previously
clumpsnthreshonmesh. Moved all the countings and conditionals to
another function to find the S/N threshold from one distribution
over the image and not in the large meshs.
(findclumpsn): Previously clumpsngrid. Now it collects all the S/N
values from all the meshs into one array and uses that to find the
S/N threshold using a fixed function for both detection and
segmentation (snthresh in thresh.c).
* bin/noisechisel/binary.c: The fixed value of 2 is changed
BINARYNAN which is defined in binary.h. This makes managing the
special values to use more easy, especially now that FITSBYTEBLANK
is also being used from fitsarrayvv.h.
(fh_makeinv): Replaced the old functions to fill the inverse array
with new ones that don't use an index variable but pointers. It is
much more cleaner, faster and easier to read now. It also now
accounts for blank pixels and completely ignores them.
(fillboundedholes): Similar to fh_makeinv.
* bin/noisechisel/: The mesh based signal to noise calculations
are now gone and one value is calculated for the full image. This
allows for much better accuracy. Most of the steps in NoiseChisel
were modified to take this into account. Also blank pixels are now
included in the binary and labeled images too.
* lib/fitsarrayvv.c (arraytofitsimg): Moved the BLANK keyword
before EXTNAME.
2015-06-25 Mohammad Akhlaghi <[email protected]>
* bin/imgcrop/args.h (options): Changed inpolygon to
outpolygon. Everywhere that inpolygon appeared, it is now
outpolygon.
* bin/imgcrop/wcsmode.c (wcscheckprepare): Check for both axises
having the same pixel scale now incorporates floating point
errors.
* bin/imgcrop/crop.c (imgpolygonflpixel): Now gets the vertices
and their number instead of the cropparams structure. This was
done to make it be more general and use it in both Image mode and
WCS mode.
(onecrop): Allocation of the crp->ipolygon array was moved to the
cropflpixel function.
2015-06-13 Mohammad Akhlaghi <[email protected]>
* lib/fitsarrayvv.c (fileorextname): New name for the setmaskname
function. This was done to be a generic check, for all kinds of
input, not just the mask.
* bin/ : All the functions to make a copy of an input and print
string values were changed. These were mainly in ui.c and args.h
for each program. Until now, for each option, I would allocate,
check and set the proper values, but now, I wrote a small function
in checkset.c (allocatecopyset) which does the job. This makes
reading the code significantly more easy and less bugy.
2015-06-12 Mohammad Akhlaghi <[email protected]>
* bin/subtractsky/args.h (options): Removed the
--checkinterpolation option.
* bin/subtractsky/subtractsky.c (subtractsky): Similar to below.
* bin/noisechisel/thresh.c (findapplyqthreshold): Similar to
below.
* bin/noisechisel/sky.c (findavestdongrid): Similar to below.
* bin/noisechisel/detection.c (findsnthreshongrid): Now using
meshvaluefile from mesh.h instead of checking its self. Once the
--meshbasedcheck was added, doing all the checks in each function
was too long and repetative. So I just made this function to do
the job with one call and not distract the readers.
2015-06-11 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/args.h (options): 'minbfrac' and 'minnumfalse'
options moved under the 'Input' category from the detections
category. This move was because these two options are used by both
the detection and segmentation steps and thus keeping them under
detection would be confusing. Also 'checkthresh' was changed to
'checkthreshold'. Also, the option 'numerosion' was changed to
'erode' to be consistent with the opening and dilate options.
2015-06-10 Mohammad Akhlaghi <[email protected]>
* bin/mknoise/astmknoise.conf: Default background magnitude
changed to -10 and zeropoint to 0.0.
2015-06-09 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/clumps.c: All functions now use the
clumpsthreadparams structure as input instead of a list of
arguments.
(oversegment): ctp->topinds now keeps a good value when the clump
has NaN pixels over it.
* lib/mesh.c (imgindextomeshid): Corrected to work correctly when
the pixel might be lying on the last mesh that might be larger.
2015-06-08 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/thresh.c (applydetectionthresholdskysub):
Similar to below, uses p->imgss for sky subtracted image.
* bin/noisechisel/sky.c (subtractskyimg): Does not touch the input
image, puts the sky subtracted value in p->imgss.
* bin/noisechisel/noisechisel.c (noisechisel): Removed the
allocation of the mesh structures to ui.c
* bin/noisechisel/detection.c (detlabelsn): Uses p->imgss for the
sky subtracted image.
2015-06-07 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/oneprofile.c (randompoints): The random number
generator is now allocated (cloned) with the build thread and for
every profile the seed is independently set once. Before each
pixel would allocate and seed the random number generator
individually!
* bin/mkprof/astmkprof.conf: Changed default zeropoint magnitude
to 0.00.
* bin/mknoise/mknoise.c (mknoise): moved the random number
generator to ui.c to make things faster and more easier to
understand.
* bin/mknoise/args.h (argp_option): Removed the 'backgroundinmean'
option, because I couldn't figure out what use it would have. If
it is needed we can add it again later!
* bin/imgstat/args.h (argp_option): Changed 'binonzero' option to
the more general 'onebinvalue' option.
* bin/convolve/convolve.c (removepaddingcorrectroundoff):
Corrected bug: would return *d in both cases! It is corrected now.
2015-06-06 Mohammad Akhlaghi <[email protected]>
* lib/mesh.c (chbasedidfromgid): Chaged the old setmeshid to
chbasedidfromgid along with a new function (gidfromchbasedid). The
explanations on top of the first clearly explain everything
extensively. The old function (my understanding) was not yet
mature enough but now it seems to be very nicely working. All the
functions that used this were also changed.
* bin/noisechisel/astnoisechisel.conf: Changed default
lastmeshfrac to 0.51 from 0.6.
2015-06-04 Mohammad Akhlaghi <[email protected]>
* bin/subtractsky/subtractsky.c (avestdonthread): No more need for
setnan. Since all the meshes are initialized to NaN anyway.
* lib/mesh.c: Previously, the garrays would be allocated and freed
on every set of operations that were done on the mesh grid. I made
some modifications so there is no more need to allocate and free
them every time. A new prameter was added (ngarrays) so that on
each use of the garrays, the number of garrays that are needed are
kept here. All checks to work on the second garray are now done
through this parameter. In this fashion, when multiple operations
are to done on each mesh, there is no need to repeatedly free and
allocate the garrays. Nearly all the functions in mesh.c were
corrected to account for this.
2015-06-03 Mohammad Akhlaghi <[email protected]>
* bin/noisechisel/astnoisechisel.conf: Changed default dthresh to
-0.1.
* lib/statistics.c (histogram): Corrected the function. Until now,
there was a problem when an element was on the last bin: it would
go onto the next bin and thus would not be counted. This issue is
now corrected.
(cumulativefp): Same as above.
2015-06-02 Mohammad Akhlaghi <[email protected]>
* lib/mesh.c (operateonmesh): mp->indexs is now allocated in
makemesh. Because all the programs that will need threads on meshs
will need it, so it is best to set mp->indexs once and for all in
makemesh.
(meshinterponthread): Removed the naninds array, a new option was
added to interpolate only on blank pixels when needed.
(preparemeshinterparrays): Similar to the above.
2015-06-01 Mohammad Akhlaghi <[email protected]>
* lib/statistics.c: Removed all isnan checks in the comparison
functions for the minimum and maximum values. NaN values will
automatically fail all comparisons.
* lib/timing.c (reporttiming): Removed the 'in' from reporting
seconds.
* include/timing.h (VERBMSGLENGTH_V): Changed to 45 from 40.
2015-05-27 Mohammad Akhlaghi <[email protected]>
* bin/convolve/args.h (options): Remove the 'noedgecorrection'
option. Since it was useless. Also changed the old short option
for spatial ('s') to 'p'. Because 's' is now needed for the mesh
size option. Also changed the old short option for khdu ('H') to
'U', to make it similar to all the other programs that do
convolution.
* include/mesh.h (meshparams): the garrays are now only
pointers. The allocated arrays are either cgarrays or fgarrays and
based on the user's will, garray will be set equal to one of these
two options. All the functions in mesh.c were changed to
accomodate this change.
2015-05-25 Mohammad Akhlaghi <[email protected]>
* lib/mesh.c (operateonmesh): New name for 'fillmesh'. Now the
function that will be spinned off from each thread can be
specified from the outside.
2015-05-24 Mohammad Akhlaghi <[email protected]>
* bin/imgcrop/crop.c (sectionparser): When only a '*' was given
with no positive or negative following number, a segmentation
fault would happen. This bug is now fixed.
* lib/spatialconvolve.c (sconvonthread): No convolution will be
attempted for a NaN pixel.
2015-05-23 Mohammad Akhlaghi <[email protected]>
* lib/mode.c (modesymmetricity): Corrrected topi to account for
the case when 2*mi is larger than size.
* bin/subtractsky/args.h: --numnearest and --kernelwidth moved to
the 'Mesh grid' part of the help output. --checksmoothing and
--checkinterpolation also moved to the 'Mesh grid' part.
* lib/mesh.c (checkgarray): Modified to show both the full, or
contiguous over full image, garray and the default one which is
contiguous only over each channel.
2015-05-20 Mohammad Akhlaghi <[email protected]>
* lib/mode.c (modesymmetricity): Corrected topi to the end of the
mirror distribution.
(modesymmetricity): If no diff point is found, the end of the
mirror distribution is used. Before it was the end of the data!
(valuefromsym): af set to the quantile of the mirror distribution.
2015-05-18 Mohammad Akhlaghi <[email protected]>
* bin/convolve/convolve.c (complextoreal): Changed the two states
to three to add only conerting the real part of an array.
2015-05-15 Mohammad Akhlaghi <[email protected]>
* bin/convolve/convolve.c (removepaddingcorrectroundoff): The
limit to check for floating point errors is now set by a macro and
changed to 1e-10 instead of 1e-17.
* lib/statistics.c (sigmaclip_converge): Now, there is a limit on
the number of times to try for convergence.
* lib/mode.c (makemirrorplots): All the output paramters are now
given as arguments so the output can be fully configured from the
outside. Also, the method that it sets the plot ranges is now
better configurable.
* include/mode.h (MODESYMGOOD): Changed to 0.2 from 0.15 based on
new simulation tests.
2015-05-11 Mohammad Akhlaghi <[email protected]>
* lib/statistics.c (setbins): Changed method to find the bin that
has the value zero within it. Before it would just choose the
first bin with a positive value. But now, it will check the signs
of the two interval sides of the bin and when ever the
multiplication becomes negative, that bin is chosen.
(histogram): Changed so the last bin is a closed bin, not half
open like the rest of the histogram bins. This also includes
floating point rounding error.
(cumulativefp): Same as the histogram function.
(sigmaclip_certainnum): Printing is now an option.
(sigmaclip_converge): Printing is now an option.
* lib/mode.c (makemirrorplots): New name for the old
savemodeplots.
* include/mode.h: Changed input arguments to
modeindexinsorted. Plots can now be made through the separate
makemirrorpolots function.
2015-05-05 Mohammad Akhlaghi <[email protected]>
* bin/subtractsky/ui.c (preparearrays): Moved the function that
reads any input as float and incorporates the mask into it.
* include/fixedstringmacros.h (MOREHELPINFO): Removed long
explanation about help-gnuastro. Instead an info link to the part of
the manual that introduces it was included.
2015-05-03 Mohammad Akhlaghi <[email protected]>
* include/fixedstringmacros.h (MOREHELPINFO): Corrected to include
help-gnuastro mailing list.
* doc/style.css (a:hover): Changed to bright orange color.
(a:active): Changed to dark orange.
2015-04-24 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/oneprofile.c (makepixbypix): When in circumference
mode, if the truncation radius is reached, it is filled with the
profile value. This is done so very elongated profiles can at
least show a one pixel circumference.
* bin/mkprof/main.h (MINCIRCUMWIDTH): Changed to 0.5f.
* lib/checkset.c (doublelvalue): Corrected bad value report when
options are called.
2015-04-21 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/ui.c (freeandreport): Avoided double-free by only
freeing mergeedimgname when it is not equal to output.
* bin/mkprof/oneprofile.c (makepixbypix): Will only do monte carlo
integration when the profile is not a constant value.
(setprofparams): Changed the function of point to 'Fixed'.
* bin/mkprof/mkprof.c (write): Changed to replace and read from an
image and add profiles on that.
* lib/statistics.c: All float and double functions can now work
with NaN too.
* bin/mkprof/ui.c (setparams): Catalog is always given, no need to
check.
* doc/gnuastro.texi: Removed all "Future updates ..." subsections
in the manual. They are now managed in the Gnuastro project
webpage on Savannah.
2015-04-13 Mohammad Akhlaghi <[email protected]>
* lib/fitsarrayvv.c (updatekeys): When no value is given, it will
use fits_update_key_null.
(readwcs): Uses fits_free_memory instead of clib's free.
2015-04-06 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/mkprof.c: Corrected condition when a thread would
finish 'build' profiles but the last set of its profiles wouldn't
pass onto 'write'.
* bin/mknoise/: Changed background flux unit to magnitudes, not
flux.
* THANKS: Added institutions which also helped.
2015-04-03 Mohammad Akhlaghi <[email protected]>
* lib/fitsarrayvv.c: Changed all occurences of 'nul' or 'NUL' to
'blank' or 'BLANK'. The FITS standard defines a BLANK keyword for
integer types.
(copyrightandend): Will now right extra headers.
(arraytofitsimg): Can now accept header to write to output.
* include/fitsarrayvv.h: Changed all 'NUL' macros to 'BLANK'.
2015-04-02 Mohammad Akhlaghi <[email protected]>
* lib/fitsarrayvv.c (changetype): Round floating point input types
for integer output types.
(arraytofitsimg): Added numblank as a variable, to deal with blank
pixels.
* bin/imgwarp/imgwarp.c (imgwarppreparations): Coorected the point
(1.0f, 1.0f) to be center of the first pixel, not zero.
* lib/fitsarrayvv.c (copyrightandend): Removed the Copyright
notice of Gnuastro from the output image header. Since it might be
confused with a copyright on the data its self.
2015-04-01 Mohammad Akhlaghi <[email protected]>
* bin/imgwarp/args.h: Temporarily removed the wrap option. Will be
added later.
2015-03-24 Mohammad Akhlaghi <[email protected]>
* bin/imgcrop/ui.c (preparearrays): Aborts if in WCS mode and the
wcsprm structure could not be started.
* bin/imgcrop/crop.c (firstcropmakearray): Only adds WCS headers
if the wcsprm structure is defined.
* lib/fitsarrayvv.c (readwcs): If any error occurs, a warning
message will be printed and the returned pointer will be NULL.
2015-03-17 Mohammad Akhlaghi <[email protected]>
* tests/convertt/: If libjpeg is not present, the tests will be
skipped.
* bin/convertt/: libjpeg is now optional.
* configure.ac: Changed libjpeg to an optional requirement. So if
it is not available, Gnuastro can still be built.
2015-03-16 Mohammad Akhlaghi <[email protected]>
* bin/convolve/ui.c (preparearrays): The flip parts was missing a
-1.
* doc/gnuastro.texi: Changed all 'gnuastro' occurrences in the
text to 'Gnuastro'.
2015-03-14 Mohammad Akhlaghi <[email protected]>
* bin/convolve/convolve.c: Added frequency domain convolution.
2015-03-12 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/ui.c (setparams): Added condition for no output given.
* bin/mkprof/astmkprof.conf: Removed output.
* bin/imgcrop/ui.c (sanitycheck): Moved check of reentrancy in
cfitsio to the end so if numthreads is set to 1, there is no
problem.
* bin/convertt/ui.c (sanitycheck): Added check if output is not set.
* bin/convertt/astconvertt.conf: Removed output.
* lib/spatialconvolve.c: First version complete.
* configure.ac: Removed sqrt and pthread tests (they are done by
Gnulib). Added the AX_PTHREAD macro from Autoconf archives.
2015-03-11 Mohammad Akhlaghi <[email protected]>
* bin/convolve/: Adding new functions and steps.
* ./: Copyright transferred to the FSF. Copyright notices in all
files changed.
2015-03-10 Mohammad Akhlaghi <[email protected]>
* tests/imgcrop/*.sh: Set --numthreads=1 for all the tests so if
CFITSIO is not installed with reentrancy, there is no failures.
* tests/Makefile.am: Made the fitstopdf result conditional on if
GPL GhostScript is installed.
* include/astrthreads.c: Removed the old function and structure
for replacing the pthread_barrier type and functions that was copy
and pasted from another webpage and replaced it with my own
implementation.
* configure.ac: bug report email set. pthread_barrier checked. GPL
GhostScript checked.
2015-03-09 Mohammad Akhlaghi <[email protected]>
* include/astrthreads.h: Added a temporary function so the
pthread_barrier type and functions can be run on systems that
don't support it. I have contacted the author and it will only
remain if he clarifies the license. I have also asked the Gnulib
people to try to include it so this issue can be completely fixed.
* configure.ac: Added checks for nproc and gs along with warnings.
2015-03-02 Mohammad Akhlaghi <[email protected]>
* bin/convolve/: Work started on Convolve.
* lib/fitsarrayvv.c: Changed array types from intXX_t to short,
long and LONGLONG. Unfortuantely this is how CFITSIO works.
2015-02-22 Mohammad Akhlaghi <[email protected]>
* doc/gnuastro.texi: Added index, changed "Science and its
software".
2015-02-20 Mohammad Akhlaghi <[email protected]>
* doc/gnuastro.texi: Removed list of programs at first, added a
programs index. Added an examples chapter along with some one line
examples of each program. Moved the Why C and design philosophy
subsections to the Developing chapters.
* src: All 'error' functions are now called with a string literal
and not a string variable. Also all 'system' function calls now
check the return value.
* lib: Similar to above.
* include: similar to above.
2015-02-18 Mohammad Akhlaghi <[email protected]>
* lib/Makefile.am: Changed all static libraries to libtool static
libraries.
* doc/gnuastro.texi: Updated.
* configure.ac: Added Libtool checks. Corrected cfitsio and wcslib
dependencies and removed FFTW as a dependency.
2015-02-17 Mohammad Akhlaghi <[email protected]>
* bin/convertt/eps.c: Functions for binary image added.
* lib/fitsarrayvv.c (nameisfits): Check length.
* doc/gnuastro.texi (Internal libraries): Removed details of
libraries.
* README: Details removed.
2015-02-16 Mohammad Akhlaghi <[email protected]>
* lib/statistics.c (dminmax): Works with NAN values too.
(fminmax): Similar to dminmax.
* doc/gnuastro.texi (ConvertType): Updated.
2015-02-13 Mohammad Akhlaghi <[email protected]>
* bin/convertt/args.h (argp_options): 'convert' changed to
'change'. Since the program name is also convert this could cause
confusions.
* doc/gnuastro.texi (Invoking astconvertt): Option explanations.
* bin/convertt/jpeg.c (savejpeg): Corrected the pixel ordering.
* bin/convertt/convertt.c (doubleto8bit): Find minimum and maximum
for all colors to set the scale, not just one color.
* lib/fitsarrayvv.c (arraytofitsimg): Will not remove comments.
* include/fixedstringmacros.h (SHORTCOPYRIGHT): Corrected year.
* lib/fitsarrayvv.c (nameisfits): Dot no longer included.
(nameisfitssuffix): Added.
(changetype): Corrected input and output pointers.
* doc/gnuastro.texi (ConvertType): Added explanations.
(Future updates): Chapter removed.
2015-02-11 Mohammad Akhlaghi <mohammad@akbari>
* bin/convertt/ui.c (preparearrays): Added.
* bin/convertt/jpeg.c (preparejpeg): Added.
* doc/gnuastro.texi (Files): Added chapter
(ConvertType): Added section
(FileInfo): Added section
2015-02-08 Mohammad Akhlaghi <[email protected]>
* bin/convertt: Started working on ConvertType.
* lib/checkset.c (intsmallerequalto): Function Added.
* include/fixedstringmacros.h (ASTRUTILSBIBTEX): Corrected article
name
* include/checkset.h: Added intsmallerequalto.
2015-01-25 Mohammad Akhlaghi <[email protected]>
* ./*: In all files, the name 'AstrUtils' was changed to
'gnuastro' and the 'astr' prefix was changed to 'ast'.
2015-01-20 Mohammad Akhlaghi <[email protected]>
* tests/imgcrop/makerandomcat.py: Removed, because now the points
are very specific.
* tests/imgcrop/*.sh: Corrected the inputs to the outputs of
MakeProfiles tests.
* tests/Makefile.am (TESTS): Added tests for MakeProfiles.
* Makefile.am (EXTRA_DIST): Moved the distribution files for each
folder to the Makefile.am in that folder.
2015-01-19 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/ui.c: Steps for reading and checking WCS parameters
added.
* bin/mkprof/oneprofile.c (ispsf): Added for a fixed place to
check if a profile is a PSF.
(makeoneprofile): Finding mkp->xc and mkp->yc moved here.
* bin/mkprof/mkprof.c (preparewcs): Added.
(build): Removed finding mkp->xc and mkp->yc.
* bin/mkprof/args.h (argp_option): Added WCS related options.
* bin/imgcrop/imgcrop.c (imgcrop): Number of barriers, corrected
for when the number of jobs was less than the number of threads.
* lib/fitsarrayvv.c (addwcstoheader): Changed the WCS structure to
the WCS header string as input.
(arraytofitsimg): Convert the WCS structure and remove the
comments CFITSIO in here.
(atofcorrectwcs): Added.
* doc/astrutils.texi: Updated.
2015-01-18 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/mkprof.c (writelog): Added.
(write): Completed.
* bin/mkprof/args.h (arg_option): Added '--nomerged'.
* lib/txtarrayvv.c (doformatting): Added option to use 'f' in
printf or 'g'.
2015-01-16 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/mkprof.c (builtqueue_addempty): Added.
(saveindividual): Added.
(build): Is working until the profile is built.
* bin/mkprof/ellipse.h: Function taken to 'box.h'.
* bin/mkprof/ellipse.c: Function taken to 'box.c'.
* bin/mkprof/args.h (argp_option): added '--numrandom', changed
'mginimg' to 'psfinimg'.
* bin/imgcrop/main.h (imgcropparams): iwidth is now a 2 element
array.
* bin/imgcrop/crop.c: Removed 'borderfromcenter' and
'correctflpixels' to 'lib/box.c'.
* lib/stats.h: Changed to 'statistics.h', all non-used functions
removed.
* lib/arraymanip.c: Removed all non-used functions.
* include/stats.h: Changed to 'statistics.h' and all non-used
functions removed.
* include/fixedstringmacros.h (ASTRUTILSBIBTEX): Added.
* include/commonargs.h (argp_option): Added '--cite' option and
added the 'main.h' and 'cite.h' header for each program to use
their names.
* include/checkset.h: function name 'nameiswritable' is changed to
dir0file1 which is much more descriptive.
* include/arraymanip.h: Removed all the non-used functions from
the past. New functions will be added as they are needed.
* doc/astrutils.texi: Updated.
2015-01-13 Mohammad Akhlaghi <[email protected]>
* bin/mkprof/ui.c (preparearrays): Added.
(setparams): numthreads initialized to configured value.
* bin/mkprof/mkprof.c (build): Added.
(write): Added.
(mkprof): Parallel jobs configured.
* bin/mkprof/ellipse.c: Added
* bin/mkprof/args.h (argp_option): Changed psfprofsinimg to mginimg.
* bin/imgcrop/imgcrop.c (imgcrop): Used attrbarrierinit.
* lib/astrthreads.c (attrbarrierinit): Added.