pub struct DensifyArgs {Show 49 fields
pub input_path: PathBuf,
pub output_path: PathBuf,
pub image_path: Option<PathBuf>,
pub max_image_size: i64,
pub number_views: usize,
pub pm_backend: String,
pub mvs_profile: String,
pub window_radius: Option<i32>,
pub window_step: Option<i32>,
pub max_levels: Option<usize>,
pub max_images: Option<usize>,
pub fusion_mode: Option<String>,
pub fusion_min_views: Option<usize>,
pub fusion_depth_error: Option<f64>,
pub fusion_normal_error: Option<f64>,
pub fusion_reproj_error: Option<f64>,
pub fusion_residual: Option<String>,
pub residual_min_views: Option<usize>,
pub residual_depth_error: Option<f64>,
pub residual_normal_error: Option<f64>,
pub residual_min_dist: Option<f64>,
pub fusion_mark_used: Option<bool>,
pub fusion_mark_radius: Option<usize>,
pub fusion_num_images: Option<usize>,
pub geo_iters: Option<u32>,
pub geo_rounds: Option<u32>,
pub fusion_inverse_variance: Option<bool>,
pub fusion_smooth_iters: Option<usize>,
pub fusion_smooth_radius: Option<f64>,
pub fusion_smooth_range: Option<f64>,
pub fusion_smooth_normal: Option<f64>,
pub visibility_views: Option<usize>,
pub visibility_tau: Option<f64>,
pub visibility_min_violations: Option<usize>,
pub filter_min_views: Option<u32>,
pub filter_geom_error: Option<f32>,
pub filter_min_ncc: Option<f32>,
pub remove_speckles: Option<bool>,
pub fill_holes: Option<bool>,
pub diversity_decay: Option<f64>,
pub weak_texture_var: Option<f32>,
pub median_filter: Option<bool>,
pub stats: bool,
pub score_tau: Option<f64>,
pub score_sigma_e: Option<f64>,
pub score_sigma_theta: Option<f64>,
pub score_lambda: Option<f64>,
pub residual_out: Option<PathBuf>,
pub fusion_variants: Option<PathBuf>,
}Expand description
Arguments of densify.
Fields§
§input_path: PathBufimage_undistorter output folder (images/, sparse/). If --image_path is given, the model with distortion (--input_path) is
undistorted in memory instead.
output_path: PathBufOutput PLY.
image_path: Option<PathBuf>If given, input_path is treated as an input model with distortion and the images in this folder are undistorted in memory.
max_image_size: i64Maximum undistortion size (in-memory undistortion path).
number_views: usizeNumber of source views per reference view (<= 32).
pm_backend: StringPatchMatch backend (cuda).
mvs_profile: StringProfile (fast|quality).
window_radius: Option<i32>Cost window radius (default: profile value 5).
window_step: Option<i32>Cost window sample stride 1|2 (default: fast 2, quality 1).
max_levels: Option<usize>Upper bound on the number of scales.
max_images: Option<usize>Only the first N images in registration order (when using --image_path).
fusion_mode: Option<String>Fusion mode (consistency|traversal|score).
fusion_min_views: Option<usize>Consistent fusion: minimum number of agreeing views besides the reference.
fusion_depth_error: Option<f64>Fusion relative depth tolerance.
fusion_normal_error: Option<f64>Fusion normal tolerance angle (degrees).
fusion_reproj_error: Option<f64>Fusion reprojection tolerance (pixels).
fusion_residual: Option<String>Handling of remaining pixels in consistent fusion (none|release|second-pass).
residual_min_views: Option<usize>Second-pass fusion: minimum number of agreeing views besides the reference (default 2).
residual_depth_error: Option<f64>Second-pass fusion: relative depth tolerance (default 0.5x the first pass).
residual_normal_error: Option<f64>Second-pass fusion: normal tolerance angle (degrees, default 0.67x the first pass).
residual_min_dist: Option<f64>Second-pass fusion: second-pass points within this distance of a first-pass point (GSD multiple, default 0.5) are discarded.
fusion_mark_used: Option<bool>Consistent fusion: mark used pixels (1|0).
fusion_mark_radius: Option<usize>Consistent fusion: marking radius (pixels).
fusion_num_images: Option<usize>Consistent fusion: number of overlapping views to check.
geo_iters: Option<u32>Override the number of geometric iterations at all scales.
geo_rounds: Option<u32>Override the number of geometric run rounds.
fusion_inverse_variance: Option<bool>Consistent fusion: inverse-variance weighting (1|0).
fusion_smooth_iters: Option<usize>Fused-cloud smoothing along normals: iterations (0 = off).
fusion_smooth_radius: Option<f64>Fused-cloud smoothing: neighbour radius (GSD multiple).
fusion_smooth_range: Option<f64>Fused-cloud smoothing: range sigma along the normal (GSD multiple).
fusion_smooth_normal: Option<f64>Fused-cloud smoothing: neighbour normal gate (degrees).
visibility_views: Option<usize>Free-space visibility filter: neighbouring views checked per fused point (0 = off).
visibility_tau: Option<f64>Free-space visibility filter: relative depth tolerance.
visibility_min_violations: Option<usize>Free-space visibility filter: minimum violating views to remove a point.
filter_min_views: Option<u32>Depth map filter: minimum number of agreeing views.
filter_geom_error: Option<f32>Depth map filter: forward/backward reprojection tolerance (pixels).
filter_min_ncc: Option<f32>Depth map filter: minimum NCC.
remove_speckles: Option<bool>Remove small fragments (1|0).
fill_holes: Option<bool>Boundary-aware gap filling (1|0).
diversity_decay: Option<f64>Direction-diversity damping of neighbor selection (1 = off).
weak_texture_var: Option<f32>Reference patch variance threshold for adding coarse-scale candidates (0 = off).
median_filter: Option<bool>5x5 median plane filter before readout (1|0).
stats: boolPrint statistics of the resulting point cloud (spacing, outliers, duplicates).
score_tau: Option<f64>Score fusion: acceptance threshold tau (default 2.0).
score_sigma_e: Option<f64>Score fusion: reprojection error weight sigma_e (pixels, default 1.0).
score_sigma_theta: Option<f64>Score fusion: viewing-angle weight sigma_theta (degrees, default 2.0).
score_lambda: Option<f64>Score fusion: free-space violation penalty coefficient lambda (default 1.0).
residual_out: Option<PathBuf>PLY for the second-pass fusion points only (when --fusion-residual second-pass).
fusion_variants: Option<PathBuf>Fusion variants file (name|fusion flags per line). The depth maps are built once and a <output_path folder>/<name>.ply is
written per variant.
Trait Implementations§
Source§impl Args for DensifyArgs
impl Args for DensifyArgs
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl Debug for DensifyArgs
impl Debug for DensifyArgs
Source§impl FromArgMatches for DensifyArgs
impl FromArgMatches for DensifyArgs
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Auto Trait Implementations§
impl Freeze for DensifyArgs
impl RefUnwindSafe for DensifyArgs
impl Send for DensifyArgs
impl Sync for DensifyArgs
impl Unpin for DensifyArgs
impl UnsafeUnpin for DensifyArgs
impl UnwindSafe for DensifyArgs
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.