Sisyphe.core.sisypheDatabase

External packages/modules

class Sisyphe.core.sisypheDatabase.SisypheDatabase

Description

Class used to manage a patient database.

Scope of methods:

  • container-like methods to access to patient folder

  • Get/set/remove volumes/ROIs/meshes to patient folder

  • search volume/ROI/mesh in database

  • database backup

Inheritance

object -> SisypheDatabaseItem

Creation: 27/09/2022 Last revision: 10/12/2023

backupDatabase(backuppath: str, wait: DialogWait | None = None) → None

Copy database to a backup directory.

Parameters

backuppathstr

backup folder name

waitSisyphe.core.dialogWait.DialogWait

progress bar dialog

backupIdentity(identity: SisypheVolume | SisypheIdentity, backuppath: str) → None

Copy a patient folder to a backup directory.

Parameters

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

backuppathstr

backup folder name

backupPatient(patient: str, backuppath: str) → None

Copy a patient folder to a backup directory.

Parameters

patientstr

patient folder name

backuppathstr

backup folder name

clearDatabase() → None

Clear the patient database, deletes all sub-folders of the database directory.

copyFileToPatient(filename: str, identity: SisypheVolume | SisypheIdentity) → None

Copy a file to a patient folder.

Parameters

filenamestr

file name to copy

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

copyFilesToPatient(filenames: list[str], identity: SisypheVolume | SisypheIdentity) → None

Copy a list of files to a patient folder.

Parameters

filenameslist[str]

list of file names to copy

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

copySisypheMesh(mesh: SisypheMesh, identity: SisypheIdentity) → None

Copy a Sisyphe.core.sisypheMesh.SisypheMesh file (.xmesh) in its patient folder.

Parameters

meshSisyphe.core.sisypheMesh.SisypheMesh

mesh to copy

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

copySisypheMeshes(meshes: list[SisypheMesh] | SisypheMeshCollection, identity: SisypheIdentity) → None

Save a list of Sisyphe.core.sisypheMesh.SisypheMesh files (.xmesh) in the database.

Parameters

mesheslist[Sisyphe.core.sisypheMesh.SisypheMesh] | Sisyphe.core.sisypheMesh.SisypheMeshCollection

meshes to save

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

copySisypheROI(roi: SisypheROI, identity: SisypheIdentity) → None

Copy a Sisyphe.core.sisypheROI.SisypheROI file (.xroi) in its patient folder.

Parameters

roiSisyphe.core.sisypheROI.SisypheROI

ROI to copy

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

copySisypheROIs(rois: list[SisypheROI] | SisypheROICollection, identity: SisypheIdentity) → None

Copy a list of Sisyphe.core.sisypheROI.SisypheROI files (.xroi) in the database.

Parameters

roislist[Sisyphe.core.sisypheROI.SisypheROI] | Sisyphe.core.sisypheROI.SisypheROICollection

ROIs to copy

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

copySisypheVolume(vol: SisypheVolume) → None

Copy a Sisyphe.core.sisypheVolume.SisypheVolume file (.xvol) in its patient folder.

Parameters

volSisyphe.core.sisypheVolume.SisypheVolume

volume is saved in the patient folder with its file name attribute

copySisypheVolumes(vols: list[SisypheVolume] | SisypheVolumeCollection) → None

Copy a list of Sisyphe.core.sisypheVolume.SisypheVolume files (.xvol) in the database.

Parameters

volslist[Sisyphe.core.sisypheVolume.SisypheVolume] | Sisyphe.core.sisypheVolume.SisypheVolumeCollection

volumes are saved in the patient folders with their file name attributes

createPatient(identity: SisypheVolume | SisypheIdentity) → None

Add a patient in the database, creates patient sub-folder in the database directory.

Parameters

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

createPatients(identities: list[SisypheVolume] | list[SisypheIdentity]) → None

Add a list of patients in the database, creates patient sub-folders in the database directory.

Parameters

identitieslist[Sisyphe.core.sisypheVolume.SisypheVolume] | list[Sisyphe.core.SisypheImageAttributes.SisypheIdentity]

patient identities

deleteFileFromPatient(filename: str, identity: SisypheVolume | SisypheIdentity) → None

Remove a file from a patient folder.

Parameters

filenamestr

file name to remove

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

deleteFilesFromPatient(filenames: list[str], identity: SisypheVolume | SisypheIdentity) → None

Remove a list of files from patient folder.

Parameters

filenameslist[str]

list of file names to remove

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

getAbsFolderFromIdentity(identity: SisypheVolume | SisypheIdentity) → str

Get patient folder name from identity.

Parameters

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

str

folder name

classmethod getCreationDate(filename: str, f: str = '%Y-%m-%d %H:%M:%S') → str

Get file creation date as str.

Parameters

filenamestr

file name

fstr

date format (default ‘%Y-%m-%d %H:%M:%S’)

Returns

str

date

classmethod getCreationDateCode(filename: str) → float | None

Get file creation date as operating system float code.

Parameters

filenamestr

file name

Returns

float | None

float code of the date

getDatabasePath() → str

Get the PySisyphe patient database folder (root folder).

Returns

str

PySisyphe patient database folder

classmethod getFilesLastModifiedDate(folder: str) → dict[str, float]

Get last modified date of files in a folder as list of operating system float code.

Parameters

folderstr

folder name

Returns

dict[str, float]

keys are file names, values are float codes of last modified dates

classmethod getFolderFromIdentity(identity: SisypheIdentity) → str

Get patient folder name from identity (Sisyphe.core.sisypheImageAttributes.SisypheIdentity).

Parameters

identity : Sisyphe.core.sisypheImageAttributes.SisypheIdentity

Returns

str

folder name

classmethod getIdentityFromFolder(folder: str) → SisypheIdentity

Get patient identity (Sisyphe.core.sisypheImageAttributes.SisypheIdentity) from folder name.

Parameters

folderstr

folder name

Returns

Sisyphe.core.sisypheImageAttributes.SisypheIdentity

classmethod getLastModifiedDate(filename: str, f: str = '%Y-%m-%d %H:%M:%S') → str

Get file last modified date as str.

Parameters

filenamestr

file name

fstr

date format (default ‘%Y-%m-%d %H:%M:%S’)

Returns

str

last modified date

classmethod getLastModifiedDateCode(filename: str) → float | None

Get file last modified date as operating system float code.

Parameters

filenamestr

file name

Returns

float

float code of the last modified date

getPatientCount() → int

Get patient count in PySisyphe database.

Returns

int

patient count

getPatientList(flt: str = '*_*_*') → list[str]

Get a list of patient folder names from a search filter string.

Parameters

fltstr

filter format is ‘{lastname}_{firstname}_{birthdate}’, lastname, firstname, birthdate could be replaced by ‘*’ wildcard char. default is ‘_*_’ to get all patient folder names

Returns

list[str]

patient folder names

getPatientMeshes(identity: SisypheVolume | SisypheIdentity) → list[str]

Get the list of Sisyphe.core.sisypheMesh.SisypheMesh file names (.xmesh) in a patient folder.

Parameters

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

list[str]

Sisyphe.core.sisypheMesh.SisypheMesh file names

getPatientROIs(identity: SisypheVolume | SisypheIdentity) → list[str]

Get the list of Sisyphe.core.sisypheROI.SisypheROI file names (.xroi) in a patient folder.

Parameters

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

list[str]

Sisyphe.core.sisypheROI.SisypheROI file names

getPatientTools(identity: SisypheVolume | SisypheIdentity) → list[str]

Get the list of Sisyphe.widget.toolWidgets.ToolWidgetCollection file names (.xtools) in a patient folder.

Parameters

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

list[str]

Sisyphe.widget.toolWidgets.ToolWidgetCollection file names

getPatientVolumes(identity: SisypheVolume | SisypheIdentity) → list[str]

Get the list of Sisyphe.core.sisypheVolume.SisypheVolume file names (.xvol) in a patient folder.

Parameters

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

list[str]

Sisyphe.core.sisypheVolume.SisypheVolume file names

hasDatabasePath() → bool

Check whether PySisyphe database folder exists.

Returns

bool

True if the PySisyphe database folder exists

hasPatient(identity: SisypheVolume | SisypheIdentity) → bool

Check whether a patient is in SisypheDatabase instance.

Parameters

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

bool

True if patient is in database

hasSisypheMesh(mesh: SisypheMesh, identity: SisypheIdentity) → bool

Check whether Sisyphe.core.sisypheMesh.SisypheMesh is in the database.

Parameters

meshSisyphe.core.sisypheMesh.SisypheMesh

mesh to search in database

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

bool

True if mesh is in database

hasSisypheROI(roi: SisypheROI, identity: SisypheIdentity) → bool

Check whether Sisyphe.core.sisypheROI.SisypheROI is in the database.

Parameters

roiSisyphe.core.sisypheROI.SisypheROI

ROI to search in database

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

bool

True if roi is in database

hasSisypheVolume(vol: SisypheVolume) → bool

Check whether Sisyphe.core.sisypheVolume.SisypheVolume is in the database.

Parameters

volSisyphe.core.sisypheVolume.SisypheVolume

volume to search in database

Returns

bool

True if vol is in database

isEmpty() → bool

Check whether patient database is empty.

Returns

bool

True if patient database is empty

removePatient(identity: SisypheVolume | SisypheIdentity) → None

Remove a patient from the database, delete patient sub-folder of the database directory.

Parameters

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

removePatients(identities: list[SisypheVolume] | list[SisypheIdentity]) → None

Remove a list of patients from the database, deletes patient sub-folders of the database directory.

Parameters

identitieslist[Sisyphe.core.sisypheVolume.SisypheVolume] | list[Sisyphe.core.SisypheImageAttributes.SisypheIdentity]

patient identities

removeSisypheMesh(mesh: SisypheMesh, identity: SisypheIdentity) → None

Remove Sisyphe.core.sisypheMesh.SisypheMesh from the database.

Parameters

meshSisyphe.core.sisypheMesh.SisypheMesh

mesh to remove

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

removeSisypheROI(roi: SisypheROI, identity: SisypheIdentity) → None

Remove Sisyphe.core.sisypheROI.SisypheROI from the database.

Parameters

roiSisyphe.core.sisypheROI.SisypheROI

ROI to remove

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

removeSisypheVolume(vol: SisypheVolume) → None

Remove Sisyphe.core.sisypheVolume.SisypheVolume from the database.

Parameters

volSisyphe.core.sisypheVolume.SisypheVolume

volume to remove

saveSisypheMeshtoDatabase(mesh: SisypheMesh, identity: SisypheIdentity, filename: str) → None

Save a Sisyphe.core.sisypheMesh.SisypheMesh file (.xmesh) in its patient folder.

Parameters

meshSisyphe.core.sisypheMesh.SisypheMesh

mesh to save

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

filenamestr

Sisyphe.core.sisypheMesh.SisypheMesh file name

saveSisypheROItoDatabase(roi: SisypheROI, identity: SisypheIdentity, filename: str) → None

Save a Sisyphe.core.sisypheROI.SisypheROI file (.xroi) in its patient folder.

Parameters

roiSisyphe.core.sisypheROI.SisypheROI

ROI to save

identitySisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

filenamestr

Sisyphe.core.sisypheROI.SisypheROI file name

saveSisypheVolumeToDatabase(vol: SisypheVolume, filename: str) → None

Save a Sisyphe.core.sisypheVolume.SisypheVolume file (.xvol) in its patient folder.

Parameters

volSisyphe.core.sisypheVolume.SisypheVolume

volume to save

filenamestr

Sisyphe.core.sisypheVolume.SisypheVolume file name

searchPatients(fltlastname: str = '*', fltfirstname: str = '*', fltdate: str = '*') → list[str]

Get a list of patient folder names from a search filter based on identity.

Parameters

fltlastnamestr

lastname filter, default is ‘*’ wildcard char

fltfirstnamestr

firstname filter, default is ‘*’ wildcard char.

fltdatestr

date filter, default is ‘*’ wildcard char.

Returns

list[str]

patient folder names

searchSisypheMeshFromID(ID: SisypheVolume | SisypheROI | SisypheTransforms | ToolWidgetCollection | str, identity: SisypheVolume | SisypheIdentity) → list[str]

Search Sisyphe.core.sisypheMesh.SisypheMesh from ID (str or ID attributes) in patient folder.

Parameters

ID : str | Sisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.sisypheROI.SisypheROI | Sisyphe.core.sisypheTransform.SisypheTransforms | Sisyphe.widget.toolWidgets.ToolWidgetCollection

ID to search

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

list[str]

list of mesh file names

searchSisypheROIFromID(ID: SisypheVolume | SisypheMesh | SisypheTransforms | ToolWidgetCollection | str, identity: SisypheVolume | SisypheIdentity) → list[str]

Search Sisyphe.core.sisypheROI.SisypheROI from ID (str or ID attributes) in patient folder.

Parameters

ID : str | Sisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.sisypheMesh.SisypheMesh | Sisyphe.core.sisypheTransform.SisypheTransforms | Sisyphe.widget.toolWidgets.ToolWidgetCollection

ID to search

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

list[str]

list of ROI file names

searchSisypheVolumeFromID(ID: SisypheROI | SisypheMesh | SisypheTransforms | ToolWidgetCollection | str, identity: SisypheVolume | SisypheIdentity) → str | None

Search Sisyphe.core.sisypheVolume.SisypheVolume from ID (str or ID attributes) in patient folder.

Parameters

ID : str | Sisyphe.core.sisypheROI.SisypheROI | Sisyphe.core.sisypheMesh.SisypheMesh | Sisyphe.core.sisypheTransform.SisypheTransforms | Sisyphe.widget.toolWidgets.ToolWidgetCollection

ID to search

identitySisyphe.core.sisypheVolume.SisypheVolume | Sisyphe.core.SisypheImageAttributes.SisypheIdentity

patient identity

Returns

str

volume file name

setDatabasePath(path: str) → None

Set the PySisyphe patient database folder (root folder).

Parameters

pathstr

folder name

setDatabasePathFromSettings() → None

Set the PySisyphe patient database folder from PySisyphe settings file (~/.PySisyphe/settings.xml in user folder).

setDefaultDatabasePath() → None

Set the default PySisyphe patient database folder from PySisyphe settings file (~/.PySisyphe/settings.xml in user folder). if this field is empty, set the PySisyphe patient database folder to ~/.PySisyphe/Database (in user folder).