Service processor

processor.py

mercure’ processor that executes processing modules on DICOM series filtered for processing.

process.processor.backup_input_images(task_folder: Path) None[source]

Creates a backup of input DICOM files in an ‘as_received’ subfolder within the task folder.

Args:

task_folder: Path to the task folder

process.processor.exit_processor() None[source]

Callback function that is triggered when the process terminates. Stops the asyncio event loop.

process.processor.main(args=['-b', 'html', '-d', '_build/doctrees', '.', '_build/html']) None[source]
process.processor.prioritize_tasks(sorted_tasks: list, counter: int) Optional[Path][source]

Returns the prioritized task based on the priority in the task file.

async process.processor.run_processor() None[source]

Main processing function that is called every second.

async process.processor.search_folder(counter) bool[source]
async process.processor.terminate_process(signalNumber, loop) None[source]

Triggers the shutdown of the service.

process_series.py

Helper functions for mercure’s processor module

async process.process_series.docker_runtime(task: Task, folder: Path, file_count_begin: int, task_processing: TaskProcessing) bool[source]
process.process_series.handle_processor_output(task: Task, task_processing: TaskProcessing, index: int, folder: Path) Any[source]
process.process_series.move_out_folder(task_id: str, source_folder: Path, destination_folder: Path, move_all=False, fail_stage=None) None[source]
process.process_series.move_results(task_id: str, folder: Path, lock: Optional[FileLock], processing_success: bool, needs_dispatching: bool) None[source]
async process.process_series.nomad_runtime(task: Task, folder: Path, file_count_begin: int, task_processing: TaskProcessing) bool[source]
process.process_series.push_input_images(task_id: str, input_folder: Path, output_folder: Path)[source]
process.process_series.push_input_task(input_folder: Path, output_folder: Path)[source]
process.process_series.trigger_notification(task: Task, event: mercure_events, details: str = '', send_always=False) None[source]

status.py

Helper functions for mercure’s processor module

process.status.is_ready_for_processing(folder) bool[source]

Checks if a case in the processing folder is ready for the processor.