Skip to content

Libs/Project/ProjectUtils.h

Namespaces

Name
shapeworks
User usage reporting (telemetry)
shapeworks::project
shapeworks::project::prefixes
shapeworks::project::types

Classes

Name
class shapeworks::ProjectUtils

Source code

```cpp

pragma once

// std

include

include

include

// tsl

include

// vtk

include

include

// shapeworks

include

namespace shapeworks {

class Project; class Subject;

namespace project::prefixes { static constexpr const char SEGMENTATION_PREFIX = "segmentation_"; static constexpr const char LANDMARKS_FILE_PREFIX = "landmarks_file_";

static constexpr const char SHAPE_PREFIX = "shape_"; static constexpr const char MESH_PREFIX = "mesh_"; static constexpr const char* CONTOUR_PREFIX = "contour_";

static constexpr const char GROOMED_PREFIX = "groomed_"; static constexpr const char GROOMED_CONTOUR_PREFIX = "groomed_contour_";

static constexpr const char* CONSTRAINTS_PREFIX = "constraints_";

static constexpr const char GROOMED_TRANSFORMS_PREFIX = "alignment_"; static constexpr const char PROCRUSTES_TRANSFORMS_PREFIX = "procrustes_"; static constexpr const char IMAGE_PREFIX = "image_"; static constexpr const char FEATURE_PREFIX = "feature_"; static constexpr const char* GROUP_PREFIX = "group_";

static constexpr const char LOCAL_PARTICLES = "local_particles"; static constexpr const char WORLD_PARTICLES = "world_particles";

static constexpr const char LOCAL_PARTICLES_PREFIX = "local_particles_"; static constexpr const char WORLD_PARTICLES_PREFIX = "world_particles_";

} // namespace project::prefixes

namespace project::types { using StringMap = tsl::ordered_map; using StringList = std::vector; using StringMapList = std::vector; using StringMultiMap = std::map; } // namespace project::types

class ProjectUtils { public: using StringList = project::types::StringList; using StringMap = project::types::StringMap;

static vtkSmartPointer convert_transform(std::vector list);

static vtkSmartPointer convert_transform(std::string string);

static std::vector convert_transform(vtkSmartPointer transform);

static StringList determine_domain_names(StringList keys);

static void determine_domain_types(Project* project, StringMap key_map);

static StringList get_input_prefixes();

static StringList get_groomed_prefixes();

static StringList get_original_keys(StringList domain_names, StringMap key_map);

static StringList get_values(StringList prefixes, StringList domain_names, StringMap key_map);

static std::vector> get_transforms(std::string prefix, StringList domain_names, StringMap key_map);

static StringMap get_value_map(std::vector prefix, StringMap key_map);

static StringMap get_extra_columns(StringMap key_map);

static DomainType determine_domain_type(std::string filename);

static bool starts_with(std::string str, std::string prefix);

static std::string transform_to_string(std::vector transform);

static std::vector convert_domain_types(std::vector domain_types); static std::vector convert_groomed_domain_types(std::vector domain_types);

static StringMap convert_subject_to_map(Project project, Subject subject); }; } // namespace shapeworks ```


Updated on 2026-03-31 at 16:02:11 +0000