Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
X
xsocs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
22
Issues
22
List
Boards
Labels
Service Desk
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Packages & Registries
Packages & Registries
Package Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
kmap
xsocs
Commits
65eeb17d
Commit
65eeb17d
authored
Nov 16, 2018
by
Thomas Vincent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rework swap qspace and update to FitWidget API changes
parent
3ad708de
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
30 deletions
+15
-30
xsocs/gui/view/QspaceView.py
xsocs/gui/view/QspaceView.py
+15
-30
No files found.
xsocs/gui/view/QspaceView.py
View file @
65eeb17d
...
...
@@ -42,7 +42,6 @@ from silx.gui.plot.StackView import StackView
from
silx.math.combo
import
min_max
from
...
import
config
from
...io
import
QSpaceH5
from
...util
import
bin_centers_to_range_step
from
..widgets.XsocsPlot2D
import
XsocsPlot2D
from
..process.FitWidget
import
FitWidget
...
...
@@ -495,23 +494,16 @@ class QSpaceView(Qt.QMainWindow):
axisNames
=
list
(
qspaceH5
.
qspace_dimension_names
)
# For cartesian coordinates swap axes as it is stored as qx, qy, qz
# Would need to change how it is stored in the file to avoid this...
if
axisNames
==
list
(
QSpaceH5
.
QSpaceCoordinates
.
axesNames
(
QSpaceH5
.
QSpaceCoordinates
.
CARTESIAN
)):
# Swap qspace dataset to be qz, qy, qx (was qx, qy, qz)
qspace
=
qspace
.
swapaxes
(
0
,
2
)
# in-place operations
minBinEdge
.
reverse
()
binSteps
.
reverse
()
axisNames
.
reverse
()
# Swap qspace dataset to be qz, qy, qx (was qx, qy, qz)
# For spherical, swap from (qr, qincl, qazim) to (qazim, qincl, qr).
qspace
=
qspace
.
swapaxes
(
0
,
2
)
if
self
.
__view3d
is
not
None
:
# swap scale, transition, labels as it is follows x, y, z convention
self
.
__view3d
.
setScale
(
*
tuple
(
reversed
(
binSteps
))
)
self
.
__view3d
.
setTranslation
(
*
tuple
(
reversed
(
minBinEdge
))
)
self
.
__view3d
.
setScale
(
*
binSteps
)
self
.
__view3d
.
setTranslation
(
*
minBinEdge
)
self
.
__view3d
.
setAxesLabels
(
*
tuple
(
reversed
(
axisNames
))
)
self
.
__view3d
.
setAxesLabels
(
*
axisNames
)
self
.
__defaultIsoLevels
=
None
# Reset default isosurface levels
...
...
@@ -525,7 +517,7 @@ class QSpaceView(Qt.QMainWindow):
qspace
,
perspective
=
perspective
,
reset
=
False
,
calibrations
=
tuple
(
zip
(
minBinEdge
,
binSteps
)))
calibrations
=
tuple
(
reversed
(
tuple
(
zip
(
minBinEdge
,
binSteps
))
)))
if
not
wasStack
:
self
.
__stackView
.
resetZoom
()
...
...
@@ -589,14 +581,11 @@ class QSpaceView(Qt.QMainWindow):
def
__updateStackViewROI
(
self
,
*
args
,
**
kwargs
):
"""Update display of ROI on StackView"""
roiWidget
=
self
.
__fitWidget
.
roiWidget
()
legend
=
"__QSpaceView_ROI__"
if
roiWidget
.
isActive
():
if
self
.
__fitWidget
.
roiWidget
()
.
isActive
():
# Get ROI range for currently displayed axes
roiSliders
=
[
roiWidget
.
zSlider
(),
roiWidget
.
ySlider
(),
roiWidget
.
xSlider
()]
roiSliders
=
tuple
(
reversed
(
self
.
__fitWidget
.
roiWidget
().
sliders
()))
perspective
=
self
.
__stackView
.
getPerspective
()
...
...
@@ -658,10 +647,8 @@ class QSpaceView(Qt.QMainWindow):
xRange
,
yRange
,
zRange
=
None
,
None
,
None
# TODO would be better to do that in fit widget
roiWidget
=
self
.
__fitWidget
.
roiWidget
()
for
slider
,
range_
in
((
roiWidget
.
xSlider
(),
xRange
),
(
roiWidget
.
ySlider
(),
yRange
),
(
roiWidget
.
zSlider
(),
zRange
)):
for
slider
,
range_
in
zip
(
self
.
__fitWidget
.
roiWidget
().
sliders
(),
(
xRange
,
yRange
,
zRange
)):
if
range_
is
None
:
range_
=
slider
.
getRange
()
slider
.
setValues
(
*
range_
)
...
...
@@ -680,13 +667,11 @@ class QSpaceView(Qt.QMainWindow):
if
region
is
None
:
return
roiRanges
=
{}
for
axis
,
state
in
event
.
items
():
roiRanges
[
axis
]
=
state
.
leftIndex
,
state
.
rightIndex
roiRanges
=
[(
state
.
leftIndex
,
state
.
rightIndex
)
for
state
in
event
]
self
.
__view3d
.
setSelectedRegion
(
zrange
=
roiRanges
[
'z'
],
yrange
=
roiRanges
[
'y'
],
xrange_
=
roiRanges
[
'x'
])
self
.
__view3d
.
setSelectedRegion
(
zrange
=
roiRanges
[
2
],
yrange
=
roiRanges
[
1
],
xrange_
=
roiRanges
[
0
])
self
.
__updateStackViewROI
()
...
...
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