#! /bin/bash
# Last edited on 2012-09-21 22:40:16 by stolfilocal

wmax="$1"; shift
dset="$1"; shift
imgs=( "$@" ); shift

chunks=()
for img in ${imgs[@]} ; do 
  for cut in 00 01 02 03 04 05 06 ; do
    cutfile="data/${dset}/${img}-c${cut}.cut"
    if [[ -s ${cutfile} ]]; then
      cname="out/${dset}/${img}-c${cut}"
      ifile="${cname}.ppm"
      ofile="${cname}-f.ppm"
      echo "${ifile} --> ${ofile}" 1>&2
      pnmfftfilter \
          -pass -from  0.000 -to INF \
          -range AUTO \
        < ${ifile} > ${ofile}
      if [[ ${#chunks[@]} -eq 0 ]]; then
        display -title '%f' -filter box -resize 200% ${ifile} ${ofile}  
      fi
      chunks=( ${chunks[@]} ${ofile} )
    fi
  done
done

# avgopts=( -averageImages -maxPower 4.00 -scale log 0.0001 )
avgopts=( -maxPower 30.00 -scale log 0.0001 )

aname="out/${dset}/all"
pnmspectrum \
    -outputImage ${aname}-pwr.ppm \
    -center -symmetric \
    ${avgopts[@]} \
    -outputTable ${aname}-pwr.txt -freqRanges 200 \
    -vignette \
    -zeroMean \
    -verbose \
  ${chunks[@]}
display -title '%f' -filter box -resize 200% ${aname}-pwr.ppm

for ch in 0 1 2 ; do
  cat ${aname}-pwr.ppm \
    | pnm_to_fni \
        -min 0 -max 1.0 \
    | fni_plot \
      -range -0.01 +1.01 \
      -channel ${ch} \
    > ${aname}-${ch}-pwr.eps
  gv ${aname}-${ch}-pwr.eps
done
