Details
- Tag
- unique_point_insertion_equivalent
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
05ae44827169 | aterrier | Changes in openLogFile.m and plot.m to run plotSCase from another dir than… | Jan 16 2020 |
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 run setup.m. This setup() function will create a config.json file that is detailed below.
The base folder must contain a "config.json" with the following keys:
These standard measurements are built in a way that the next measurement needs the results of the former measurement, e.g "morphology" needs to be run after "loadData". The successive standard measurements are "loadData", "morphology", "measureFirst", "measureSecond".
All the special measurements are called after the execution of the standard measurements. The special measurements SCase functions are recursively called in a Shoulder object and all the objects within.
There are five main features within this system. Be sure to add this system's folders and subfolders to your MATLAB path.
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 function loadSCase() will do the same even more directly:
SCase = loadSCase('P527');
The ShoulderCaseLoader class features several 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.
To observe and interact with a cases's data run:
database = ShoulderCaseLoader(); SCase = database.loadCase('P527'); SCase.plot();
or
plotSCase('P527');
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.
For a loaded SCase, you can have all of the measurements by calling getTableOfData method of ShoulderCase.m as:
SCase.getTableOfData();
The result will be a table with all of the information and measurements for the SCase. Also you can have all of the information and measurements for all of the SCases by calling exportSCaseData function as:
exportSCaseData("SCaseList", "*", "saveInFile", filename);
The filename is your specified csv or excel file where all the measurements will be exported. Refer to the function docstring for more details.
Should be added here:
Current version is 1.0.5
EPFL CC BY-NC-SA 4.0 Int.