86 lines
3.5 KiB
Bash
Executable file
86 lines
3.5 KiB
Bash
Executable file
#!/bin/sh
|
|
# © M E C Swanson 2008
|
|
#plot the angular mask described by a polygon file in graphics format
|
|
#using sm
|
|
#
|
|
#optional 3rd-6th arguments give the RA and Dec range to plot the mask
|
|
#If no range is given, range will be calculated automatically from the data.
|
|
#If only an RA range is given, Dec range will be calculated automatically
|
|
#to give equal scaling on x and y axes, centered on the range of all the data.
|
|
#
|
|
#Entering in "0 0 0 0" for the range will also give an automatic range,
|
|
#which can be used if you also wish to, e.g., enter a title.
|
|
#Likewise entering "0 0" for the Dec range is equivalent to only specifying an RA range.
|
|
#
|
|
#optional 7th argument gives a title for the graph
|
|
#optional 8th argument turns on drawing black outlines around each polygon
|
|
#
|
|
#if specifying the full path to a file (rather than just running in the directory
|
|
#containing the file you want to plot), put the path in double-quotes as shown below.
|
|
#
|
|
#USAGE: graphmasksm.sh <infile> <outfile> [<ramin> <ramax>] [<decmin> <decmax>] [<title>] [<outlines>]
|
|
#EXAMPLES:
|
|
#default range, no outlines: graphmasksm.sh "dr4/safe0/sdss_dr4safe0_mask.grph" "dr4/safe0/sdss_dr4safe0_mask.eps"
|
|
#defined range, title, no outlines: graphmasksm.sh sdss_slice.grph sdss_slice.eps -45 35 8 21 "SDSS slice"
|
|
#defined range, no title, outlines: graphmasksm.sh sdss_slice.grph sdss_slice.eps -45 35 8 21 " " on
|
|
#default range, no title, outlines: graphmasksm.sh sdss_slice.grph sdss_slice.eps 0 0 0 0 " " on
|
|
|
|
#WARNINGS: (a.k.a., reasons to use the matlab plotting script instead!)
|
|
# -This script uses the opposite color scheme than the matlab script, i.e.,
|
|
# weight 1 = black, weight 0 = white
|
|
# -RA and Dec are treated as linear variables (no spherical projection). This means that
|
|
# ranges that span RA=0 won't plot properly.
|
|
# -SM can only plot square eps files, so if you define both RA and Dec range, they should
|
|
# have the same length, otherwise your plot will appear stretched.
|
|
# -SM has a line length limit of 1500 characters, which SDSS tends to have no trouble overloading.
|
|
# If you get an error reading the file, try making your graphics file with lower precision and
|
|
# fewer points per 2pi, i.e., use poly2poly -og12 -p3 instead of poly2poly -og30.
|
|
#
|
|
|
|
|
|
if [ "$MANGLESCRIPTSDIR" = "" ] ; then
|
|
MANGLESCRIPTSDIR="../../scripts"
|
|
fi
|
|
|
|
if [ ! "$7" = "" ] ; then
|
|
title="\"$7\""
|
|
else
|
|
title=""
|
|
fi
|
|
|
|
if [ "$8" = "on" ] ; then
|
|
outlines=1
|
|
else
|
|
outlines=""
|
|
fi
|
|
|
|
if [ $# -ge 2 ]; then
|
|
if [ -e $1 ]; then
|
|
echo "Plotting $1 using sm ..."
|
|
if [ -e $2 ]; then
|
|
rm $2
|
|
fi
|
|
sm -m $MANGLESCRIPTSDIR/graphmask.sm $1 $2 $3 $4 $5 $6 $title $outlines > sm.temp
|
|
else
|
|
echo >&2 "ERROR: file $1 not found."
|
|
exit 1
|
|
fi
|
|
else
|
|
echo >&2 "USAGE: graphmasksm.sh <infile> <outfile> [<ramin> <ramax>] [<decmin> <decmax>] [<title>] [<outlines>]"
|
|
echo >&2 "EXAMPLES:"
|
|
echo >&2 "default range, no outlines: graphmasksm.sh \"dr4/safe0/sdss_dr4safe0_mask.grph\" \"dr4/safe0/sdss_dr4safe0_mask.eps\""
|
|
echo >&2 "defined range, title, no outlines: graphmasksm.sh sdss_slice.grph sdss_slice.eps -45 35 8 21 \"SDSS slice\""
|
|
echo >&2 "defined range, no title, outlines: graphmasksm.sh sdss_slice.grph sdss_slice.eps -45 35 8 21 \" \" on"
|
|
echo >&2 "default range, no title, outlines: graphmasksm.sh sdss_slice.grph sdss_slice.eps 0 0 0 0 \" \" on"
|
|
exit 1
|
|
fi
|
|
if [ -e smerr.temp ] || [ ! -e $2 ]; then
|
|
echo >&2 "ERROR: error in sm plotting script."
|
|
echo >&2 "See log in sm.temp for more details."
|
|
if [ -e smerr.temp ]; then
|
|
rm smerr.temp
|
|
fi
|
|
exit 1
|
|
fi
|
|
rm sm.temp
|
|
echo all done!
|