allow stack settings to be per-series#902
Conversation
Codecov Report
@@ Coverage Diff @@
## master #902 +/- ##
=======================================
Coverage 11.30% 11.30%
=======================================
Files 624 624
Lines 71803 71811 +8
=======================================
+ Hits 8117 8121 +4
- Misses 63686 63690 +4
Continue to review full report at Codecov.
|
|
Note there is a small bug in current protocol.py in setting z position since the step size add on doesn't include the direction, so if you are doing a top-down stack you won't get the last slice now also addressed in this pr |
| protocol = protocol_z | ||
| protocol.dwellTime = z_dwell | ||
| #print(protocol) | ||
| stack_settings = stack if hasattr(stack, 'keys') else None |
There was a problem hiding this comment.
Let me rest on it for a bit, but not 100% comfortable with the re-purposing of the boolean stack parameter. Can see arguments both ways ...
| scope.stackSettings.GetEndPos() + .95 * scope.stackSettings.GetStepSize(), | ||
| scope.stackSettings.GetStepSize() * scope.stackSettings.GetDirection()) | ||
|
|
||
| def set_stack_positions(self, stack_mdh=None): |
There was a problem hiding this comment.
a) see PR #799 for re-factored StackSettings object. Any function to set one of these should either take a StackSettings object, or a dict of arguments (as provided by the http endpoints), not a metadata handler.
A dedicated object/handler is needed as some of the properties are computed rather than directly read, depending on stack mode (hard ends, or middle & number). It makes sense that the logic for computing these is in one place and not duplicated. Notably, this code will probably not do what you want as the default mode is middle & number. Protocol then uses it's own StackSettings object/the one that it gets passed rather than the scope one, leaving the rest of the code the same.
a) having this as a separate function (rather than in Init()) feels a bit off, but could grow on me.
|
@David-Baddeley any status updates here? |
|
See latest iteration of #799. Needs a bit of testing / refinement, and maybe another iteration to remove some of the gross aspects. Should however give nice easily called endpoints for both action queueing and webui. Major un/semi-resolved design choice as follows: Should the z dwell time be part of the stack settings, or the spooler settings? Current version of the #799 opts for the worst of both worlds and lets it be either with significant grossness as to who takes priority for default values. Arguments for the dwell time to be part of the stack settings:
Arguments against (effectively the status-quo where the z-dwell settings are a property of localisation series rather than z-stepping):
I think there are are some pragmatic short-term things which would let us get #799 in though (even if this is a bit of a brain fart) |
|
Have a pragmatic interim solution to the above. |
|
should be redundant to changes in #799 |
Addresses issue #osmalarity changes cell height
Is this a bugfix or an enhancement?
enhancement
Proposed changes:
Checklist: