-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
outline of scan and grid_scan enhancement proposal #14
Conversation
One downside is that, in losing "outer product" and "inner product" plan patterns, one forfeits useful information about the structure of the data. Those plan patterns told us specifically that could expect linearly spaced steps, and it characterized them in a succinct form. The new form would spell out the individual steps always and throw away the information that the steps are linearly-spaced. We could still infer the linear spacing, and access the start/stop/num parameters, from |
I agree with @danielballan on this point, it does make 'plan_patterns' potentially less useful. That being said I am not sure how much 'plan_patterns' is being used at the moment, and so perhaps they are not so useful in practice anyway. I think for simple plans like |
Original author of plan patterns @klauer should weigh in here. Maybe also of interest to @tacaswell. |
I'm biased here, of course. I like having the plan patterns available for easy reconstruction of the user intent (even for a failed/cancelled scan, etc.). The patterns define the setpoints of the scanned device/signal - these are not always recorded and available after a scan. While combining the point generation (plan patterns) with the plans themselves is compelling because it is simple, recreating the pattern may require duplicating that buried pattern creation code elsewhere. |
While this point is true, in this case I am not suggesting including the point generation in the 'plans' themselves. We would still have a plan_pattern ( |
I think an important point might either be missed or glossed over here. Currently So the question is whether the reduction in highly similar code advocated by @awalter-bnl is worth this small regression in functionality. Agreed? |
I think it is possible to for us to inject the current "nice" meta-data in a way that propagates through in a clean way to get the best of both worlds (the 'close-to-the-user' metadata / plan_patterns) and minimizing code duplication. If it does not overlay cleanly (due to miss-matched keys and what not) we could pull some private We should add some tests on the meta-data coming out of plans to make this sort of re-factor safer in the future! |
re comment by @danielballan, don't we have the metadata already in |
@prjemian is correct, the information relating to the fact that this plan is linearly spaced, and what the spacings are, is still specified in the |
Yes, but the reason for adding "plan patterns" in the first place is that visualizers etc. could refer to them without going to |
I like the parity between grid_scan and a standard image display. I'd be concerned that backing away from the restriction of a uniform rectangular grid could make visualization more involved. |
I think it's acceptable for bluesky itself to take up the burden of maintaining duplicated code if it benefits the user in the end, especially in the case of useful metadata and reducing downstream code complexity. That said, I don't feel strongly enough about this to completely reject the suggestion and would defer to others. |
This has stalled. I think we agree that, as a point of fact, this code simplification would come at a small but notzero loss of information for document consumers: namely, they would get a list of positions instead of a range and an indication of linear spacing. They would have to consult If we were starting from a blank slate, I think there is a fair argument that we should have left the code simpler. But I think the argument for stripping this out now that it has already been written, is not very strong, considering the low cost of maintaining this code and the possibility that the simplification could break things. Is anyone championing this proposal, or shall we close? |
@danielballan, I still think this change is worth it but am not willing to dig in any further. If the consensus is to not proceed then it can be closed. |
judging by the lack of response in the last few days I assume the consensus is not to make this change. closing it out. |
I am placing this here to gauge feedback, essentially I am proposing to match the approach taken in bluesky PR# 1194 for
log_scan
andlog_grid_scan
toscan
andgrid_scan
.In addition to reducing complexity in our code-base this will also (by default) resolve bluesky issue #1189