Version 53 of Timing Photo Image Loading under Pixane

Updated 2018-12-28 22:47:13 by gold

Timing Photo Image Loading under Pixane

This page is under development. Comments are welcome, but please load any comments in the comments section at the bottom of the page. Please include your wiki MONIKER and date in your comment with the same courtesy that I will give you. Aside from your courtesy, your wiki MONIKER and date as a signature and minimal good faith of any internet post are the rules of this TCL-WIKI. Its very hard to reply reasonably without some background of the correspondent on his WIKI bio page. Thanks, gold 12Dec2018


Introduction

gold Here is an eTCL script to estimate timing photo image loading under pixane. This script was largely derived from posting of Eric Hassold on comp.lang.tcl The timing statements were pulled from the program below after the timing info was calculated. The impetus for the script was an ask9 question about time of "loading single image ...". My solution to a different application on Unix some grey hairs ago was creating batch thumbnails with Image Magick, before loading the application script. If one can work with thumbnails, a tcl or perl script can use Image Magick to thumbnail every image in a directory or tailor to specific megabyte size. Since now, I'm using etcl and pixane on an Acer Aspire pc notepad, it might be desirable to establish some peg points or timing results with the pixane image library. The timing results with pixane are similar to those reported for Image Magick on a Pentium, Fast image resizing

In planning any software, there is a need to develop testcases.


Testcase 1.

Output of timing statements.

quantitynumberunits
photo size of bird.jpg 1.6 m
loading 1595970 microseconds per iteration
Scaling (1944 x 2592) => (180 x 240)pixels
resizex 68 microseconds per iteration
blanking 4283 microseconds per iteration
rescale 230934 microseconds per iteration
saving 14458 microseconds per iteration
proc time 1863222 microseconds per iteration

Comments

References:

Appendix: Tcl Programs and Scripts

Pretty Print Version

# Pretty print version from autoindent
# and ased editor
# program of image load under pixane
# written on Windowws XP on eTCL
# working under TCL version 8.5.6 and eTCL 1.0.1
# gold on TCL WIKI , 25may2011

package require Tk  
package require pixane
console show
global targetpix photox

proc jackpix {} {
    global targetpix photox
    set fin [file join [file dirname [info script]] bird6.jpg]
    set fout [file rootname $fin]_new[file extension $fin]
    set p [pixane create]
    pixane load $p -file $fin 
    set w [pixane width $p]
    set h [pixane height $p]
    set maximumwidth 240
    set maximumheight 240
    set ratiopicture 1
    if {$ratiopicture} {
        set sourcewidth [pixane width $p]
        set sourceheight [pixane height $p]
        if {$maximumwidth*$sourceheight<$maximumheight*$sourcewidth} {
            set virtualwidth $maximumwidth
            set virtualheight [expr {($sourceheight*$maximumwidth)/$sourcewidth}]
        } else {
            set virtualwidth [expr {($sourcewidth*$maximumheight)/$sourceheight}]
            set virtualheight $maximumheight
        }
    } else {
            set virtualwidth $maximumwidth
            set virtualheight $maximumheight
    }
    set targetpix [pixane create]
    pixane resize $targetpix $virtualwidth $virtualheight 
    pixane blank $targetpix  
    pixane scale $targetpix $p 
    pixane save $targetpix -file $fout -format jpg 
    set photox [pixane create]
}

jackpix  
set tkpicturex [pixcopy $targetpix]
pack [button .pixanes -image $tkpicturex -bd 30 -bg tan] -fill both -expand true
wm title . "Timing Photo Image Loading under Pixane "
tkwait window .
exit

Code scraps, timing statements

puts " loading [time {pixane load $p -file $fin} ]"        
puts "Scaling ($sourcewidth x $sourceheight) => ($virtualwidth x $virtualheight)"
puts " resizex [time {pixane resize $targetpix $virtualwidth $virtualheight } ]"
puts " blanking [time {pixane blank $targetpix } ]"
puts " rescale [time {pixane scale $targetpix $p } ]"
puts " saving [time {pixane save $targetpix -file $fout -format jpg } ]"
puts " proc time [time { jackpix } ]"

Code scraps, find and convert under unix and ImageMagick

#http://linux.about.com/od/commands/l/blcmdl1_convert.htm
$ convert *.png images.jpg
$ convert '*.jpg' -resize 120x120 thumbnail%03d.png
find *.jpg -maxdepth 0 -print -exec convert "{}" -resize 120x160 "thumbnails/{}" \;

Hidden Comments Section

Please place any comments here with your wiki MONIKER and date, Thanks.gold12Dec2018