Tools and helper modules¶
OpenREM settings¶
Administrative module to define the name of the project and to add it to the Python path
Get values¶
Tiny modules to reduce repetition in the main code when extracting information from DICOM headers using pydicom.
-
remapp.tools.get_values.
get_value_kw
(tag, dataset)¶ Get DICOM value by keyword reference.
Parameters: - keyword (str.) – DICOM keyword, no spaces or plural as per dictionary.
- dataset (dataset) – The DICOM dataset containing the tag.
Returns: str. – value
-
remapp.tools.get_values.
get_value_num
(tag, dataset)¶ Get DICOM value by tag group and element number.
Always use get_value_kw by preference for readability. This module can be required when reading private elements.
Parameters: - tag (hex) – DICOM group and element number as a single hexadecimal number (prefix 0x).
- dataset (dataset) – The DICOM dataset containing the tag.
Returns: str. – value
-
remapp.tools.get_values.
get_seq_code_value
(sequence, dataset)¶ From a DICOM sequence, get the code value.
Parameters: - sequence (DICOM keyword, no spaces or plural as per dictionary.) – DICOM sequence name.
- dataset (DICOM dataset) – The DICOM dataset containing the sequence.
Returns: int. – code value
-
remapp.tools.get_values.
get_seq_code_meaning
(sequence, dataset)¶ From a DICOM sequence, get the code meaning.
Parameters: - sequence (DICOM keyword, no spaces or plural as per dictionary.) – DICOM sequence name.
- dataset (DICOM dataset) – The DICOM dataset containing the sequence.
Returns: str. – code meaning
-
remapp.tools.get_values.
get_or_create_cid
(codevalue, codemeaning)¶ Create a code_value code_meaning pair entry in the ContextID table if it doesn’t already exist.
Parameters: - codevalue (int.) – Code value as defined in the DICOM standard part 16
- codemeaning – Code meaning as defined in the DICOM standard part 16
Returns: ContextID entry for code value passed
-
remapp.tools.get_values.
return_for_export
(model, field)¶ Prevent errors due to missing data in models :param val: database field :return: value or None
Check if UID exists¶
Small module to check if UID already exists in the database.
-
remapp.tools.check_uid.
check_uid
(uid, level='Study')¶ Check if UID already exists in database.
Parameters: uid (str.) – Study UID. Returns: 1 if it does exist, 0 otherwise
DICOM time and date values¶
Module to convert betweeen DICOM and Python dates and times.
-
remapp.tools.dcmdatetime.
get_date
(tag, dataset)¶ Get DICOM date string and return Python date.
Parameters: - tag (str.) – DICOM keyword, no spaces or plural as per dictionary.
- dataset (dataset) – The DICOM dataset containing the tag.
Returns: Python date value
-
remapp.tools.dcmdatetime.
get_time
(tag, dataset)¶ Get DICOM time string and return Python time.
Parameters: - tag (str.) – DICOM keyword, no spaces or plural as per dictionary.
- dataset (dataset) – The DICOM dataset containing the tag.
Returns: python time value
-
remapp.tools.dcmdatetime.
get_date_time
(tag, dataset)¶ Get DICOM date time string and return Python date time.
Parameters: - tag (str.) – DICOM keyword, no spaces or plural as per dictionary.
- dataset (dataset) – The DICOM dataset containing the tag.
Returns: Python date time value
-
remapp.tools.dcmdatetime.
make_date
(dicomdate)¶ Given a DICOM date, return a Python date.
Parameters: dicomdate (str.) – DICOM style date. Returns: Python date value
-
remapp.tools.dcmdatetime.
make_time
(dicomtime)¶ Given a DICOM time, return a Python time.
Parameters: dicomdate (str.) – DICOM style time. Returns: Python time value
-
remapp.tools.dcmdatetime.
make_date_time
(dicomdatetime)¶ Given a DICOM date time, return a Python date time.
Parameters: dicomdate (str.) – DICOM style date time. Returns: Python date time value
-
remapp.tools.dcmdatetime.
make_dcm_date
(pythondate)¶ Given a Python date, return a DICOM date :param pythondate: Date :type pythondate: Python date object :returns: DICOM date as string
-
remapp.tools.dcmdatetime.
make_dcm_date_range
(date1=None, date2=None)¶ Given one or two dates of the form yyyy-mm-dd, return a DICOM date range :param: date1, date2: One or two yyyy-mm-dd dates :type date1, date2: String :returns: DICOM date range as string
Test for QA or other non-patient related studies¶
-
remapp.tools.not_patient_indicators.
get_not_pt
(dataset)¶ Looks for indications that a study might be a test or QA study.
Some values that might indicate a study was for QA or similar purposes are not recorded in the database, for example patient name. Therefore this module attempts to find such indications and creates an xml style string that can be recorded in the database.
Parameters: dataset (dataset) – The DICOM dataset. Returns: str. – xml style string if any trigger values are found.