https://github.com/kaosat-dev/simple-scan
https://github.com/kaosat-dev/simple-scan
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kaosat-dev/simple-scan
- Owner: kaosat-dev
- License: gpl-3.0
- Created: 2014-08-21T05:46:57.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2015-02-04T07:39:28.000Z (over 11 years ago)
- Last Synced: 2025-02-13T20:33:13.737Z (over 1 year ago)
- Language: C++
- Size: 3.07 MB
- Stars: 3
- Watchers: 4
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
simple-scan
===========
Experimental user interface for the nice and cheap [Fabscan 3D laser scanners](http://hci.rwth-aachen.de/fabscan)
using node.js, opencv, polymer, socket.io, three.js etc etc
This project is based partially on the [Fabscan software](http://hci.rwth-aachen.de/fabscan_software):
- the image analysis and 3d point extraction parts, plus a few others are
base on the c/c++ part code of the original software, were reverse engineered, re-writed in javascript
- the firmware is a slightly modified version of the fabscan firmware (command ack, faster io)
- the UI was created from scratch
Why?
----
- I frankly never managed to get the original software running, and wanted to dwelve a bit
deeper into 3d scanning
- User interface is important, I wanted to whip up something basic, yet useable
Worth noting:
-------------
I only had access to a Fabscan scanner during my work at the SZS in Karlsruhe Germany,
(where this software was born) so my ability to adjust things very specific to a Fabscan are...limited :)
running simple-scan
===================
There are two distinct versions of simple-scan, with shared code base
desktop app:
------------
There are /will be packages/installs for [linux]() / [mac]() / [windows]():
To generate an experimental version (only tested on linux) type:
client/server version:
----------------------
For now, running the server requires gnode https://github.com/TooTallNate/gnode
gnode --expose-gc src/server.js
####notes
because of a memory leak in node-opencv's videocapture you have to add the --expose-gc flag (see command above)
then go to your browser at
http://localhost:8080/
voila !
For developpers:
================
desktop version
---------------
- build custom elements (manually for now, script coming up)
vulcanize simple-scan.html
- notes on gyp modules:
- the version that need to be compiled are different based on running the server part in
node-main (option in package.json) or withing the main index.html
- gyp modules that need to be rebuild usin nw-gyp:
* node_modules/socket.io/node_modules/engine.io/node_modules/ws
* node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws
* node_modules/serialport
For all the above do :
- nw-gyp configure --target=0.10.5
- nw-gyp build
Or rather (better): use BUILD instead of REBUILD as it clears the build folder of other builds
node-pre-gyp build --runtime=node-webkit --target=0.10.5
node-pre-gyp build --runtime=node
pushd node_modules/socket.io/node_modules/engine.io/node_modules/ws
node-pre-gyp rebuild --runtime=node-webkit --target=0.10.5
node-pre-gyp rebuild --runtime=node --target=0.10.30
popd
pushd node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws
node-pre-gyp rebuild --runtime=node-webkit --target=0.10.5
node-pre-gyp rebuild --runtime=node --target=0.10.30
popd
pushd node_modules/serialport
node-pre-gyp build --runtime=node-webkit --target=0.10.5
node-pre-gyp build --runtime=node
popd
pushd node_modules/opencv
node-pre-gyp build --runtime=node-webkit --target=0.10.5
node-pre-gyp build --runtime=node
popd
####tests
There are a few "server" side tests you can run the tests with (depending on your path)
gnode node-modules/jasmine-node/bin/jasmine-node specs/
I am currently looking into adding unit tests for the Polymer/ client side components as well...
License:
========
GPLV3 , see License file