#pragma once #include #include #include class ParameterMap { public: itk::simple::ElastixImageFilter::ParameterMapType parameters; ParameterMap(); ~ParameterMap(); explicit ParameterMap(itk::simple::ElastixImageFilter::ParameterMapType parameter_map); void insert(const std::string &key, const std::vector &value); [[nodiscard]] std::unique_ptr> get(const std::string& key) const; [[nodiscard]] std::unique_ptr> keys() const; }; std::unique_ptr new_parameter_map(); std::unique_ptr get_default_parameter_map(const std::string& kind); std::unique_ptr get_transform_parameter_map(itk::simple::ElastixImageFilter& tfilter, unsigned int index); void set_parameter_map(itk::simple::ElastixImageFilter& tfilter, const std::unique_ptr& parameter_map);