roiRelatedObjectRecreate
menuRoiSingleMultiTransform
}
+
checkbutton $f.sizeLock -text SizeLock -variable Roi(SizeLock) \
-onvalue On -offvalue Off \
-command roiRelatedObjectRecreate
+
+ checkbutton $f.angleLock -text AngleLock -variable Roi(AngleLock) \
+ -onvalue On -offvalue Off \
+ -command roiRelatedObjectRecreate
+
checkbutton $f.analysis -text Analysis -variable Roi(Analysis) \
-onvalue On -offvalue Off \
-command roiRelatedObjectRecreate
- pack $f -side top
- pack $f.multi -side left
- pack $f.sizeLock -side left
- pack $f.analysis -side left
+ pack $f -side top
+ pack $f.multi -side left
+ pack $f.sizeLock -side left
+ pack $f.angleLock -side left
+ pack $f.analysis -side left
switch $Roi(Shape) {
Rectangle {
set Roi(MultiShape) Off
set Roi(MultiNumber) Off
set Roi(SizeLock) Off
+ set Roi(AngleLock) Off
set Roi(Analysis) Off
set Roi(Action) Create
set Roi(ActionList) "Create Select Move Resize Rotate"
# Default
#
-# font
-option add *font {FixedSys 10}
-
# Precision
set tcl_precision 17
set Roi(MultiShape) Off
set Roi(MultiNumber) Off
set Roi(SizeLock) Off
+set Roi(AngleLock) Off
set Roi(Analysis) Off
set Roi(View) off
set Roi(Extract) foreground
} else {
set thresLow " "
}
- exec mrcImagePrint -i $fileNameIn -o $name $thesLow $thresHigh -m 17
+ exec mrcImagePrint -i $fileNameIn -o $name -L $thesLow -H $thresHigh -m 17
}
$m add com -label "Save Image(BYTE) As" -command { puts "Not support"}
$m add com -label "Extract ROI(REAL) As" -command roiAreaFileSave
roiRelatedObjectRecreate
}
+ $m add check -variable Roi(AngleLock) \
+ -onvalue On -offvalue Off -label "AngleLock" \
+ -command {
+ roiRelatedObjectRecreate
+ }
+
$m add com -label "ROIInfo" -command roiInformationWinCreate
}
# Create ROI
switch $Roi(Shape) {
Rectangle {
+ if { $Roi(AngleLock) == "On" } {
+ global rectanglePoints
+ set currentAngle [ expr $rectanglePoints(angle)/180.0*3.141592653589 ]
+ } else {
+ set currentAngle 0
+ }
if { $Roi(SizeLock) == "On" } {
global rectanglePoints
debugPrint "SizeLock Start: $mousePressed(startx) $mousePressed(starty)"
- set Roi(CurrentObject) [roiRectangleCreate $c \
- [expr $mousePressed(startx)-$rectanglePoints(width) /2 ] \
- [expr $mousePressed(starty)-$rectanglePoints(height)/2 ] \
- [expr $mousePressed(startx)+$rectanglePoints(width) /2 ] \
- [expr $mousePressed(starty)+$rectanglePoints(height)/2 ] ]
+ set XX [ expr $rectanglePoints(width) /2 ]
+ set YY [ expr $rectanglePoints(height)/2 ]
+ #puts "$XX $YY $$currentAngle"
+
+ set X [ expr -$XX*cos($currentAngle) + $YY*sin($currentAngle) ]
+ set Y [ expr -$XX*sin($currentAngle) - $YY*cos($currentAngle) ]
+ set rectanglePoints(x0) [expr $mousePressed(startx)+$X ]
+ set rectanglePoints(y0) [expr $mousePressed(starty)+$Y ]
+ #puts "$X $Y"
+
+ set X [ expr $XX*cos($currentAngle) + $YY*sin($currentAngle) ]
+ set Y [ expr $XX*sin($currentAngle) - $YY*cos($currentAngle) ]
+ set rectanglePoints(x1) [expr $mousePressed(startx)+$X ]
+ set rectanglePoints(y1) [expr $mousePressed(starty)+$Y ]
+ #puts "$X $Y"
+
+ set X [ expr $XX*cos($currentAngle) - $YY*sin($currentAngle) ]
+ set Y [ expr $XX*sin($currentAngle) + $YY*cos($currentAngle) ]
+ set rectanglePoints(x2) [expr $mousePressed(startx)+$X ]
+ set rectanglePoints(y2) [expr $mousePressed(starty)+$Y ]
+ #puts "$X $Y"
+
+ set X [ expr -$XX*cos($currentAngle) - $YY*sin($currentAngle) ]
+ set Y [ expr -$XX*sin($currentAngle) + $YY*cos($currentAngle) ]
+ set rectanglePoints(x3) [expr $mousePressed(startx)+$X ]
+ set rectanglePoints(y3) [expr $mousePressed(starty)+$Y ]
+ #puts "$X $Y"
+
+ set Roi(CurrentObject) [rectangleCreate $c \
+ $rectanglePoints(x0) \
+ $rectanglePoints(y0) \
+ $rectanglePoints(x1) \
+ $rectanglePoints(y1) \
+ $rectanglePoints(x2) \
+ $rectanglePoints(y2) \
+ $rectanglePoints(x3) \
+ $rectanglePoints(y3) \
+ ]
set Roi(Action) Move
} else {
set Roi(CurrentObject) [roiRectangleCreate $c \
set mousePressed(endy) $y
switch $Roi(Shape) {
Rectangle {
- if { $Roi(SizeLock) == "On" } {
- set Roi(CurrentObject) [ roiRectangleCreate $c \
- $mousePressed(startx) $mousePressed(starty) \
- $mousePressed(endx) $mousePressed(endy) ]
- } else {
- set Roi(CurrentObject) [ roiRectangleCreate $c \
- $mousePressed(startx) $mousePressed(starty) \
- $mousePressed(endx) $mousePressed(endy) ]
- }
+ set Roi(CurrentObject) [ roiRectangleCreate $c \
+ $mousePressed(startx) $mousePressed(starty) \
+ $mousePressed(endx) $mousePressed(endy) ]
}
Line {
set Roi(CurrentObject) [ roiLineCreate $c \
set mousePressed(mode) 2
switch $Roi(Shape) {
Rectangle {
- if { $Roi(SizeLock) == "On" } {
- set Roi(CurrentObject) [roiRectangleCreate $c \
- $mousePressed(startx) $mousePressed(starty) \
- $mousePressed(endx) $mousePressed(endy)]
- } else {
- set Roi(CurrentObject) [roiRectangleCreate $c \
- $mousePressed(startx) $mousePressed(starty) \
- $mousePressed(endx) $mousePressed(endy)]
- }
+ set Roi(CurrentObject) [roiRectangleCreate $c \
+ $mousePressed(startx) $mousePressed(starty) \
+ $mousePressed(endx) $mousePressed(endy)]
}
Line {
set Roi(CurrentObject) [roiLineCreate $c \
# a script that loads the command.
set auto_index(libraryLoad) [list source [file join $dir ctfDisplay.wish]]
+set auto_index(ctfDisplayDefault) [list source [file join $dir ctfDisplay.wish]]
set auto_index(::CTF2D::Init) [list source [file join $dir ctfDisplay.wish]]
set auto_index(::CTF2D::ctfInfoSync) [list source [file join $dir ctfDisplay.wish]]
set auto_index(::CTF2D::ctfInfoUpload) [list source [file join $dir ctfDisplay.wish]]
set auto_index(::CTF2D::CTFCalculation) [list source [file join $dir ctfDisplay.wish]]
set auto_index(::CTF2D::ScatteringCalc) [list source [file join $dir ctfDisplay.wish]]
set auto_index(::CTF2D::ctfInfoSave) [list source [file join $dir ctfDisplay.wish]]
+set auto_index(::CTF2D::ctfInfoSaveDefaultDir) [list source [file join $dir ctfDisplay.wish]]
+set auto_index(::CTF2D::ctfInfoSaveDefault) [list source [file join $dir ctfDisplay.wish]]
set auto_index(::CTF2D::ctfInfoLoad) [list source [file join $dir ctfDisplay.wish]]
+set auto_index(::CTF2D::dummyFunc) [list source [file join $dir ctfDisplay.wish]]
#!/usr/local/bin/wish -f
proc fileSaveSureWin { path } {
global fileSave
- global fileSaveSure(done)
+ global fileSaveSure
set t [ toplevel .fileSaveSureWin -bd 4 -class FileSaveSureWin ]
fileSaveSureWinResources
#!/usr/local/bin/wish -f
proc fileSaveSureWin { path } {
global fileSave
- global fileSaveSure(done)
+ global fileSaveSure
set t [ toplevel .fileSaveSureWin -bd 4 -class FileSaveSureWin ]
fileSaveSureWinResources
#include "../inc/mrcImage.h"
+
void
lmrcImageToIntImage(mrcImage* dst, mrcImage* src, mrcImageParaTypeInteger mode)
{
mrcImageParaTypeReal x, y, z;
double data;
+ if(src->HeaderAMin==src->HeaderAMax) {
+ mrcStatDataSet(src, 0);
+ }
dst->Header = src->Header;
dst->HeaderMode = mode;
mrcInit(dst, NULL);
}
data = (src->HeaderAMin - data)/(src->HeaderAMin - src->HeaderAMax);
} else {
- fprintf(stderr, "Not supported in lmrcImageToIntImage \n");
+ data = 0;
+ //fprintf(stderr, "Not supported in lmrcImageToIntImage \n");
}
switch(dst->HeaderMode) {
case mrcCharImage: {
- mrcPixelDataSet(dst, x, y, z, data*255.0, mrcPixelMag);
+ mrcPixelDataSet(dst, x, y, z, data*255.0, mrcPixelRePart);
break;
}
case mrcShortImage: {
- mrcPixelDataSet(dst, x, y, z, data*65535.0, mrcPixelMag);
+ mrcPixelDataSet(dst, x, y, z, data*65535.0, mrcPixelRePart);
break;
}
case mrcLongImage: {
- mrcPixelDataSet(dst, x, y, z, data*(65536.0*65536-1.0), mrcPixelMag);
+ mrcPixelDataSet(dst, x, y, z, data*(65536.0*65536-1.0), mrcPixelRePart);
break;
}
default: {
-<HTML>
-<HEAD>
-<TITLE>Display2</TITLE>
-</HEAD>
-<BODY>
-<H1>Display2</H1>
-<H2>Usage</H2>
-<PRE>
-Usage: Display2
-Options:
- [-i[nput] In (NULL ).as(inFile::mrcImage ) ] :Optional :Input:mrcImage
- [-t[epmlate] Template (%d.roi ).as(String ) ] :Optional :Template for InputFile
- [-H[ighForThres] ThresHigh (0.0 ).as(Real ) ] :Optional :HighThres
- [-L[owForThres] ThresLow (0.0 ).as(Real ) ] :Optional :LowThres
- [-Zoom Zoom (1.0 ).as(Real ) ] :Optional :Zoom for InputFile
- [-Inverse ] :Optional :Inverse (HighValue(dark)<->LowValue(bright)) for InputFile
- [-o[utput] Out (.EosLog ).as(String ) ] :Optional :OutputLogFile
- [-def[ault] Default (~/.Eos/Display2).as(String ) ] :Optional :OutputLogFile
- [-display geometry (:0.0 ).as(String ) ] :Optional :OutputLogFile
- [-geometry display (1024x1024+0+0).as(String ) ] :Optional :OutputLogFile
- [-c[onfig] configFile (NULL ).as(inFile ) ] :Optional :ConfigurationFile
- [-m[ode] mode (0 ).as(Integer ) ] :Optional :Mode
-New wish commands of Display2
-mrcInfoSet [z|min|max] value
-mrcInfoSet [log|pow]
-mrcInfoGet [Nx|Ny|Nz|Max|Min|Mean|Hist]
-</PRE>
-</BODY>
-</HTML>
+/bin/bash: Display2: No such file or directory
roiRelatedObjectRecreate
menuRoiSingleMultiTransform
}
+
checkbutton $f.sizeLock -text SizeLock -variable Roi(SizeLock) \
-onvalue On -offvalue Off \
-command roiRelatedObjectRecreate
+
+ checkbutton $f.angleLock -text AngleLock -variable Roi(AngleLock) \
+ -onvalue On -offvalue Off \
+ -command roiRelatedObjectRecreate
+
checkbutton $f.analysis -text Analysis -variable Roi(Analysis) \
-onvalue On -offvalue Off \
-command roiRelatedObjectRecreate
- pack $f -side top
- pack $f.multi -side left
- pack $f.sizeLock -side left
- pack $f.analysis -side left
+ pack $f -side top
+ pack $f.multi -side left
+ pack $f.sizeLock -side left
+ pack $f.angleLock -side left
+ pack $f.analysis -side left
switch $Roi(Shape) {
Rectangle {
set Roi(MultiShape) Off
set Roi(MultiNumber) Off
set Roi(SizeLock) Off
+ set Roi(AngleLock) Off
set Roi(Analysis) Off
set Roi(Action) Create
set Roi(ActionList) "Create Select Move Resize Rotate"
set Roi(MultiShape) Off
set Roi(MultiNumber) Off
set Roi(SizeLock) Off
+set Roi(AngleLock) Off
set Roi(Analysis) Off
set Roi(View) off
set Roi(Extract) foreground
} else {
set thresLow " "
}
- exec mrcImagePrint -i $fileNameIn -o $name $thesLow $thresHigh -m 17
+ exec mrcImagePrint -i $fileNameIn -o $name -L $thesLow -H $thresHigh -m 17
}
$m add com -label "Save Image(BYTE) As" -command { puts "Not support"}
$m add com -label "Extract ROI(REAL) As" -command roiAreaFileSave
roiRelatedObjectRecreate
}
+ $m add check -variable Roi(AngleLock) \
+ -onvalue On -offvalue Off -label "AngleLock" \
+ -command {
+ roiRelatedObjectRecreate
+ }
+
$m add com -label "ROIInfo" -command roiInformationWinCreate
}
# Create ROI
switch $Roi(Shape) {
Rectangle {
+ if { $Roi(AngleLock) == "On" } {
+ global rectanglePoints
+ set currentAngle [ expr $rectanglePoints(angle)/180.0*3.141592653589 ]
+ } else {
+ set currentAngle 0
+ }
if { $Roi(SizeLock) == "On" } {
global rectanglePoints
debugPrint "SizeLock Start: $mousePressed(startx) $mousePressed(starty)"
- set Roi(CurrentObject) [roiRectangleCreate $c \
- [expr $mousePressed(startx)-$rectanglePoints(width) /2 ] \
- [expr $mousePressed(starty)-$rectanglePoints(height)/2 ] \
- [expr $mousePressed(startx)+$rectanglePoints(width) /2 ] \
- [expr $mousePressed(starty)+$rectanglePoints(height)/2 ] ]
+ set XX [ expr $rectanglePoints(width) /2 ]
+ set YY [ expr $rectanglePoints(height)/2 ]
+ #puts "$XX $YY $$currentAngle"
+
+ set X [ expr -$XX*cos($currentAngle) + $YY*sin($currentAngle) ]
+ set Y [ expr -$XX*sin($currentAngle) - $YY*cos($currentAngle) ]
+ set rectanglePoints(x0) [expr $mousePressed(startx)+$X ]
+ set rectanglePoints(y0) [expr $mousePressed(starty)+$Y ]
+ #puts "$X $Y"
+
+ set X [ expr $XX*cos($currentAngle) + $YY*sin($currentAngle) ]
+ set Y [ expr $XX*sin($currentAngle) - $YY*cos($currentAngle) ]
+ set rectanglePoints(x1) [expr $mousePressed(startx)+$X ]
+ set rectanglePoints(y1) [expr $mousePressed(starty)+$Y ]
+ #puts "$X $Y"
+
+ set X [ expr $XX*cos($currentAngle) - $YY*sin($currentAngle) ]
+ set Y [ expr $XX*sin($currentAngle) + $YY*cos($currentAngle) ]
+ set rectanglePoints(x2) [expr $mousePressed(startx)+$X ]
+ set rectanglePoints(y2) [expr $mousePressed(starty)+$Y ]
+ #puts "$X $Y"
+
+ set X [ expr -$XX*cos($currentAngle) - $YY*sin($currentAngle) ]
+ set Y [ expr -$XX*sin($currentAngle) + $YY*cos($currentAngle) ]
+ set rectanglePoints(x3) [expr $mousePressed(startx)+$X ]
+ set rectanglePoints(y3) [expr $mousePressed(starty)+$Y ]
+ #puts "$X $Y"
+
+ set Roi(CurrentObject) [rectangleCreate $c \
+ $rectanglePoints(x0) \
+ $rectanglePoints(y0) \
+ $rectanglePoints(x1) \
+ $rectanglePoints(y1) \
+ $rectanglePoints(x2) \
+ $rectanglePoints(y2) \
+ $rectanglePoints(x3) \
+ $rectanglePoints(y3) \
+ ]
set Roi(Action) Move
} else {
set Roi(CurrentObject) [roiRectangleCreate $c \
set mousePressed(endy) $y
switch $Roi(Shape) {
Rectangle {
- if { $Roi(SizeLock) == "On" } {
- set Roi(CurrentObject) [ roiRectangleCreate $c \
- $mousePressed(startx) $mousePressed(starty) \
- $mousePressed(endx) $mousePressed(endy) ]
- } else {
- set Roi(CurrentObject) [ roiRectangleCreate $c \
- $mousePressed(startx) $mousePressed(starty) \
- $mousePressed(endx) $mousePressed(endy) ]
- }
+ set Roi(CurrentObject) [ roiRectangleCreate $c \
+ $mousePressed(startx) $mousePressed(starty) \
+ $mousePressed(endx) $mousePressed(endy) ]
}
Line {
set Roi(CurrentObject) [ roiLineCreate $c \
set mousePressed(mode) 2
switch $Roi(Shape) {
Rectangle {
- if { $Roi(SizeLock) == "On" } {
- set Roi(CurrentObject) [roiRectangleCreate $c \
- $mousePressed(startx) $mousePressed(starty) \
- $mousePressed(endx) $mousePressed(endy)]
- } else {
- set Roi(CurrentObject) [roiRectangleCreate $c \
- $mousePressed(startx) $mousePressed(starty) \
- $mousePressed(endx) $mousePressed(endy)]
- }
+ set Roi(CurrentObject) [roiRectangleCreate $c \
+ $mousePressed(startx) $mousePressed(starty) \
+ $mousePressed(endx) $mousePressed(endy)]
}
Line {
set Roi(CurrentObject) [roiLineCreate $c \
set auto_index(display2SetVar) [list source [file join $dir Display2Init.wish]]
set auto_index(display2InitVar) [list source [file join $dir Display2Init.wish]]
set auto_index(display2InitVarSet) [list source [file join $dir Display2Init.wish]]
+set auto_index(diplay2CanvasInit) [list source [file join $dir Display2Init.wish]]
set auto_index(display2Init) [list source [file join $dir Display2Init.wish]]
set auto_index(display2MenuSet) [list source [file join $dir Display2Menu.wish]]
set auto_index(menuFileCreate) [list source [file join $dir Display2Menu.wish]]