shared_libraries.models#
Pydantic models of ScanHub.
Copyright (C) 2023, BRAIN-LINK UG (haftungsbeschränkt). All Rights Reserved. SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-ScanHub-Commercial
Classes#
Pydantic definition of coordinates. |
|
Pydantic definition of genders. |
|
Pydantic definition of a commands. |
|
Pydantic definition of calibration methods. |
|
Task status enum. |
|
Task type enum. |
|
Result type enum. |
|
User role enum. |
|
Device registration request pydantic model. |
|
Device creation request pydantic model. |
|
Device pydantic output model. |
|
Base model for MRI sequence. |
|
Output model for MRI sequence. |
|
Result model. |
|
Update result model. |
|
Result output model. |
|
Task base model. |
|
Task output model. |
|
Pydantic definition of acquisition parameters. |
|
Represents a task for data acquisition in the system. |
|
Pydantic definition of AcquisitionLimits. |
|
Acquisition Task output model. |
|
Acquisition Task payload model. |
|
Protocol base model. |
|
Protocol output model. |
|
Authenticated user, as returned to callers after login. |
|
Request payload to change a user's password. |
|
Patient pydantic base model. |
|
Patient pydantic output model. |
|
ISMRM raw data / (ISMR)MRD acquisition info. |
|
ISMRM raw data / (ISMR)MRD meta data response. |
Module Contents#
- class shared_libraries.models.XYZ#
Bases:
pydantic.BaseModelPydantic definition of coordinates.
- x: float#
- y: float#
- z: float#
- class shared_libraries.models.Gender#
Bases:
str,enum.EnumPydantic definition of genders.
- MALE = 'MALE'#
- FEMALE = 'FEMALE'#
- OTHER = 'OTHER'#
- NOT_GIVEN = 'NOT_GIVEN'#
- class shared_libraries.models.DeviceStatus#
Bases:
str,enum.EnumPydantic definition of a commands.
- ONLINE = 'ONLINE'#
- OFFLINE = 'OFFLINE'#
- BUSY = 'BUSY'#
- ERROR = 'ERROR'#
- class shared_libraries.models.CalibrationType#
Bases:
str,enum.EnumPydantic definition of calibration methods.
- FLIPANGLE = 'flip-angle'#
- FREQUENCY = 'frequency'#
- SHIMS = 'shims'#
- class shared_libraries.models.ItemStatus#
Bases:
str,enum.EnumTask status enum.
- NEW = 'NEW'#
- UPDATED = 'UPDATED'#
- STARTED = 'STARTED'#
- INPROGRESS = 'INPROGRESS'#
- ACQUIRED = 'ACQUIRED'#
- FINISHED = 'FINISHED'#
- ERROR = 'ERROR'#
- FAILED = 'FAILED'#
- CANCELLED = 'CANCELLED'#
- class shared_libraries.models.TaskType#
Bases:
str,enum.EnumTask type enum.
- ACQUISITION = 'ACQUISITION'#
- class shared_libraries.models.ResultType#
Bases:
str,enum.EnumResult type enum.
- DICOM = 'DICOM'#
- MRD = 'MRD'#
- NPY = 'NUMPY'#
- CALIBRATION = 'CALIBRATION'#
- NOT_SET = 'NOT_SET'#
- class shared_libraries.models.UserRole#
Bases:
enum.EnumUser role enum.
- admin = 'admin'#
- medical = 'medical'#
- scientist = 'scientist'#
- engineer = 'engineer'#
- class shared_libraries.models.DeviceCreationRequest#
Bases:
pydantic.BaseModelDevice registration request pydantic model.
(to be sent by user first adding the device to the platform).
- model_config#
- name: str#
- description: str#
- status: DeviceStatus | None = None#
- class shared_libraries.models.DeviceDetails#
Bases:
pydantic.BaseModelDevice creation request pydantic model.
- model_config#
- device_name: str | None = None#
- serial_number: str | None = None#
- manufacturer: str | None = None#
- modality: str | None = None#
- status: DeviceStatus | None = None#
- site: str | None = None#
- parameter: dict | None = None#
- class shared_libraries.models.DeviceOut#
Bases:
DeviceCreationRequest,DeviceDetailsDevice pydantic output model.
- id: uuid.UUID#
- datetime_created: datetime.datetime#
- datetime_updated: datetime.datetime | None = None#
- class shared_libraries.models.BaseMRISequence#
Bases:
pydantic.BaseModelBase model for MRI sequence.
- model_config#
- name: str#
- description: str#
- sequence_type: str#
- tags: list[str] = []#
- class shared_libraries.models.MRISequenceOut#
Bases:
BaseMRISequenceOutput model for MRI sequence.
- id: str#
- created_at: datetime.datetime#
- updated_at: datetime.datetime | None = None#
- seq_file: Any#
- seq_file_extension: str | None = None#
- xml_file: Any | None = None#
- xml_file_extension: str | None = None#
- class shared_libraries.models.BaseResult#
Bases:
pydantic.BaseModelResult model.
- model_config#
- task_id: uuid.UUID#
- class shared_libraries.models.SetResult#
Bases:
pydantic.BaseModelUpdate result model.
- model_config#
- type: ResultType#
- directory: str#
- files: list[str] = []#
- meta: dict | None = None#
- class shared_libraries.models.ResultOut#
Bases:
BaseResult,SetResultResult output model.
- id: uuid.UUID#
- datetime_created: datetime.datetime#
- class shared_libraries.models.BaseTask#
Bases:
pydantic.BaseModelTask base model.
- model_config#
- protocol_id: uuid.UUID | None = None#
- name: str#
- description: str#
- destination: str#
- status: ItemStatus#
- progress: int#
- is_template: bool#
- position: int = 0#
- class shared_libraries.models.TaskOut#
Bases:
BaseTaskTask output model.
- id: uuid.UUID#
- creator: str#
- datetime_created: datetime.datetime#
- datetime_updated: datetime.datetime | None = None#
- class shared_libraries.models.AcquisitionParameter#
Bases:
pydantic.BaseModelPydantic definition of acquisition parameters.
- class shared_libraries.models.BaseAcquisitionTask#
Bases:
BaseTaskRepresents a task for data acquisition in the system.
- task_type: Literal[TaskType]#
- device_id: uuid.UUID | None = None#
- calibration: list[CalibrationType] = []#
- sequence_id: str | None = None#
- acquisition_parameter: AcquisitionParameter | None = None#
- class shared_libraries.models.AcquisitionLimits#
Bases:
pydantic.BaseModelPydantic definition of AcquisitionLimits.
- patient_height: int#
- patient_weight: int#
- patient_age: int#
- class shared_libraries.models.AcquisitionTaskOut#
Bases:
TaskOut,BaseAcquisitionTaskAcquisition Task output model.
- acquisition_limits: AcquisitionLimits | None = None#
- class shared_libraries.models.AcquisitionPayload#
Bases:
AcquisitionTaskOutAcquisition Task payload model.
- mrd_header: str | None = None#
- sequence: MRISequenceOut#
- access_token: str#
- device_parameter: dict#
- class shared_libraries.models.BaseProtocol#
Bases:
pydantic.BaseModelProtocol base model.
- model_config#
- patient_id: uuid.UUID | None = None#
- name: str#
- description: str#
- indication: str | None = None#
- comment: str | None = None#
- status: ItemStatus#
- is_template: bool#
- class shared_libraries.models.ProtocolOut#
Bases:
BaseProtocolProtocol output model.
- id: uuid.UUID#
- creator: str#
- datetime_created: datetime.datetime#
- datetime_updated: datetime.datetime | None = None#
- tasks: list[AcquisitionTaskOut]#
- class shared_libraries.models.User#
Bases:
pydantic.BaseModelAuthenticated user, as returned to callers after login.
- username: str#
- first_name: str#
- last_name: str#
- email: str | None = None#
- access_token: str#
- token_type: str#
- last_activity_unixtime: int | None = None#
- last_login_unixtime: int | None = None#
- class shared_libraries.models.PasswordUpdateRequest#
Bases:
pydantic.BaseModelRequest payload to change a user’s password.
- password_of_requester: str#
- username_to_change_password_for: str#
- newpassword: str#
- class shared_libraries.models.BasePatient#
Bases:
pydantic.BaseModelPatient pydantic base model.
- model_config#
- first_name: str#
- last_name: str#
- birth_date: datetime.date#
- height: float#
- weight: float#
- issuer: str#
- status: ItemStatus#
- comment: str | None = None#
- class shared_libraries.models.PatientOut#
Bases:
BasePatientPatient pydantic output model.
- patient_id: uuid.UUID#
- datetime_created: datetime.datetime#
- datetime_updated: datetime.datetime | None = None#