Hhuajianupfirst commit
590bc693创建于 2024年3月27日历史提交
/*
 * Copyright (C) 2023, Inria
 * GRAPHDECO research group, https://team.inria.fr/graphdeco
 * All rights reserved.
 *
 * This software is free for non-commercial, research and evaluation use 
 * under the terms of the LICENSE.md file.
 *
 * For inquiries contact  george.drettakis@inria.fr
 * 
 * This file is Derivative Works of Gaussian Splatting,
 * created by Longwei Li, Huajian Huang, Hui Cheng and Sai-Kit Yeung in 2023,
 * as part of Photo-SLAM.
 */

#include "include/gaussian_parameters.h"

GaussianModelParams::GaussianModelParams(
    std::filesystem::path source_path,
    std::filesystem::path model_path,
    std::filesystem::path exec_path,
    int sh_degree,
    std::string images,
    float resolution,
    bool white_background,
    std::string data_device,
    bool eval)
    : sh_degree_(sh_degree),
      images_(images),
      resolution_(resolution),
      white_background_(white_background),
      data_device_(data_device),
      eval_(eval)
{
    if (source_path.is_absolute())
        source_path_ = source_path;
    else
        source_path_ = exec_path / source_path;

    if (model_path.is_absolute())
        model_path_ = model_path;
    else
        model_path_ = exec_path / model_path;
}

GaussianPipelineParams::GaussianPipelineParams(bool convert_SHs, bool compute_cov3D)
    : convert_SHs_(convert_SHs), compute_cov3D_(compute_cov3D)
{}

GaussianOptimizationParams::GaussianOptimizationParams(
    int iterations,
    float position_lr_init,
    float position_lr_final,
    float position_lr_delay_mult,
    int position_lr_max_steps,
    float feature_lr,
    float opacity_lr,
    float scaling_lr,
    float rotation_lr,
    float percent_dense,
    float lambda_dssim,
    int densification_interval,
    int opacity_reset_interval,
    int densify_from_iter,
    int densify_until_iter,
    float densify_grad_threshold)
    : iterations_(iterations),
      position_lr_init_(position_lr_init),
      position_lr_final_(position_lr_final),
      position_lr_delay_mult_(position_lr_delay_mult),
      position_lr_max_steps_(position_lr_max_steps),
      feature_lr_(feature_lr),
      opacity_lr_(opacity_lr_),
      scaling_lr_(scaling_lr),
      rotation_lr_(rotation_lr),
      percent_dense_(percent_dense),
      lambda_dssim_(lambda_dssim),
      densification_interval_(densification_interval),
      opacity_reset_interval_(opacity_reset_interval),
      densify_from_iter_(densify_from_iter),
      densify_until_iter_(densify_until_iter),
      densify_grad_threshold_(densify_grad_threshold)
{}