Details
- Tag
- v1.0.5
This repository contains Matlab codes to import anonymised clinical cases in a shoulder database (shoulderDB), and update this database with complementary clinical, radiological, morphological, or biomechanical data. This project is a collaboration between Laboratory of Biomechanical Orthopedics of the Ecole Polytechnique Federal de Lausanne (EPFL-LBO), the ARTORG center of the University of Bern, the Orthopedic Service of the University Hospital of Lausanne (CHUV-OTR), and the Radiological Department of the University Hospital of Lausanne (CHUV-RAD).
Clone or download this repository. Open MATLAB, set the working directory to be the downloaded repository and add its folders and subfolders to the MATLAB path. To do the latter part, once the working directory has been set you can run the following command:
addapth(genpath(pwd));
The base folder must contain a "config.txt" with the following fields:
A full config.txt example for a system working on lbovenus.epfl.ch contains the four following lines:
maxSCaseIDDigits = 3 SCaseIDValidTypes = 'NP' pythonDir = '/shoulder/methods/python/rcseg' dataDir = '/shoulder/dataDev'
There are four main features within this system.
Data are restricted to authorised users, in a dedicated EPFL server. The data related to a specific case can be accessed thanks to the ShoulderCaseLoader class. For example:
database = ShoulderCaseLoader(); SCase = database.loadCase('P527');
Will load the data related to the case 'P527' into the variable SCase. The ShoulderCaseLoader class features many other methods to access the data. To get the list of all the available cases run:
database = ShoulderCaseLoader(); SCaseList = database.getAllCasesIDs();
To load all the available cases in an cell array run:
database = ShoulderCaseLoader(); AllTheSCases = database.loadAllCases();
All the measured data are directly available in a loaded ShoulderCase's properties. The following commands assumes that a case data is identified by a variable named SCase.
To observe a cases's geometrical data in a 3D plot run:
SCase.plot(); SCase.plot('auto');
Add the argument 'auto' to see the automatically measured data. Another way to create the same visualisations is:
SCase.shoulderManual.plot(); SCase.shoulderAuto.plot();
To observe the results of the rotator cuff muscles' segmentation run:
SCase.shoulderManual.muscles.plot(); SCase.shoulderAuto.muscles.plot();
To update the measured values of the shoulder cases use the function measureSCase(). Refer to the function's documentation for further informations.
To import new cases (basically add a CT-files folder at the right place) use the importSCase GUI. The importSCase code is located in the sub-directory importSCase. Its description is detailed there. It currently only work for Windows.
Should be added here:
Current version is 1.0.5
EPFL CC BY-NC-SA 4.0 Int.