AnalysisContext
- class qmenta.sdk.context.AnalysisContext(analysis_id, comm)
Bases:
object
- get_files(input_id, modality=None, tags=None, reg_expression=None, file_filter_condition_name=None)
Returns the files in the input container specified by input_id that match the modality, tags and regular expression, if any. (X)OR that are selected by the file filter condition defined in the tool settings.
- Parameters
input_id (str) – Identifier “id” of the input container in advanced settings.
modality (str, optional) – Optional modality, will allow any modalities if None given. Default is None.
tags (set, optional) – Optional set of tags, will allow any tags if None given, and will match any set of tags (including the empty set) otherwise. Default is None.
reg_expression (str, optional) – Regular expression to match with the file names in the specified container, will allow any file names if None given. Default is None.
file_filter_condition_name (str, optional) – File filter specified in the settings of the tool. Default is None.
subject_container_id (str, optional) –
Examples
Get all files that passed c_TEST (including any selection the user may have done using the GUI)
>>> context.get_files('input', file_filter_condition_name='c_TEST')
Get all files that passed c_TEST and have no tags
>>> context.get_files('input', file_fitler_condition_name='c_TEST', tags=set()
Get all files that passed c_TEST and have the DTI tag in their list of tags
>>> context.get_files('input', file_fitler_condition_name='c_TEST', tags={'DTI'})
Get all files that passed c_TEST whose name match the given regexp
>>> context.get_files('input', file_filter_condition_name='c_TEST', reg_expression='^some_expression[0-9]')
Alternatively, you can use no file_filter_condition_name to browse through the whole input container
>>> context.get_files('input')
- Returns
List of selected file handlers from the container.
- Return type
list of qmenta.sdk.context.File
- upload_file(self, source_file_path, destination_path, modality=None, tags=None, file_info=None, file_format=None)
Upload a file to the platform, to be part of the result files.
- Parameters
source_file_path (str) – Path to the file to be uploaded.
destination_path (str) – Path in the output container. Will be shown in the platform.
modality (str, optional) – Optional modality of the uploaded file. None by default.
tags (set, optional) – Set of tags for the uploaded file. None by default.
file_info (dict, optional) – File information metadata.
file_format (str, optional) – Use “dicom” when .zip file with .dcm slices (uploading a “nifti” file is automatically recognized as such).
protocol (str, optional) –
container_id (str, optional) –
replace (str, optional) –
direct (bool) –
- class QCEntity(value)
Bases:
Enum
Enum with the following options: ANALYSIS, SESSION
- ANALYSIS = 'analysis'
- SESSION = 'patients'
- class QCStatus(value)
Bases:
Enum
Enum with the following options: FAIL, PASS
- PASS = 'pass'
- FAIL = 'fail'
- fetch_analysis_data()
Fetch information about current analysis.
- Returns
- Dictionary that contains important information about the current analysis, such as:
state (str) : State of the analysis
name (str) : Name of the analysis
script_name (str) : Name of the script
analysis_id (str) : A unique identifier for the current analysis
user_id (str) : Username of the user that started the analysis
patient_secret_name (str) : Name of the subject
ssid (str) : Timepoint identifier
settings (dict) : Settings dictionary. See documentation in method get_settings
tags (list) : List of tags
version (str) : Tool version
- Return type
dict
- fetch_parent_analysis_data()
Fetch information about the parent analysis of the current analysis.
- Returns
- Dictionary that contains important information about the current analysis, such as:
state (str) : State of the analysis
name (str) : Name of the analysis
script_name (str) : Name of the script
user_id (str) : Username of the user that started the analysis
patient_secret_name (str) : Name of the subject
ssid (str) : Timepoint identifier
settings (dict) : Settings dictionary. See documentation in method get_settings
tags (list) : List of tags
version (str) : Tool version
- Return type
dict
- get_communication_object()
Return the communication object used for communication with the platform
- Returns
The communication object used to communicate the platform
- Return type
CommunicationObject
- set_qc_status(status=QCStatus.PASS, comments='', entity=QCEntity.ANALYSIS, input_id=None)
Changes the analysis or session QC status.
- Parameters
status (QCStatus) – QCStatus.PASS or QCStatus.FAIL
comments (str, optional) – Additional comments explaining why the QC status has been set to pass or fail.
entity (QCEntity, optional) – QCEntity.ANALYSIS or QCEntity.SESSION
input_id (str, optional) – The id of the session in the settings definition when entity is QCEntity.SESSION
- get_qc_status(patient_secret_name=None, ssid=None)
Gets the session QC status.
- set_progress(message=None, value=None)
Sets analysis progress.
- Parameters
value (int, optional) – Number between 0 and 100 indicating the current status of the execution
message (str, optional) – Progress message.
- get_settings()
Analysis settings.
- Returns
Settings for the current analysis. This includes all the parameters defined in the tool specification (checkboxes, input fields, etc.) and can be accessed using their identifier.
- Return type
dict
- download_resource(resource_path, destination_path)
Downloads a resource file from the bucket (user/group based resources, or legacy).
- Parameters
resource_path (str) – Path to the file in the resources bucket.
destination_path (str) – Path where the file will be downloaded.
- set_metadata_value(key, value, title=None, readonly=False, patient_secret_name=None, ssid=None)
Sets the value of a metadata parameter.
- Parameters
key (str) – The ID of the metadata parameter.
value (int, ,str, float or list) – The new content of the parameter.
title (str, optional) – How the metadata field should be presented
readonly (bool, optional) – Whether the user should be able to edit the value on the platform or not (only by analyses)
patient_secret_name (str, optional) – Manually select the patient_secret_name
ssid (str, optional) – Manually select the ssid. This is useful to choose a specific session in a longitudinal analysis.
- get_metadata_value(key, patient_secret_name=None, ssid=None)
Gets the value of a metadata parameter for the current session
- Parameters
key (str) – The ID of the metadata parameter.
patient_secret_name (str, optional) – Manually select the patient_secret_name
ssid (str, optional) – Manually select the ssid. This is useful to choose a specific session in a longitudinal analysis.
- Return type
The value of the parameter if it exists, None otherwise