summaryrefslogtreecommitdiff
path: root/tcltk/decoder.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tcltk/decoder.tcl')
-rwxr-xr-xtcltk/decoder.tcl272
1 files changed, 0 insertions, 272 deletions
diff --git a/tcltk/decoder.tcl b/tcltk/decoder.tcl
deleted file mode 100755
index 98edcde9..00000000
--- a/tcltk/decoder.tcl
+++ /dev/null
@@ -1,272 +0,0 @@
-
-namespace eval VMDecoder {
- variable var
- variable JP3Ddecoder "../bin/jp3d_to_volume.exe"
- #variable JP3Ddecoder "jp3d_to_volume.exe"
-}
-
-
-proc VMDecoder::create { nb } {
- variable var
-
- set frameD [$nb insert end VMDecoder -text "Decoder"]
- set topfD [frame $frameD.topfD]
- set medfD [frame $frameD.medfD]
- set bottomfD [frame $frameD.bottomfD]
- set srcfD [TitleFrame $topfD.srcfD -text "Source"]
- set dstfD [TitleFrame $topfD.dstfD -text "Destination"]
- set paramfD [TitleFrame $medfD.paramfD -text "Decoding parameters"]
- set infofD [TitleFrame $medfD.infofD -text "Distortion measures"]
-
- set frame1 [$srcfD getframe]
- _sourceD $frame1
- set frame2 [$dstfD getframe]
- _destinationD $frame2
- set frame3 [$infofD getframe]
- _originalD $frame3
- set frame4 [$paramfD getframe]
- _paramsD $frame4
-
- set butD [Button $bottomfD.butD -text "Decode!" \
- -command "VMDecoder::_decode $frame1 $frame2 $frame3" \
- -helptext "Decoding trigger button"]
- set butR [Button $bottomfD.butR -text "Save info" \
- -command "VMDecoder::_save $frame3" \
- -helptext "Save information"]
-
- pack $srcfD $dstfD -side left -fill both -padx 10 -ipadx 5 -expand yes
- pack $topfD -pady 4 -fill x
-
- pack $paramfD $infofD -side left -fill both -padx 10 -pady 2 -ipadx 5 -expand yes
- pack $medfD -pady 4 -fill x
-
- pack $butD $butR -side left -padx 4 -pady 5 -expand yes
- pack $bottomfD -pady 4 -fill x
-
-return $frameD
-}
-
-
-proc fileDialogD {w ent operation} {
-
- variable file
-
- if {$operation == "open"} {
- #-----Type names---------Extension(s)---
- set types {
- {"JP3D Files" {.jp3d} }
- {"All files" *}
- }
- set file [tk_getOpenFile -filetypes $types -parent $w ]
- } elseif {$operation == "original"} {
- #-----Type names---------Extension(s)---
- set types {
- {"BIN Raw Image Files" {.bin} }
- {"PGX Raw Image Files" {.pgx} }
- {"All files" *}
- }
- set file [tk_getOpenFile -filetypes $types -parent $w ]
- } else {
- #-----Type names---------Extension(s)---
- set types {
- {"BIN Raw Image Files" {.bin} }
- {"PGX Raw Image Files" {.pgx} }
- {"All files" *}
- }
- set file [tk_getSaveFile -filetypes $types -parent $w -initialfile Untitled -defaultextension "*.bin"]
- }
- if {[string compare $file ""]} {
- $ent delete 0 end
- $ent insert end $file
- $ent xview moveto 1
- }
-}
-
-proc VMDecoder::_sourceD { parent } {
-
- variable var
-
- set labsrcD [LabelFrame $parent.labsrcD -text "Select compressed file: " -side top \
- -anchor w -relief flat -borderwidth 0]
- set subsrcD [$labsrcD getframe]
- set listD [entry $subsrcD.entrysrcD -width 40 -textvariable VMDecoder::var(sourceD)]
-
- set labbrw [LabelFrame $parent.labbrw -side top -anchor w -relief flat -borderwidth 0]
- set subbrw [$labbrw getframe]
- set butbrw [button $subbrw.butbrw -image [Bitmap::get open] \
- -relief raised -borderwidth 1 -padx 1 -pady 1 \
- -command "fileDialogD . $subsrcD.entrysrcD open"]
-
- pack $listD -side top
- pack $butbrw -side top
- pack $labsrcD $labbrw -side left -fill both -expand yes
-
-
-}
-
-proc VMDecoder::_destinationD { parent } {
-
- variable var
-
- set labdstD [LabelFrame $parent.labdstD -text "Save decompressed volume file(s) as: " -side top \
- -anchor w -relief flat -borderwidth 0]
- set subdstD [$labdstD getframe]
- set listD [entry $subdstD.entrydstD -width 40 -textvariable VMDecoder::var(destinationD)]
-
- set labbrw [LabelFrame $parent.labbrw -side top -anchor w -relief flat -borderwidth 0]
- set subbrw [$labbrw getframe]
- set butbrw [button $subbrw.butbrw -image [Bitmap::get save] \
- -relief raised -borderwidth 1 -padx 1 -pady 1 \
- -command "fileDialogD . $subdstD.entrydstD save"]
-
- pack $listD -side top
- pack $butbrw -side top
- pack $labdstD $labbrw -side left -fill both -expand yes
-}
-
-proc VMDecoder::_originalD { parent } {
-
- variable var
-
- set laborgD [LabelFrame $parent.laborgD -text "Select original file: " -side top \
- -anchor w -relief flat -borderwidth 0]
- set suborgD [$laborgD getframe]
- set listorgD [entry $suborgD.entryorgD -width 30 -textvariable VMDecoder::var(originalD)]
-
- set labbrw2 [LabelFrame $parent.labbrw2 -side top -anchor w -relief flat -borderwidth 0]
- set subbrw2 [$labbrw2 getframe]
- set butbrw2 [button $subbrw2.butbrw2 -image [Bitmap::get open] \
- -relief raised -borderwidth 1 -padx 1 -pady 1 \
- -command "fileDialogD . $suborgD.entryorgD original"]
-
- set infoD [Label $parent.infoD -relief sunken -textvariable VMDecoder::var(decodinfo) -justify left]
-
- pack $listorgD -side left -anchor n
- pack $butbrw2 -side left -anchor n
- pack $infoD -side bottom -anchor nw -pady 4 -ipadx 150 -ipady 20 -expand yes
- pack $laborgD $labbrw2 -side left -fill both
-
-
-}
-
-proc VMDecoder::_paramsD { parent } {
-
- variable var
-
- ########### DECODING #############
- set labcod [LabelFrame $parent.labcod -side top -anchor w -relief sunken -borderwidth 1]
- set subcod [$labcod getframe]
-
- set frameres [frame $subcod.frameres -borderwidth 1]
- set labres [LabelEntry $frameres.labres -label "Resolutions to discard: " -labelwidth 20 -labelanchor w \
- -textvariable VMDecoder::var(resdiscard) -editable 1 \
- -helptext "Number of highest resolution levels to be discarded on each dimension" ]
- set VMDecoder::var(resdiscard) "0,0,0"
-
- set framelayer [frame $subcod.framelayer -borderwidth 1]
- set lablayer [LabelEntry $framelayer.lablayer -label "Layers to decode: " -labelwidth 20 -labelanchor w \
- -textvariable VMDecoder::var(layer) -editable 1 \
- -helptext "Maximum number of quality layers to decode" ]
- set VMDecoder::var(layer) "All"
-
- set framebe [frame $subcod.framebe -borderwidth 1]
- set chkbe [checkbutton $framebe.chkbe -text "Write decoded file with BigEndian byte order" \
- -variable VMDecoder::var(be) -onvalue 1 -offvalue 0 ]
-
- pack $labres -side left -padx 2 -anchor n
- pack $lablayer -side left -padx 2 -anchor n
- pack $chkbe -side left -padx 2 -anchor w
- pack $frameres $framelayer $framebe -side top -anchor w
-
- pack $subcod -anchor n
- pack $labcod -side left -fill both -padx 4 -expand yes
-}
-
-
-proc VMDecoder::_decode { framesrc framedst frameinfo} {
-
- variable var
-
- set sourceD [$framesrc.labsrcD.f.entrysrcD get ]
- set destinationD [$framedst.labdstD.f.entrydstD get ]
- set originD [$frameinfo.laborgD.f.entryorgD get ]
- set cond1 [string match *.pgx [string tolower $destinationD]]
- set cond2 [string match *\**.pgx [string tolower $destinationD]]
- set cond3 [string match *.bin [string tolower $destinationD]]
-
- #comprobamos datos son correctos
- if {($cond1 == 1) && ($cond2 == 0)} {
- set pgx "*.pgx"
- set pattern [string range $destinationD 0 [expr [string length $destinationD]-5]]
- set destinationD $pattern$img
- } elseif {$sourceD == ""} {
- MessageDlg .msgdlg -parent . -message "Error : Source file is not defined !" -type ok -icon error
- } elseif {$destinationD == ""} {
- MessageDlg .msgdlg -parent . -message "Error : Destination file is not defined !" -type ok -icon error
- } else {
-
- #creamos datain a partir de los parametros de entrada
- #set dirJP3Ddecoder [mk_relativepath $VMDecoder::JP3Ddecoder]
- set dirJP3Ddecoder $VMDecoder::JP3Ddecoder
- set datain [concat " $dirJP3Ddecoder -i [mk_relativepath $sourceD] "]
- set datain [concat " $datain -o [mk_relativepath $destinationD] "]
- if {$originD != ""} {
- set datain [concat " $datain -O [mk_relativepath $originD] "]
- if {$cond3 == 1} {
- set img ".img"
- set pattern [string range $originD 0 [expr [string length $originD]-5]]
- set pattern $pattern$img
- if {[file exists $pattern]} {
- set datain [concat " $datain -m [mk_relativepath $pattern] "]
- } else {
- MessageDlg .msgdlg -parent . -message "Error : IMG file associated to original BIN volume file not found in same directory !" -type ok -icon info
- }
- }
- }
- if {$VMDecoder::var(resdiscard) != "0,0,0"} {
- set datain [concat " $datain -r $VMDecoder::var(resdiscard) "]
- }
- if {$VMDecoder::var(layer) != "All" && $VMDecoder::var(layer) > 0} {
- set datain [concat " $datain -l $VMDecoder::var(layer) "]
- }
- if {$VMDecoder::var(be) == 1} {
- set datain [concat " $datain -BE"]
- }
-
- set VMDecoder::var(progval) 10
- ProgressDlg .progress -parent . -title "Wait..." \
- -type infinite \
- -width 20 \
- -textvariable "Compute in progress..."\
- -variable VMDecoder::progval \
- -stop "Stop" \
- -command {destroy .progress}
-
- after 200 set VMDecoder::var(progval) 2
-
- set fp [open "| $datain " r+]
- fconfigure $fp -buffering line
- set jp3dVM::dataout [concat "EXECUTED PROGRAM:\n\t$datain"]
- while {-1 != [gets $fp tmp]} {
- set jp3dVM::dataout [concat "$jp3dVM::dataout\n$tmp"]
- }
- close $fp
- destroy .progress
- set cond [string first "ERROR" $jp3dVM::dataout]
- set cond2 [string first "PSNR" $jp3dVM::dataout]
- set cond3 [string first "RESULT" $jp3dVM::dataout]
- if {$cond != -1} {
- MessageDlg .msgdlg -parent . -message [string range $jp3dVM::dataout [expr $cond-1] end] -type ok -icon error
- } elseif {$cond3 != -1} {
- if {$cond2 != -1} {
- set VMDecoder::var(decodinfo) [string range $jp3dVM::dataout [expr $cond2-1] end]
- }
- MessageDlg .msgdlg -parent . -message [string range $jp3dVM::dataout [expr $cond3-1] end] -type ok -icon info
- }
- }
-}
-
-proc VMDecoder::_save { frameinfo } {
-
-}
-