Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
imagej-elphel
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
3
Issues
3
List
Board
Labels
Milestones
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Elphel
imagej-elphel
Commits
c9f2789f
Commit
c9f2789f
authored
Jul 08, 2014
by
Andrey Filippov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added abort to scanning
parent
4fb1b103
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
69 additions
and
31 deletions
+69
-31
Aberration_Calibration.java
src/main/java/Aberration_Calibration.java
+69
-31
No files found.
src/main/java/Aberration_Calibration.java
View file @
c9f2789f
...
@@ -9569,6 +9569,7 @@ if (MORE_BUTTONS) {
...
@@ -9569,6 +9569,7 @@ if (MORE_BUTTONS) {
if
(
centerMotorPos
==
null
)
centerMotorPos
=
focusingMotors
.
readElphel10364Motors
().
clone
();
if
(
centerMotorPos
==
null
)
centerMotorPos
=
focusingMotors
.
readElphel10364Motors
().
clone
();
boolean
allOK
=
true
;
boolean
allOK
=
true
;
boolean
aborted
=
false
;
long
startTime
=
System
.
nanoTime
();
long
startTime
=
System
.
nanoTime
();
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Starting scanning focus in the center, number of steps="
+
focusMeasurementParameters
.
scanNumber
+
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Starting scanning focus in the center, number of steps="
+
focusMeasurementParameters
.
scanNumber
+
", of them "
+
focusMeasurementParameters
.
scanNumberNegative
+
" in negative direction"
+
", of them "
+
focusMeasurementParameters
.
scanNumberNegative
+
" in negative direction"
+
...
@@ -9610,9 +9611,15 @@ if (MORE_BUTTONS) {
...
@@ -9610,9 +9611,15 @@ if (MORE_BUTTONS) {
// do not advance position after last measurement
// do not advance position after last measurement
if
(
numStep
<(
focusMeasurementParameters
.
scanNumber
-
1
))
for
(
int
nm
=
0
;
nm
<
3
;
nm
++)
scanPos
[
nm
]+=
focusMeasurementParameters
.
scanStep
;
if
(
numStep
<(
focusMeasurementParameters
.
scanNumber
-
1
))
for
(
int
nm
=
0
;
nm
<
3
;
nm
++)
scanPos
[
nm
]+=
focusMeasurementParameters
.
scanStep
;
scanPosLast
=
scanPos
.
clone
();
scanPosLast
=
scanPos
.
clone
();
if
(!
allOK
)
break
;
// failed
if
(
this
.
SYNC_COMMAND
.
stopRequested
.
get
()>
0
){
aborted
=
true
;
allOK
=
false
;
System
.
out
.
println
(
"Stop requested, command aborted, returning motors to initial position"
);
break
;
}
if
(!
allOK
)
break
;
// failed
}
}
if
(
focusMeasurementParameters
.
scanTiltEnable
)
{
if
(
allOK
&&
focusMeasurementParameters
.
scanTiltEnable
)
{
if
(
focusMeasurementParameters
.
scanTiltStepsX
>
1
)
{
// 0 or 1 STOPS - do not scan
if
(
focusMeasurementParameters
.
scanTiltStepsX
>
1
)
{
// 0 or 1 STOPS - do not scan
double
scanStepX
=
1.0
*
focusMeasurementParameters
.
scanTiltRangeX
/(
focusMeasurementParameters
.
scanTiltStepsX
-
1
);
double
scanStepX
=
1.0
*
focusMeasurementParameters
.
scanTiltRangeX
/(
focusMeasurementParameters
.
scanTiltStepsX
-
1
);
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Starting scanning tilt in X direction, number of stops="
+
focusMeasurementParameters
.
scanTiltStepsX
+
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Starting scanning tilt in X direction, number of stops="
+
focusMeasurementParameters
.
scanTiltStepsX
+
...
@@ -9620,9 +9627,9 @@ if (MORE_BUTTONS) {
...
@@ -9620,9 +9627,9 @@ if (MORE_BUTTONS) {
for
(
int
numStep
=
0
;
numStep
<
focusMeasurementParameters
.
scanTiltStepsX
;
numStep
++){
for
(
int
numStep
=
0
;
numStep
<
focusMeasurementParameters
.
scanTiltStepsX
;
numStep
++){
int
delta
=(
int
)
Math
.
round
(
focusMeasurementParameters
.
scanTiltRangeX
*
int
delta
=(
int
)
Math
.
round
(
focusMeasurementParameters
.
scanTiltRangeX
*
(
1.0
*
numStep
/(
focusMeasurementParameters
.
scanTiltStepsX
-
1
)
-
0.5
));
(
1.0
*
numStep
/(
focusMeasurementParameters
.
scanTiltStepsX
-
1
)
-
0.5
));
scanPos
[
0
]=
centerMotorPos
[
0
]
+
delta
;
scanPos
[
0
]=
centerMotorPos
[
0
]
-
delta
;
scanPos
[
1
]=
centerMotorPos
[
1
]-
delta
;
scanPos
[
1
]=
centerMotorPos
[
1
]-
delta
;
scanPos
[
2
]=
centerMotorPos
[
2
]+
0
;
scanPos
[
2
]=
centerMotorPos
[
2
]+
delta
;
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Scanning tilt in X direction, step#"
+(
numStep
+
1
)+
" (of "
+
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Scanning tilt in X direction, step#"
+(
numStep
+
1
)+
" (of "
+
(
focusMeasurementParameters
.
scanTiltStepsX
-
1
)+
") at "
+
IJ
.
d2s
(
0.000000001
*(
System
.
nanoTime
()-
startTime
),
3
));
(
focusMeasurementParameters
.
scanTiltStepsX
-
1
)+
") at "
+
IJ
.
d2s
(
0.000000001
*(
System
.
nanoTime
()-
startTime
),
3
));
allOK
&=
moveAndMaybeProbe
(
allOK
&=
moveAndMaybeProbe
(
...
@@ -9643,20 +9650,26 @@ if (MORE_BUTTONS) {
...
@@ -9643,20 +9650,26 @@ if (MORE_BUTTONS) {
updateStatus
,
updateStatus
,
debugLevel
,
debugLevel
,
loopDebugLevel
);
loopDebugLevel
);
if
(!
allOK
)
break
;
// failed
if
(
this
.
SYNC_COMMAND
.
stopRequested
.
get
()>
0
){
aborted
=
true
;
allOK
=
false
;
System
.
out
.
println
(
"Stop requested, command aborted, returning motors to initial position"
);
break
;
}
if
(!
allOK
)
break
;
// failed
}
}
}
}
if
(
focusMeasurementParameters
.
scanTiltStepsY
>
1
)
{
// 0 or 1 STOPS - do not scan
if
(
allOK
&&
(
focusMeasurementParameters
.
scanTiltStepsY
>
1
)
)
{
// 0 or 1 STOPS - do not scan
double
scanStepY
=
1.0
*
focusMeasurementParameters
.
scanTiltRangeY
/(
focusMeasurementParameters
.
scanTiltStepsY
-
1
);
double
scanStepY
=
1.0
*
focusMeasurementParameters
.
scanTiltRangeY
/(
focusMeasurementParameters
.
scanTiltStepsY
-
1
);
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Starting scanning tilt in Y direction, number of stops="
+
focusMeasurementParameters
.
scanTiltStepsY
+
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Starting scanning tilt in Y direction, number of stops="
+
focusMeasurementParameters
.
scanTiltStepsY
+
", step size="
+
IJ
.
d2s
(
scanStepY
,
0
));
", step size="
+
IJ
.
d2s
(
scanStepY
,
0
));
for
(
int
numStep
=
0
;
numStep
<
focusMeasurementParameters
.
scanTiltStepsY
;
numStep
++){
for
(
int
numStep
=
0
;
numStep
<
focusMeasurementParameters
.
scanTiltStepsY
;
numStep
++){
int
delta
=(
int
)
Math
.
round
(
focusMeasurementParameters
.
scanTiltRangeY
*
int
delta
=(
int
)
Math
.
round
(
focusMeasurementParameters
.
scanTiltRangeY
*
(
1.0
*
numStep
/(
focusMeasurementParameters
.
scanTiltStepsY
-
1
)
-
0.5
));
(
1.0
*
numStep
/(
focusMeasurementParameters
.
scanTiltStepsY
-
1
)
-
0.5
));
scanPos
[
0
]=
centerMotorPos
[
0
]
-
delta
;
scanPos
[
0
]=
centerMotorPos
[
0
]
+
delta
;
scanPos
[
1
]=
centerMotorPos
[
1
]-
delta
;
scanPos
[
1
]=
centerMotorPos
[
1
]-
delta
;
scanPos
[
2
]=
centerMotorPos
[
2
]+
delta
;
scanPos
[
2
]=
centerMotorPos
[
2
]+
0
;
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Scanning tilt in Y direction, step#"
+(
numStep
+
1
)+
" (of "
+
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Scanning tilt in Y direction, step#"
+(
numStep
+
1
)+
" (of "
+
(
focusMeasurementParameters
.
scanTiltStepsY
-
1
)+
") at "
+
IJ
.
d2s
(
0.000000001
*(
System
.
nanoTime
()-
startTime
),
3
));
(
focusMeasurementParameters
.
scanTiltStepsY
-
1
)+
") at "
+
IJ
.
d2s
(
0.000000001
*(
System
.
nanoTime
()-
startTime
),
3
));
allOK
&=
moveAndMaybeProbe
(
allOK
&=
moveAndMaybeProbe
(
...
@@ -9677,14 +9690,20 @@ if (MORE_BUTTONS) {
...
@@ -9677,14 +9690,20 @@ if (MORE_BUTTONS) {
updateStatus
,
updateStatus
,
debugLevel
,
debugLevel
,
loopDebugLevel
);
loopDebugLevel
);
if
(!
allOK
)
break
;
// failed
if
(
this
.
SYNC_COMMAND
.
stopRequested
.
get
()>
0
){
aborted
=
true
;
allOK
=
false
;
System
.
out
.
println
(
"Stop requested, command aborted, returning motors to initial position"
);
break
;
}
if
(!
allOK
)
break
;
// failed
}
}
}
}
}
}
if
(
focusMeasurementParameters
.
scanHysteresis
&&
(
scanPosLast
!=
null
)){
if
(
allOK
&&
focusMeasurementParameters
.
scanHysteresis
&&
(
scanPosLast
!=
null
)){
focusingMotors
.
moveElphel10364Motors
(
// return to last direct scan position
focusingMotors
.
moveElphel10364Motors
(
// return to last direct scan position
true
,
//boolean wait,
true
,
//boolean wait,
scanPosLast
,
scanPosLast
,
...
@@ -9718,31 +9737,50 @@ if (MORE_BUTTONS) {
...
@@ -9718,31 +9737,50 @@ if (MORE_BUTTONS) {
updateStatus
,
updateStatus
,
debugLevel
,
debugLevel
,
loopDebugLevel
);
loopDebugLevel
);
if
(!
allOK
)
break
;
// failed
if
(
this
.
SYNC_COMMAND
.
stopRequested
.
get
()>
0
){
aborted
=
true
;
allOK
=
false
;
System
.
out
.
println
(
"Stop requested, command aborted, returning motors to initial position"
);
break
;
}
if
(!
allOK
)
break
;
// failed
}
}
}
}
allOK
&=
moveAndMaybeProbe
(
if
(
aborted
)
{
true
,
System
.
out
.
println
(
"Returning motors to initial position due to command aborted at "
+
IJ
.
d2s
(
0.000000001
*(
System
.
nanoTime
()-
startTime
),
3
));
centerMotorPos
,
// null OK
focusingMotors
.
moveElphel10364Motors
(
// return to last direct scan position
focusingMotors
,
true
,
//boolean wait,
camerasInterface
,
centerMotorPos
,
lensDistortionParameters
,
0.0
,
//double sleep,
matchSimulatedPattern
,
// should not bee null
true
,
//boolean showStatus,
focusMeasurementParameters
,
""
,
//String message,
patternDetectParameters
,
false
);
//focusMeasurementParameters.compensateHysteresis); //boolean hysteresis)
distortionParameters
,
return
null
;
simulParameters
,
}
colorComponents
,
if
(
allOK
)
{
otfFilterParameters
,
allOK
&=
moveAndMaybeProbe
(
psfParameters
,
true
,
threadsMax
,
centerMotorPos
,
// null OK
updateStatus
,
focusingMotors
,
debugLevel
,
camerasInterface
,
loopDebugLevel
);
lensDistortionParameters
,
matchSimulatedPattern
,
// should not bee null
focusMeasurementParameters
,
patternDetectParameters
,
distortionParameters
,
simulParameters
,
colorComponents
,
otfFilterParameters
,
psfParameters
,
threadsMax
,
updateStatus
,
debugLevel
,
loopDebugLevel
);
}
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Scanning focus in the center, number of steps="
+
focusMeasurementParameters
.
scanNumber
+
if
(
debugLevel
>
0
)
System
.
out
.
println
(
"Scanning focus in the center, number of steps="
+
focusMeasurementParameters
.
scanNumber
+
", step size="
+
focusMeasurementParameters
.
scanStep
+
" finished at "
+
IJ
.
d2s
(
0.000000001
*(
System
.
nanoTime
()-
startTime
),
3
));
", step size="
+
focusMeasurementParameters
.
scanStep
+
" finished at "
+
IJ
.
d2s
(
0.000000001
*(
System
.
nanoTime
()-
startTime
),
3
)+
", allOK="
+
allOK
);
// focusMeasurementParameters.scanStep
// focusMeasurementParameters.scanStep
// focusMeasurementParameters.scanNumber
// focusMeasurementParameters.scanNumber
return
allOK
?
range:
null
;
return
allOK
?
range:
null
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment