From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- noao/digiphot/apphot/aputil/apbsmooth.x | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 noao/digiphot/apphot/aputil/apbsmooth.x (limited to 'noao/digiphot/apphot/aputil/apbsmooth.x') diff --git a/noao/digiphot/apphot/aputil/apbsmooth.x b/noao/digiphot/apphot/aputil/apbsmooth.x new file mode 100644 index 00000000..28c53c00 --- /dev/null +++ b/noao/digiphot/apphot/aputil/apbsmooth.x @@ -0,0 +1,33 @@ +# AP_BSMOOTH - Box car smooth a histogram 1, 2 or 3 times. + +procedure ap_bsmooth (hgm, shgm, nbins, nker, iter) + +real hgm[ARB] # the original histogram +real shgm[ARB] # the smoothed histogram +int nbins # length of the histogram +int nker # half width of box kernel +int iter # number of iterations + +pointer sp, work1, work2 + +begin + # Smooth the histogram + switch (iter) { + case 1: + call ap_sboxr (hgm, shgm, nbins, nker) + case 2: + call smark (sp) + call salloc (work1, nbins, TY_REAL) + call ap_sboxr (hgm, Memr[work1], nbins, nker) + call ap_sboxr (Memr[work1], shgm, nbins, nker) + call sfree (sp) + default: + call smark (sp) + call salloc (work1, nbins, TY_REAL) + call salloc (work2, nbins, TY_REAL) + call ap_sboxr (hgm, Memr[work1], nbins, nker) + call ap_sboxr (Memr[work1], Memr[work2], nbins, nker) + call ap_sboxr (Memr[work2], shgm, nbins, nker) + call sfree (sp) + } +end -- cgit