Giter Club home page Giter Club logo

streamconv's Introduction

streamconv

Memory efficient conversion between pointcloud and mesh data formats.

Conversions

Please note that some data might not be transfered due to missing support within the target file format or limitations of streamconv.
An up-to-data version of this list can be produced via streamconv --list.

StlAscii -> StlAscii
StlAscii -> StlBinary
StlAscii -> Obj
StlAscii -> PlyAscii
StlAscii -> PlyBinary
StlAscii -> Xy
StlAscii -> Xyz
StlBinary -> StlAscii
StlBinary -> StlBinary
StlBinary -> Obj
StlBinary -> PlyAscii
StlBinary -> PlyBinary
StlBinary -> Xy
StlBinary -> Xyz
Obj -> StlAscii
Obj -> StlBinary
Obj -> Obj
Obj -> Off
Obj -> PlyAscii
Obj -> PlyBinary
Off -> StlAscii
Off -> StlBinary
Off -> Obj
Off -> Off
Off -> PlyAscii
Off -> PlyBinary
PlyAscii -> StlAscii
PlyAscii -> StlBinary
PlyAscii -> Obj
PlyAscii -> Off
PlyAscii -> PlyAscii
PlyAscii -> PlyBinary
Xyz -> Obj
Xyz -> PlyAscii
Xyz -> PlyBinary
Xyz -> Xy
Xyz -> Xyz

Build and Install

Get Git and Haskell Stack.

$ git clone https://github.com/I3ck/streamconv
$ cd streamconv
$ stack install

Usage

Run with the --help parameter for the most up-to-date information.

$ streamconv --help

streamconv 0.0.2 (c) Martin Buck

Usage: streamconv --pin STRING --pout STRING --fin STRING --fout STRING
                  [--tmp1 STRING] [--tmp2 STRING] [--xyzval STRING]
                  [--xyzline STRING] [--list]
  streamconv 0.0.2 - Memory efficient conversion between pointcloud and mesh
  data formats. Use --help for more information (c) Martin Buck

Available options:
  -h,--help                Show this help text
  --pin STRING             Path to the input file
  --pout STRING            Path to write to
  --fin STRING             Input format [StlAscii, StlBinary, Obj, Off,
                           PlyAscii, PlyBinary, Xy, Xyz ]
  --fout STRING            Output format [StlAscii, StlBinary, Obj, Off,
                           PlyAscii, PlyBinary, Xy, Xyz ]
  --tmp1 STRING            First path that shall be used to write temporary
                           data (default: "streamconvtmp1.tmp")
  --tmp2 STRING            Second path that shall be used to write temporary
                           data (default: "streamconvtmp2.tmp")
  --xyzval STRING          Delimiter to be used between xyz
                           values (default: ";")
  --xyzline STRING         Delimiter to be used between xyz
                           lines (default: "\n")
  --list                   List available combinations

You can use the --list command to see whether the conversion you'd like to use is supported. (See Conversions above)
Assuming you'd want to convert mesh.stl which is ascii encoded to a binary mesh.ply:

$ streamconv --pin "mesh.stl" --pout "mesh.ply" --fin "StlAscii" --fout "PlyBinary"

Temporary Files

Some conversions can currently only be done by utilizing temporary files.
Please use the --tmp1 and --tmp2 parameters if you don't want streamconv to use the default paths and names.

License

MIT (also see LICENSE)

Contribution

Feel free to create issues if you find any bugs or want to request features / conversions.
You can also contribute code via PRs, but consider contacting me first, since my local version might be ahead or I might be working on the topic myself already.

streamconv's People

Contributors

i3ck avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.