Source code for milliontrees.get_dataset
"""Module for retrieving MillionTrees dataset instances."""
from typing import Optional
import milliontrees
[docs]
def get_dataset(dataset: str, version: Optional[str] = None, **dataset_kwargs):
"""Brief description of the function.
Args:
dataset: Description of dataset.
version: Description of version.
"""
if version is not None:
version = str(version)
if dataset not in milliontrees.supported_datasets:
raise ValueError(
f'Dataset {dataset} not recognized. Must be one of {milliontrees.supported_datasets}.'
)
dataset_classes = {
'TreePoints':
'milliontrees.datasets.TreePoints.TreePointsDataset',
'TreePolygons':
'milliontrees.datasets.TreePolygons.TreePolygonsDataset',
'TreeBoxes':
'milliontrees.datasets.TreeBoxes.TreeBoxesDataset',
}
if dataset in dataset_classes:
module_path = dataset_classes[dataset]
module_name, class_name = module_path.rsplit('.', 1)
module = __import__(module_name, fromlist=[class_name])
dataset_class = getattr(module, class_name)
return dataset_class(version=version, **dataset_kwargs)
raise ValueError(f'Dataset {dataset} is not supported.')