Source code for luna.common.constants

'''
Created on November 16, 2020

@author: rosed2@mskcc.org
'''
import os
# Application Constants

#### Table Names ####
from luna.common.utils import get_absolute_path

TABLE_DIR			='tables/'
# clinical
DIAGNOSIS_TABLE		=TABLE_DIR + 'diagnosis'
MEDICATION_TABLE	=TABLE_DIR + 'medication'
PATIENT_TABLE		=TABLE_DIR + 'patient'

# radiology
DICOM_TABLE			=TABLE_DIR + 'dicom'
SCAN_TABLE 			=TABLE_DIR + 'scan'
SCAN_ANNOTATION_TABLE		=TABLE_DIR + 'scan_annotation'
FEATURE_TABLE		=TABLE_DIR + 'feature'

#### Raw Data Directories ####
DICOMS				='dicoms'
SCANS				='scans'
SCAN_ANNOTATIONS	='scan_annotations'
PATHOLOGY_ANNOTATIONS	='pathology_annotations'
FEATURES			='features'

# Configurations
APP_CFG				='APP_CFG'
DATA_CFG			='DATA_CFG'
SCHEMA_FILE			=get_absolute_path(__file__, '../data_ingestion_template_schema.yml')
PUBLIC_DIR          ='/gpfs/mskmind_ess/mind_public'

ANNOTATION_TABLE_MAPPINGS = {"regional":\
 {"DATA_TYPE":"REGIONAL_METADATA_RESULTS", "GEOJSON_COLUMN_NAME": "geojson"}, \
 "point": {"DATA_TYPE": "POINT_GEOJSON", "GEOJSON_COLUMN_NAME": "geojson"} \
    }



[docs]def PROJECT_LOCATION(cfg): """ ROOT_PATH is a path to mind data e.g. /gpfs/mind/data or hdfs://server:port/data :param cfg: :return: ROOT_PATH/PROJECT_NAME """ # This function assumes <uri_root>/data as "ROOT_PATH" return os.path.join(cfg.get_value(path=DATA_CFG+'::ROOT_PATH'), cfg.get_value(path=DATA_CFG+'::PROJECT'))
[docs]def CONFIG_LOCATION(cfg): return "{0}/configs/{1}".format(PROJECT_LOCATION(cfg), TABLE_NAME(cfg))
[docs]def TABLE_LOCATION(cfg, is_source=False): return "{0}/tables/{1}".format(PROJECT_LOCATION(cfg), TABLE_NAME(cfg, is_source))
[docs]def TABLE_NAME(cfg, is_source=False): if is_source: table_name = cfg.get_value(path=DATA_CFG+'::SOURCE_DATA_TYPE').upper() else: table_name = cfg.get_value(path=DATA_CFG+'::DATA_TYPE').upper() dataset_name = cfg.get_value(path=DATA_CFG+'::DATASET_NAME') if dataset_name != "" and dataset_name is not None: table_name += "_{0}".format(dataset_name) return table_name