#!/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 [ ] [ ] [] [<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!