Skip to content

Settings

Classes:

Name Description
ColumnLayout

Options for ColumnLayout

DicomTransferMethod

DICOM transfer method (C-MOVE or C-GET)

PacsConfig

Config for PACS communication

SeriesColumns

Options for SeriesColumns

StudyColumns

Options for StudyColumns

Functions:

Name Description
get_settings

Get the settings object, uses 'get_settings_filename'

get_settings_filename

Determine path of settings file.

ColumnLayout

Options for ColumnLayout

Attributes:

Name Type Description
justify JustifyMethod

justify method

name StudyColumns | SeriesColumns

Column name

no_wrap bool

wrapping

justify

justify: JustifyMethod = 'right'

justify method

name

Column name

no_wrap

no_wrap: bool = False

wrapping

DicomTransferMethod

Bases: Enum

DICOM transfer method (C-MOVE or C-GET)

Attributes:

Name Type Description
GET

C-GET

MOVE

C-MOVE

GET

GET = 'get'

C-GET

MOVE

MOVE = 'move'

C-MOVE

PacsConfig

Bases: BaseModel

Config for PACS communication

Methods:

Name Description
load

Load PACS configuration from file

set_port

Validator to check the port is of type int

Attributes:

Name Type Description
base_folder Path

Base folder for download

client_ae_port int

Client port

client_ae_title str

Client (caller) Application Entity Title (AET)

folder_template str

Relative path to base_folder for download.

series_columns list[ColumnLayout] | None

Series columms to print/display

server_ae_ip str

Server IP/hostname

server_ae_port int

Server (called) port

server_ae_title str

Server (called) Application Entity Title (AET)

study_columns list[ColumnLayout] | None

Study columms to print/display

transfer_method DicomTransferMethod

Transfer method

base_folder

base_folder: Path = Path('dumpdir')

Base folder for download

client_ae_port

client_ae_port: int = 0

Client port

client_ae_title

client_ae_title: str = ''

Client (caller) Application Entity Title (AET)

folder_template

folder_template: str = "${PatientID}/${StudyDate}/${StudyDescription}/${Modality}/${FolderUID}_${SeriesDescription}"

Relative path to base_folder for download.

series_columns

series_columns: list[ColumnLayout] | None = Field(
    default=None
)

Series columms to print/display

server_ae_ip

server_ae_ip: str = 'localhost'

Server IP/hostname

server_ae_port

server_ae_port: int = 8000

Server (called) port

server_ae_title

server_ae_title: str = 'ANY-SCP'

Server (called) Application Entity Title (AET)

study_columns

study_columns: list[ColumnLayout] | None = Field(
    default=None
)

Study columms to print/display

transfer_method

transfer_method: DicomTransferMethod = MOVE

Transfer method

load

load(_filename: Path | str) -> Self

Load PACS configuration from file

set_port

set_port(value: object) -> int

Validator to check the port is of type int

SeriesColumns

Bases: str, Enum

Options for SeriesColumns

Attributes:

Name Type Description
INDEX

Index

MODALITY

Modality

PROTOCOLNAME

ProtocolName

SERIESDESCRIPTION

SeriesDescription

SERIESINSTANCEUID

SeriesInstanceUID

SERIESNUMBER

SeriesNumber

STUDYINSTANCEUID

StudyInstanceUID

INDEX

INDEX = 'Index'

Index

MODALITY

MODALITY = 'Modality'

Modality

PROTOCOLNAME

PROTOCOLNAME = 'ProtocolName'

ProtocolName

SERIESDESCRIPTION

SERIESDESCRIPTION = 'SeriesDescription'

SeriesDescription

SERIESINSTANCEUID

SERIESINSTANCEUID = 'SeriesInstanceUID'

SeriesInstanceUID

SERIESNUMBER

SERIESNUMBER = 'SeriesNumber'

SeriesNumber

STUDYINSTANCEUID

STUDYINSTANCEUID = 'StudyInstanceUID'

StudyInstanceUID

StudyColumns

Bases: str, Enum

Options for StudyColumns

Attributes:

Name Type Description
ACCESSION_NUMBER

AccessionNumber

BODYPARTEXAMINED

BodyPartExamined

INDEX

Index

MODALITIES

ModalitiesInStudy

PATIENT_BIRTHDATE

PatientBirthDate

PATIENT_ID

PatientID

PATIENT_NAME

PatientName

PATIENT_SEX

PatientSex

STUDY_DATE

StudyDate

STUDY_DESCRIPTION

StudyDescription

STUDY_UID

StudyInstanceUID

ACCESSION_NUMBER

ACCESSION_NUMBER = 'AccessionNumber'

AccessionNumber

BODYPARTEXAMINED

BODYPARTEXAMINED = 'BodyPartExamined'

BodyPartExamined

INDEX

INDEX = 'Index'

Index

MODALITIES

MODALITIES = 'ModalitiesInStudy'

ModalitiesInStudy

PATIENT_BIRTHDATE

PATIENT_BIRTHDATE = 'PatientBirthDate'

PatientBirthDate

PATIENT_ID

PATIENT_ID = 'PatientID'

PatientID

PATIENT_NAME

PATIENT_NAME = 'PatientName'

PatientName

PATIENT_SEX

PATIENT_SEX = 'PatientSex'

PatientSex

STUDY_DATE

STUDY_DATE = 'StudyDate'

StudyDate

STUDY_DESCRIPTION

STUDY_DESCRIPTION = 'StudyDescription'

StudyDescription

STUDY_UID

STUDY_UID = 'StudyInstanceUID'

StudyInstanceUID

get_settings

get_settings(
    filename: Path = Path("settings.json"),
) -> PacsConfig

Get the settings object, uses 'get_settings_filename' to determine final filename used.

get_settings_filename

get_settings_filename(filename: Path) -> Path

Determine path of settings file.

Search strategy:

  1. 'DICOM_QR_SETTINGS' environment value
  2. 'settings.json' in current directory
  3. '~/.config/dicom_qr/settings.json'