aboutsummaryrefslogtreecommitdiff
path: root/pkg/system/bench.cl
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /pkg/system/bench.cl
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'pkg/system/bench.cl')
-rw-r--r--pkg/system/bench.cl143
1 files changed, 143 insertions, 0 deletions
diff --git a/pkg/system/bench.cl b/pkg/system/bench.cl
new file mode 100644
index 00000000..e8de1036
--- /dev/null
+++ b/pkg/system/bench.cl
@@ -0,0 +1,143 @@
+#{
+# BENCH.CL
+#
+# A rough benchmark script for testing IRAF on different systems.
+#
+
+procedure bench ()
+
+begin
+
+ string dum1, dum2, time1, time2
+ real t0, t1, t2, t3, t4, tf, tsec, tmake, tproc, tcomb, tmed
+
+
+ # Load the needed tasks (if necessary) BEFORE timer starts.
+ if (!defpac("noao.artdata")) {
+ artdata
+ }
+
+ reset imdir = "HDR$pix/"
+
+
+ print(" ")
+ time() | scan (dum1, time1, dum2)
+ print("Bench started at ",time1)
+ time() | scan (dum1, t0, dum2)
+ print(" ")
+
+ print ("=====> Making images...")
+ print (" Making zero...")
+ mknoise ("zimage",
+ output="", title="zero image", ncols=2048, nlines=2048,
+ header="artdata$stdheader.dat", background=0., gain=1., rdnoise=2.,
+ poisson=no, seed=1, cosrays="", ncosrays=100, energy=30000., radius=0.5,
+ pa=0., comments=yes)
+
+ print (" Making flat...")
+ mknoise ("fimage",
+ output="", title="flat image", ncols=2048, nlines=2048,
+ header="artdata$stdheader.dat", background=30000., gain=1., rdnoise=1.,
+ poisson=no, seed=1, cosrays="", ncosrays=0, energy=30000., radius=0.5,
+ pa=0., comments=yes)
+
+ print (" Making 3 objs...")
+ mknoise ("o1image",
+ output="", title="obj image", ncols=2048, nlines=2048,
+ header="artdata$stdheader.dat", background=500., gain=1., rdnoise=5.,
+ poisson=no, seed=1, cosrays="", ncosrays=100, energy=30000., radius=0.5,
+ pa=0., comments=yes)
+
+ mknoise ("o2image",
+ output="", title="obj image", ncols=2048, nlines=2048,
+ header="artdata$stdheader.dat", background=500., gain=1., rdnoise=5.,
+ poisson=no, seed=1, cosrays="", ncosrays=100, energy=30000., radius=0.5,
+ pa=0., comments=yes)
+
+ mknoise ("o3image",
+ output="", title="obj image", ncols=2048, nlines=2048,
+ header="artdata$stdheader.dat", background=500., gain=1., rdnoise=5.,
+ poisson=no, seed=1, cosrays="", ncosrays=100, energy=30000., radius=0.5,
+ pa=0., comments=yes)
+
+ time() | scan (dum1, t1, dum2)
+
+
+ # PROC SIMULATION SECTION
+ #
+ # Flat normalization is usually done realtime in memory in ccdproc,
+ # but writing the image might be similar to the temp image in ccdproc
+
+ print(" ")
+ print(" ")
+ print ("=====> Normalizing flat...")
+ imarith ("fimage",
+ "/", "30000.", "fimage", title="", divzero=1., hparams="", pixtype="",
+ calctype="", verbose=yes, noact=no)
+
+ print(" ")
+ print(" ")
+ print ("=====> Subtracting zero from 3 images...")
+ imarith ("o1image,o2image,o3image",
+ "-", "zimage", "o1image,o2image,o3image", title="",
+ divzero=0., hparams="", pixtype="", calctype="", verbose=yes, noact=no)
+
+ print(" ")
+ print(" ")
+ print ("=====> Dividing flat into 3 images...")
+ imarith ("o1image,o2image,o3image",
+ "/", "fimage", "o1image,o2image,o3image", title="", divzero=0.,
+ hparams="", pixtype="", calctype="", verbose=yes, noact=no)
+
+ # END of PROC SIMULATION SECTION
+
+ time() | scan (dum1, t2, dum2)
+
+ print(" ")
+ print(" ")
+ printf ("=====> Combining 3 images...")
+ imcombine ("o1image,o2image,o3image",
+ "ocimage", sigma="", logfile="STDOUT", combine="average",
+ reject="crreject", project=no, outtype="real", offsets="none",
+ masktype="none", maskvalue=0., blank=0., scale="none", zero="none",
+ weight="none", statsec="", expname="", lthreshold=INDEF,
+ hthreshold=INDEF, nlow=1, nhigh=1, nkeep=1, mclip=yes, lsigma=3.,
+ hsigma=3., rdnoise="5", gain="1", snoise="0.", sigscale=0.1,
+ pclip=-0.5, grow=0)
+
+ time() | scan (dum1, t3, dum2)
+
+ print(" ")
+ print(" ")
+ print ("=====> Median filtering image...")
+ median ("ocimage",
+ "omimage", 9, 9, zloreject=INDEF, zhireject=INDEF, boundary="nearest",
+ constant=0., verbose=yes)
+
+ time() | scan (dum1, t4, dum2)
+
+ print(" ")
+ print ("=====> Deleting all images...")
+ imdel ("o1image,o2image,o3image,ocimage,omimage,zimage,fimage",
+ yes, verify=no, default_acti=yes)
+
+ time() | scan (dum1, tf, dum2)
+ time() | scan (dum1, time2, dum2)
+ print(" ")
+ print("Bench started at ",time1)
+ print("Bench ended at ",time2)
+ print(" ")
+
+ tsec = (tf - t0) * 3600.
+ tmake = (t1 - t0) * 3600.
+ tproc = (t2 - t1) * 3600.
+ tcomb = (t3 - t2) * 3600.
+ tmed = (t4 - t3) * 3600.
+
+
+ printf ("Total execution time = %7.1f seconds\n",tsec)
+ printf (" Total time Make 5 imgs Proc 3 imgs Combine 3 imgs Median 1 img\n")
+ printf (" %7.1f %7.1f %7.1f %7.1f %7.1f\n",
+ tsec, tmake, tproc, tcomb, tmed)
+
+end