diff --git a/analyze.sh b/analyze.sh index e4c6dd603e39b52a638f2a0c1e4b08f106c6a313..b741bcb734fa4a7275945215c208f43c5b78c5bb 100755 --- a/analyze.sh +++ b/analyze.sh @@ -51,21 +51,25 @@ function grey_stats() { local IDENTIFY=$(im_identify "$SRC") local GREY=${SRC%%.*}.grey local INFO=`cat "$IDENTIFY"` - # TODO: No good as large images does not produce a Colormap + # TODO: No good as the histogram data might be much less than 256 local VALUES=`cat "$IDENTIFY" | grep -A 256 Histogram` + local RAW_VALUES=`echo "$VALUES" | grep "[0-9]\\+: ("` # local VALUES="$INFO" local SAVEIFS=$IFS IFS=$(echo -en "\n") - local UNIQUE=`echo $VALUES | grep "[0-9]\\+: (" | wc -l` + local UNIQUE=`echo $RAW_VALUES | wc -l` - local FIRST_COUNT=`echo $VALUES | grep "[0-9]\\+: (" | head -n 1 | grep -o " [0-9]\\+:" | grep -o "[0-9]\\+"` - local FIRST_GREY=`echo $VALUES | grep "[0-9]\\+: (" | head -n 1 | grep -o " ([0-9 ,]*)" | sed 's/ //g'` - - local LAST_COUNT=`echo $VALUES | grep "[0-9]\\+: (" | tail -n 1 | grep -o " [0-9]\\+:" | grep -o "[0-9]\\+"` - local LAST_GREY=`echo $VALUES | grep "[0-9]\\+: (" | tail -n 1 | grep -o " ([0-9 ,]*)" | sed 's/ //g'` + local FIRST_COUNT=`echo $RAW_VALUES | head -n 1 | grep -o " [0-9]\\+:" | grep -o "[0-9]\\+"` + local FIRST_GREY=`echo $RAW_VALUES | head -n 1 | grep -o " ([0-9 ,]*)" | sed 's/ //g'` + local LAST_COUNT=`echo $RAW_VALUES | tail -n 1 | grep -o " [0-9]\\+:" | grep -o "[0-9]\\+"` + local LAST_GREY=`echo $RAW_VALUES | tail -n 1 | grep -o " ([0-9 ,]*)" | sed 's/ //g'` + + local SPIKE_COUNT=`echo $RAW_VALUES | sort -n | tail -n 1 | grep -o " [0-9]\\+:" | grep -o "[0-9]\\+"` + local SPIKE_GREY=`echo $RAW_VALUES | sort -n | tail -n 1 | grep -o " ([0-9 ,]*)" | sed 's/ //g'` + local GEOMETRY=`echo $INFO | grep "Geometry: [0-9]\\+x[0-9]\\+" | grep -o "[0-9]\\+x[0-9]\\+"` local X=`echo $GEOMETRY | grep -o "[0-9]\\+x" | grep -o "[0-9]\\+"` local Y=`echo $GEOMETRY | grep -o "x[0-9]\\+" | grep -o "[0-9]\\+"` @@ -74,12 +78,13 @@ function grey_stats() { # http://stackoverflow.com/questions/8402181/how-do-i-get-bc1-to-print-the-leading-zero local PERCENT_FIRST=`echo "scale=2;x=$FIRST_COUNT*100/$PIXELS; if(x<1) print 0; x" | bc` local PERCENT_LAST=`echo "scale=2;x=$LAST_COUNT*100/$PIXELS; if(x<1) print 0; x" | bc` + local SPIKE_PERCENT=`echo "scale=2;x=$SPIKE_COUNT*100/$PIXELS; if(x<1) print 0; x" | bc` echo "$PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY" > "$GREY" IFS=$SAVEIFS - echo "$PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY" + echo "$PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY $SPIKE_COUNT $SPIKE_PERCENT $SPIKE_GREY" } # Produces a histogram over greyscale intensities in the given image diff --git a/image_template.html b/image_template.html index 68f59c1a7dc0ac5c883750bd9c0a10b422519d68..469f3965ae9ecfa0b30e0a82c60322656b9ac0f1 100644 --- a/image_template.html +++ b/image_template.html @@ -26,8 +26,9 @@ ${IDPREVS} ${ALTERNATIVES} <p class="histogram"><img src= "${HISTOGRAM}" width="256" height="200" alt="histogram"/></p> <p class="greystats"> -${GREY_FIRST}: ${GREY_PERCENT_FIRST}%<br/> -${GREY_LAST}: ${GREY_PERCENT_LAST}%<br/> +Darkest ${GREY_FIRST}: ${GREY_PERCENT_FIRST}%<br/> +Spike ${GREY_SPIKE}: ${GREY_PERCENT_SPIKE}%<br/> +Lightest ${GREY_LAST}: ${GREY_PERCENT_LAST}%<br/> Unique greyscale values: ${GREY_UNIQUE}<br/> ALTO-accuracy: ${ACCURACY}% <p><input type="checkbox" id="toggle_grid" onClick="toggleGrid();">Grid</input></p> diff --git a/quack.sh b/quack.sh index a7eb86cb8e4be8ffb49a7ade70a72522e1f8905b..b5603bfbbfd96620620f8f714a7f09e57af351ac 100755 --- a/quack.sh +++ b/quack.sh @@ -700,7 +700,7 @@ function makePreviewPage() { # TODO: Use destination if that is lossless and faster to open? local GREY=`grey_stats "$SOURCE_IMAGE"` - # $PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY + # $PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY $COUNT_SPIKE $PERCENT_SPIKE $GREY_SPIKE # 1000095 512 82362 8.23 (0,0,0) 255 .02 (255,255,255) GREY_PIXELS=`echo "$GREY" | cut -d\ -f1` GREY_UNIQUE=`echo "$GREY" | cut -d\ -f2` @@ -710,6 +710,9 @@ function makePreviewPage() { GREY_COUNT_LAST=`echo "$GREY" | cut -d\ -f6` GREY_PERCENT_LAST=`echo "$GREY" | cut -d\ -f7` GREY_LAST=`echo "$GREY" | cut -d\ -f8` + GREY_COUNT_SPIKE=`echo "$GREY" | cut -d\ -f9` + GREY_PERCENT_SPIKE=`echo "$GREY" | cut -d\ -f10` + GREY_SPIKE=`echo "$GREY" | cut -d\ -f11` local GREY_ALL_SOURCE=`im_identify $SOURCE_IMAGE` GREY_ALL=`cat "$GREY_ALL_SOURCE" | grep -A 256 Histogram | tail -n 256`