-
Notifications
You must be signed in to change notification settings - Fork 9
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
Improvements to the goniometer/detector definition #57
Comments
As an example I would suggest something like: @dataclass
class AxisDefinition():
name: str
depends_on: Optional[AxisDefinition]
vector: Point3D
type: MovementTypeEnum
unit: pint.unit.Unit
offset: float
initial_position: float
@dataclass
class Goniometer():
axes: List[AxisDefinition]
def __post_init__():
#Some validation here that geometry actually makes sense |
More than happy to discuss other ideas though |
I recall @ndevenish had an interface for writing NeXus files based around |
That was this thing. I've had some chats with Noemi and I've promised to put in an initial PR to start fleshing something in the next week or two. |
It's somewhat a balance between conciseness and the complete generality of the NX definitions, but I think it can be made to align with both. |
Thanks @ndevenish. I think something like that and using |
Is? |
https://github.com/dls-controls/scanspec Is this? |
Sorry, yes, that. I'm not wedded to it particularly but it seems like a neat common interface to describe a scan and keeping the maths of e.g. what a gridscan looks like in one place |
As a user of
nexgen
the interface aroundcall_writers
and the goniometer and detector is a bit confusing. Particularly using dictionaries leaves a lot of room for error.Acceptance Criteria
The text was updated successfully, but these errors were encountered: