diff --git a/analyze.sh b/analyze.sh index 73a2f495a5491ceb336fa24355b8e2dca10d6312..62bc50c57b3bf274696a5fed77745444ec60e93f 100755 --- a/analyze.sh +++ b/analyze.sh @@ -43,7 +43,7 @@ function im_identify() { # Input: image # Sample: foo.png # Produces foo.grey with $PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY -# Output: $PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY +# Output: $PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY $ZEROES $HOLES function grey_stats() { local SRC="$1" if [ ! -f "$SRC" ]; then @@ -56,6 +56,9 @@ function grey_stats() { local INFO=`cat "$IDENTIFY"` # TODO: No good as the histogram data might be much less than 256 local VALUES=`cat "$IDENTIFY" | grep -A 256 Histogram` + if [ ! "." == ".`echo "$VALUES" | grep Colormap`" ]; then + local VALUES=`echo "$VALUES" | grep -B 256 Colormap` + fi local RAW_VALUES=`echo "$VALUES" | grep "[0-9]\\+: ("` # local VALUES="$INFO" @@ -70,6 +73,11 @@ function grey_stats() { 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 ZEROES=$((256-UNIQUE)) + local SPAN=$((LAST_GREY-FIRST_GREY+1)) + local EDGE=$((256-SPAN)) + local HOLES=$((ZEROES-EDGE)) + 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'` @@ -87,7 +95,7 @@ function grey_stats() { IFS=$SAVEIFS - echo "$PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY $SPIKE_COUNT $SPIKE_PERCENT $SPIKE_GREY" + echo "$PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY $SPIKE_COUNT $SPIKE_PERCENT $SPIKE_GREY $ZEROES $HOLES" } # Produces a histogram over greyscale intensities in the given image diff --git a/quack.sh b/quack.sh index f5cdc1b3a5be007e28c06a5bb941af254250a91a..a015eadf0c92ad643a726eef9beab9efad27121c 100755 --- a/quack.sh +++ b/quack.sh @@ -794,7 +794,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 $COUNT_SPIKE $PERCENT_SPIKE $GREY_SPIKE + # $PIXELS $UNIQUE $FIRST_COUNT $PERCENT_FIRST $FIRST_GREY $LAST_COUNT $PERCENT_LAST $LAST_GREY $COUNT_SPIKE $PERCENT_SPIKE $GREY_SPIKE $ZEROES $HOLES # 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` @@ -807,6 +807,8 @@ function makePreviewPage() { GREY_COUNT_SPIKE=`echo "$GREY" | cut -d\ -f9` GREY_PERCENT_SPIKE=`echo "$GREY" | cut -d\ -f10` GREY_SPIKE=`echo "$GREY" | cut -d\ -f11` + GREY_ZEROES=`echo "$GREY" | cut -d\ -f12` + GREY_HOLES=`echo "$GREY" | cut -d\ -f13` local GREY_ALL_SOURCE=`im_identify "$SOURCE_IMAGE"` GREY_ALL=`cat "$GREY_ALL_SOURCE" | grep -A 256 Histogram | tail -n 256` diff --git a/web/image_template.html b/web/image_template.html index 2d97206282a838d680c3f71df964a82d15ee4316..6e3d43696827358a219d58a04b6884163a66ddf3 100644 --- a/web/image_template.html +++ b/web/image_template.html @@ -30,6 +30,7 @@ Dark ${GREY_FIRST}: ${GREY_PERCENT_FIRST}%<br/> Spike ${GREY_SPIKE}: ${GREY_PERCENT_SPIKE}%<br/> Light ${GREY_LAST}: ${GREY_PERCENT_LAST}%<br/> Unique greyscale values: ${GREY_UNIQUE}<br/> +Histogram holes: ${GREY_HOLES}<br/> ALTO-PC: ${ACCURACY}% <p><input type="checkbox" id="toggle_grid" onClick="toggleGrid();">Grid</input></p> <p><input type="checkbox" id="toggle_textblock" checked="checked" onClick="toggleTextBlock();">TextBlocks</input></p>