MRI Sequences Manager#

Introduction#

The MRI Sequence Manager API is designed to handle the creation, retrieval, modification, and deletion of MRI sequences within a medical imaging environment. Leveraging MongoDB for storage, this API provides a comprehensive set of endpoints to manage various aspects of MRI sequences. Below is an overview of the key endpoints:

Web API#

GET /api/v1/mri/sequences/#

Get Mri Sequences Endpoint

Retrieve a list of all MRI sequences from the database.

Parameters#

databaseAsyncIOMotorDatabase

The MongoDB database handle.

Returns#

List[MRISequence]

The list of MRI sequences.

status 200:

Successful Response

POST /api/v1/mri/sequences/#

Create Mri Sequence Endpoint

Create a new MRI sequence and store it in the database.

Parameters#

mri_sequenceMRISequence

The MRI sequence data to store.

databaseAsyncIOMotorDatabase

The MongoDB database handle.

Returns#

MRISequence

The created MRI sequence.

status 201:

Successful Response

status 422:

Validation Error

POST /api/v1/mri/sequences/upload#

Upload Mri Sequence File

Upload an MRI sequence file and store it with the provided metadata.

Parameters#

mri_sequenceMRISequenceCreate

The MRI sequence metadata.

fileUploadFile

The MRI sequence file to store.

databaseAsyncIOMotorDatabase

The MongoDB database handle.

Returns#

MRISequence

The stored MRI sequence with the uploaded file.

status 201:

Successful Response

status 422:

Validation Error

GET /api/v1/mri/sequences/{mri_sequence_id}#

Get Mri Sequence By Id Endpoint

Retrieve an MRI sequence by its ID.

Parameters#

mri_sequence_idstr

The ID of the MRI sequence to retrieve.

databaseAsyncIOMotorDatabase

The MongoDB database handle.

Returns#

MRISequence

The retrieved MRI sequence.

param string mri_sequence_id:

status 200:

Successful Response

status 422:

Validation Error

PUT /api/v1/mri/sequences/{mri_sequence_id}#

Update Mri Sequence Endpoint

Update an MRI sequence with new data.

Parameters#

mri_sequence_idstr

The ID of the MRI sequence to update.

mri_sequenceMRISequence

The updated MRI sequence data.

databaseAsyncIOMotorDatabase

The MongoDB database handle.

Returns#

MRISequence

The updated MRI sequence.

param string mri_sequence_id:

status 200:

Successful Response

status 422:

Validation Error

DELETE /api/v1/mri/sequences/{mri_sequence_id}#

Delete Mri Sequence Endpoint

Delete an MRI sequence by its ID.

Parameters#

mri_sequence_idstr

The ID of the MRI sequence to delete.

databaseAsyncIOMotorDatabase

The MongoDB database handle.

Returns#

None

param string mri_sequence_id:

status 204:

Successful Response

status 422:

Validation Error

GET /api/v1/mri/sequences/mri-sequence-file/{mri_sequence_id}#

Get Mri Sequence File By Id Endpoint

Retrieve an MRI sequence file by its ID.

Parameters#

mri_sequence_idstr

The ID of the MRI sequence to retrieve.

background_tasksBackgroundTasks

The background tasks to run.

namestr

The name of the file to download.

databaseAsyncIOMotorDatabase

The MongoDB database handle.

Returns#

FileResponse

The retrieved MRI sequence file.

param string mri_sequence_id:

query string name:

status 200:

Successful Response

status 422:

Validation Error

GET /api/v1/mri/sequences/mri-sequence-plot/{seq_id}#

Plot Mri Sequence

Generate plotly sequence plot data.

Parameters#

seq_id

Id of the sequence to be plotted

Returns#

List of plot data models for plotly

param string seq_id:

status 201:

Successful Response

status 422:

Validation Error

GET /health#

Health Check

Perform a health check for the microservice.

Parameters#

is_db_connected: bool

The status of the database connection.

Returns#

The status of the microservice.

status 200:

Successful Response

GET /readiness#

Readiness Check

Perform a readiness check for the microservice.

Returns#

dict

The readiness status of the microservice.

status 200:

Successful Response

License#

MRI Sequence Manager, including all its source code and associated documentation (collectively, the “Software”), is dual-licensed under the GNU General Public License version 3 (GPLv3) and the ScanHub commercial license.

Open Source License#

If you want to use the Software under the terms of the GPLv3, you may do so for free. Under the GPLv3, you are allowed to modify and distribute the Software, but any derivative works that you distribute must also be licensed under the GPLv3. For the precise terms and conditions, please refer to the text of the GPLv3, which is included with the Software and can also be found at: http://www.gnu.org/licenses/gpl-3.0.html

Commercial License#

If you wish to use the Software without the restrictions of the GPLv3, such as for the purpose of developing proprietary software that includes the Software without the obligation to disclose your source code, you may purchase a commercial license from BRAIN-LINK UG (haftungsbeschränkt).

The commercial license grants you, the licensee, the rights to use, modify, and distribute the Software without the requirement of providing the source code of your proprietary software to the end users. The commercial license also includes access to premium support and services.

For more information on the commercial license, including pricing, please contact us at info@brain-link.de.

Choice of License#

You may choose to use the Software under either the GPLv3 or the commercial license. If you choose to use the Software under the GPLv3, you must comply with all of the terms of the GPLv3. If you choose to use the Software under the commercial license, you must comply with all of the terms of the commercial license.

Disclaimer#

This is not a legal document. The exact terms of the GPLv3 and the commercial license are specified in their respective legal texts. This document is merely intended to provide a general overview of the dual licensing scheme.