1
2
3
4 """ Script to combine 4 jpegs into one big jpeg.
5 """
6
7 from operator import itemgetter
8 import os
9 import os.path as op
10 import sys
11
12 import wsatools.FitsUtils as fits
13 from wsatools.SystemConstants import SystemConstants
14
15
17 """Get the size of the fits file."""
18 exthdr = fits.open(filename)[1].header
19 sizex = exthdr["ZNAXIS1"]
20 sizey = exthdr["ZNAXIS2"]
21
22 modul = sizex/3000
23 return (sizex/modul,sizey/modul)
24
25
26
28 """Build the big jpeg from 4 parts."""
29 size = getSize(filelist[0])
30
31
32
33 cmd = "montage +shadow +label -tile 2x2 -geometry "
34 cmd += str(size[0]) + "x" + str(size[1]) +"+0+0 "
35 cmd += filelist[3] + " " + filelist[4] + " "
36 cmd += filelist[1] + " " + filelist[2] + " "
37 cmd += outfile
38 print cmd
39 os.system(cmd)
40
41
42
44 print "usage: montageMosaics.py jpglistfile"
45 print "jpglistfile contains the full path of the jpgs and the"
46 print "associated fits file(s)."
47
48
49
51
52 if len(argv) != 2:
53 print argv
54 usage()
55 raise SystemExit
56
57 jpglistfile = argv[1]
58 jpegs = sorted([l.replace('\n',''),len(l)] for l in file(jpglistfile))
59 jpegs.sort(key=itemgetter(1))
60 jpgcopy = jpegs[:]
61 fitslist = []
62 for ent in jpgcopy:
63 if ent[0].endswith(SystemConstants.mefType):
64 fitslist.append(jpegs.pop(jpegs.index(ent)))
65
66 montlist = []
67 for ent in fitslist:
68 fitsbase = op.basename(ent[0])[:op.basename(ent[0]).find("_dp_")]
69 fitssuff = op.basename(ent[0])[op.basename(ent[0]).find("_dp_"):
70 op.basename(ent[0]).rfind(".")]
71
72 sublist = [ent[0]]
73 for jpgs in jpegs:
74 if op.basename(jpgs[0]).find(fitsbase) >= 0 \
75 and op.basename(jpgs[0]).find(fitssuff) >= 0 \
76 and len(jpgs[0])-2 == len(ent[0]):
77 sublist.append(jpgs[0])
78 montlist.append(sublist)
79
80 print ">",montlist
81 for flist in montlist:
82 print ">>",flist
83 outfilename = op.join(op.dirname(flist[1]),
84 op.basename(flist[0])[:op.basename(flist[0]).rfind(".")])
85
86 montage(flist,outfilename+"_1.jpg")
87
88
89
90 if __name__ == '__main__':
91 main(sys.argv)
92
93
94
95
96
97
98