Give PoissonRecon a writable temporary directory - #2056
Open
Xananthium wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
PoissonReconstores its out-of-corePR_*scratch files in--tempDir, then$TMPDIR, then the process working directory. ODM already knows a writable mesh output directory, but did not pass it to PoissonRecon.This makes an otherwise resumable mesh stage fail when ODM is launched by a service manager with a non-writable working directory (for example
/). Reducing the Poisson thread count cannot repair that filesystem failure, so every retry fails beforeReconstructMeshsees a dirty mesh.Change
Pass the absolute output-mesh directory to PoissonRecon through its existing
--tempDiroption. This keeps scratch files beside the dirty mesh and leaves the public Python API and retry behavior unchanged.A focused unit test captures the generated commands and covers a writable output path containing a space.
Verification
$TMPDIR/./fallback andmkstempuse, then independently recovered in a 24,136,575-point run by supplying a writable working directory.No container-specific behavior or new dependency is introduced.