Skip to main content

DensifyArgs

Struct DensifyArgs 

Source
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: PathBuf

image_undistorter output folder (images/, sparse/). If --image_path is given, the model with distortion (--input_path) is undistorted in memory instead.

§output_path: PathBuf

Output 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: i64

Maximum undistortion size (in-memory undistortion path).

§number_views: usize

Number of source views per reference view (<= 32).

§pm_backend: String

PatchMatch backend (cuda).

§mvs_profile: String

Profile (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: bool

Print 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

Source§

fn group_id() -> Option<Id>

Report the ArgGroup::id for this set of arguments
Source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

impl Debug for DensifyArgs

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for DensifyArgs

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ByRef<T> for T

Source§

fn by_ref(&self) -> &T

Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> DistributionExt for T
where T: ?Sized,

Source§

fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> T
where Self: Distribution<T>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Imply<T> for U
where T: ?Sized, U: ?Sized,

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts 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 more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V