Unconditionally Stable Shock Filters for Image and Geometry Processing
SGP 2015 Paper
This distribution contains a visualization for signal/geometry-sharpening using an advection-based implementation of shock filters. If the input mesh contains color values at the vertices, the exectuable can be used to process the colors. Otherwse, the geometry is processed. Optionally, the executable can output the processed results directly to a file, instead of showing the visualization.
- <input mesh>
- This string is the name of the file containing the input triangle mesh. It is assumed that the file is in the PLY format and the file-name ends with a ".ply" extension.
- --out <ouput mesh>
- This optional string is the name of the triangle mesh to which the output will be written. (If specified, the viewer will not be run and the executable will terminate upon writing the output.)
- [--fTime <flow time>]
- This optional floating point value specified time-duration over which the advection is performed. (By default, this value is set to 0.)
- [--smooth <smoothing interations>]
- This optional integer value indicates the number of smoothing iterations that are to be applied to the flow-field. (By default, this value is set to 1.)
- [--subdivide <subdivision iterations>]
- This optional integer value specifies the number of Loop subdivision iterations that are to be performed on the mesh prior to processing. (By default, this value is set to 0.)
- [--sWeight <screening weight>]
- This optional floating point value specifies the screening weight to be used in fitting a surface to the processed normals. If color-processing is being performed, this value is ignored. (By default, this value is set to 1.)
- [--cgIters <conjugate gradient iterations>]
- This optional integer value specifies the number of diagonally-preconditioned conjugate-gradient iterations that are to be performed when fitting a surface to the processed normals. If color-processing is being, performed, this values is ignored. (By default, this value is set to 25.)
- If this optional argument is specified, the lumped mass-matrix is used.
- If this optional argument is specified, the geometry is processed, even if the mesh contains color values.
- If this optional argument is specified floating point calculations will be performed using single-precision. Otherwise, double-precision floats will be used.
- Keyboard: (Note that this is only a subset of the keyboard controls. For a full list, see the help menu on the bottom right.)
- [Esc]: Quit
- a/z: Rotate around the x-axis
- q/w: Rotate around the y-axis
- s/x: Rotate around the z-axis
- [Left]/[Right]/[Page Up]/[Page Down]: Pan
- [Up]/[Down]: Zoom
- 1: Open a dialog that allows the user to specify the flow time
- 2: Open a dialog that allows the user to specify the number of smoothing iterations
- [LEFT]: Rotate around the x- and y-axes
- [RIGHT]: Zoom in and out
- For some reason, the linux executable core-dumps when the visualization is closed.