aboutsummaryrefslogtreecommitdiff
path: root/reproduce/analysis/make/delete-me.mk
blob: 6db0bf9433b6272de04884291d2c978b5780b89a (plain)
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
# Dummy Makefile to create a random dataset for plotting.
#
# Copyright (C) 2018-2023 Mohammad Akhlaghi <mohammad@akhlaghi.org>
#
# This Makefile is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This Makefile is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this Makefile.  If not, see <http://www.gnu.org/licenses/>.





# Demo image PDF
# --------------
#
# For an example image, we'll make a PDF copy of the WFPC II image to
# display in the paper.
dm-histdir = $(texdir)/image-histogram
$(dm-histdir): | $(texdir); mkdir $@
dm-img-pdf = $(dm-histdir)/wfpc2.pdf
$(dm-img-pdf): $(dm-histdir)/%.pdf: $(indir)/%.fits | $(dm-histdir)

#	When the plotted values are re-made, it is necessary to also
#	delete the TiKZ externalized files so the plot is also re-made.
	rm -f $(tikzdir)/delete-me-image-histogram.pdf

#	Convert the dataset to a PDF.
	astconvertt --colormap=gray --fluxhigh=4 $< -h0 -o$@





# Histogram of demo image
# -----------------------
#
# For an example plot, we'll show the pixel value histogram also. IMPORTANT
# NOTE: because this histogram contains data that is included in a plot, we
# should publish it, so it will go into the $(tex-publish-dir).
dm-img-histogram = $(tex-publish-dir)/wfpc2-histogram.txt
$(dm-img-histogram): $(tex-publish-dir)/%-histogram.txt: $(indir)/%.fits \
                     | $(tex-publish-dir)

#	When the plotted values are re-made, it is necessary to also delete
#	the TiKZ externalized files so the plot is also re-made.
	rm -f $(tikzdir)/delete-me-image-histogram.pdf

#	Generate the pixel value histogram.
	aststatistics --lessthan=5 $< -h0 --histogram -o$@.data

#	Put a two-line description of the dataset, copy the column metadata
#	from '$@.data', and add copyright.
	echo "# Histogram of example image to demonstrate Maneage (MANaging data linEAGE)." \
	     > $@.tmp
	echo "# Example image URL: $(DEMO-URL)" >> $@.tmp
	echo "# " >> $@.tmp
	awk '/^# Column .:/' $@.data >> $@.tmp
	echo "# " >> $@.tmp
	$(call print-general-metadata, $@.tmp)

#	Add the column numbers in a formatted manner, rename it to the
#	output and clean up.
	awk '!/^#/{printf("%-15.4f%d\n", $$1, $$2)}' $@.data >> $@.tmp
	mv $@.tmp $@
	rm $@.data





# Basic statistics
# ----------------
#
# This is just as a demonstration on how to get analysic configuration
# parameters from variables defined in 'reproduce/analysis/config/'.
dm-img-stats = $(dm-histdir)/wfpc2-stats.txt
$(dm-img-stats): $(dm-histdir)/%-stats.txt: $(indir)/%.fits \
                 | $(dm-histdir)
	aststatistics $< -h0 --mean --median > $@





# TeX macros
# ----------
#
# This is how we write the necessary parameters in the final PDF.
#
# NOTE: In LaTeX you cannot use any non-alphabetic character in a variable
# name.
$(mtexdir)/delete-me.tex: $(dm-img-pdf) $(dm-img-histogram) \
                          $(dm-img-stats)

#	Write the number of random values used.
	echo "\newcommand{\deletemenum}{$(delete-me-squared-num)}" > $@

#	Write the statistics of the demo image as a macro.
	mean=$$(awk     '{printf("%.2f", $$1)}' $(dm-img-stats))
	echo "\newcommand{\deletemewfpctwomean}{$$mean}"          >> $@
	median=$$(awk   '{printf("%.2f", $$2)}' $(dm-img-stats))
	echo "\newcommand{\deletemewfpctwomedian}{$$median}"      >> $@