Analyses a set of labelled point cloud tiles and sets up a new SPT project directory. Running clfSPTSetup is the mandatory first step in the training workflow before proceeding with clfSPTPreprocess and clfSPTTrain.
More...
|
| tuple | scan_dataset (list files, logger) |
| | Scans all input files. More...
|
| |
|
dict | build_class_map (dict found_ids, list ignore_ids, dict overrides) |
| | Builds the class mapping {odm_id -> name}.
|
| |
|
None | print_class_preview (dict found_ids, dict class_map, list ignore_ids) |
| | Tabular display of the detected classes.
|
| |
| Optional[dict] | interactive_confirm (dict found_ids, dict class_map, list ignore_ids) |
| |
| tuple | detect_features (set available_attrs, logger) |
| | Determines from the available ODM attributes which SPT features can be used. More...
|
| |
| dict | create_split (list files, dict per_file_counts, str split_type, dict ratios, logger) |
| |
| None | report_split_composition (dict per_file_counts, dict split_result, logger) |
| |
|
dict | create_project_structure (str project_dir, logger) |
| | Creates the project directories and returns their paths.
|
| |
| None | copy_split_files (list files, dict split_result, dict paths, logger) |
| |
|
None | write_dataset_config_py (str output_path, str datensatz, dict class_map, list ignore_ids, dict feature_flags, dict split_result) |
| | Generates {dataset}_config.py.
|
| |
| None | write_cfg_yaml (str output_path, str datensatz, str project_dir, list point_hf, dict feat_size) |
| | Generates {dataset}.cfg as a YAML file. More...
|
| |
Analyses a set of labelled point cloud tiles and sets up a new SPT project directory. Running clfSPTSetup is the mandatory first step in the training workflow before proceeding with clfSPTPreprocess and clfSPTTrain.
This script serves as the entry point for the SPT training workflow. Its primary job is to generate the necessary configuration files and directory structure required by the downstream tools. To do this, it scans the point cloud files (supporting all formats handled by pyDM.Import) to determine their semantic class distributions and check which point attributes are available for model training. Based on the class distributions, it creates either a stratified or random train/validation/test split and organises everything into a clean project structure containing <project>.cfg and <project>_config.py. For adjusting the dataset splits it is not necessary to re-run the script, it is also possible to move files between the split folders manually.
- See also
- Script documentation