in pathology/transformation_pipeline/ingestion_lib/dicom_gen/wsi_to_dicom/wsi_pyramid_gen_config.py [0:0]
def __init__(self):
config_path = (
ingest_flags.INGESTION_PYRAMID_LAYER_GENERATION_CONFIG_PATH_FLG.value.strip()
)
self._downsample_config = None
if not config_path:
cloud_logging_client.info((
'Ingestion pyramid generation config is undefined. '
'Defaulting to full pyramid generation.'
))
return
_, ext = os.path.splitext(config_path)
ext = ext.lower()
if ext == '.yaml':
self._downsample_config = _read_yaml(config_path)
elif ext == '.json':
self._downsample_config = _read_json(config_path)
else:
msg = (
'Unknown pyramid generation config file type. File does not end in'
' ".json" or ".yaml"'
)
cloud_logging_client.error(
msg,
{
'ingest_pyramid_layer_configuration': config_path,
'file_extension_found': ext,
},
)
raise _IngestPyramidConfigFileTypeError(msg)
cloud_logging_client.info(
'Loaded ingestion pyramid generation config.',
{
'ingest_pyramid_layer_configuration': config_path,
'config_definition': str(self._downsample_config),
},
)
if not _is_config_valid(self._downsample_config):
msg = 'Ingestion pyamid config does not define dict of int lists.'
cloud_logging_client.error(
msg,
{
'ingest_pyramid_layer_configuration': config_path,
'config_definition': str(self._downsample_config),
},
)
raise _IngestPyramidConfigValidationError(msg)