{"id":16181272,"url":"https://github.com/kaosat-dev/simple-scan","last_synced_at":"2026-01-19T08:31:59.773Z","repository":{"id":19910240,"uuid":"23175805","full_name":"kaosat-dev/simple-scan","owner":"kaosat-dev","description":null,"archived":false,"fork":false,"pushed_at":"2015-02-04T07:39:28.000Z","size":3216,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-13T20:33:13.737Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kaosat-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-08-21T05:46:57.000Z","updated_at":"2016-07-23T19:43:48.000Z","dependencies_parsed_at":"2022-08-24T17:50:56.374Z","dependency_job_id":null,"html_url":"https://github.com/kaosat-dev/simple-scan","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaosat-dev%2Fsimple-scan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaosat-dev%2Fsimple-scan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaosat-dev%2Fsimple-scan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kaosat-dev%2Fsimple-scan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kaosat-dev","download_url":"https://codeload.github.com/kaosat-dev/simple-scan/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247712219,"owners_count":20983656,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T06:24:26.181Z","updated_at":"2026-01-19T08:31:59.761Z","avatar_url":"https://github.com/kaosat-dev.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"simple-scan\n===========\n\nExperimental user interface for the nice and cheap [Fabscan 3D laser scanners](http://hci.rwth-aachen.de/fabscan)\nusing node.js, opencv, polymer, socket.io, three.js etc etc\n\n\nThis project is based partially on the [Fabscan software](http://hci.rwth-aachen.de/fabscan_software):\n\n- the image analysis and 3d point extraction parts, plus a few others are\nbase on the c/c++ part code of the original software, were reverse engineered, re-writed in javascript\n- the firmware is a slightly modified version of the fabscan firmware (command ack, faster io)\n- the UI was created from scratch\n\n\nWhy?\n----\n\n- I frankly never managed to get the original software running, and wanted to dwelve a bit\ndeeper into 3d scanning\n- User interface is important, I wanted to whip up something basic, yet useable\n\nWorth noting:\n-------------\n\nI only had access to a Fabscan scanner during my work at the SZS in Karlsruhe Germany,\n(where this software was born) so my ability to adjust things very specific to a Fabscan are...limited :)\n\n\nrunning simple-scan\n===================\n\n  There are two distinct versions of simple-scan, with shared code base\n\n\ndesktop app:\n------------\n  \nThere are /will be packages/installs for [linux]() / [mac]() / [windows](): \n     \n\nTo generate an experimental version (only tested on linux) type:\n\n    \n\n  \nclient/server version:\n----------------------\n  \n  \nFor now, running the server requires gnode https://github.com/TooTallNate/gnode\n\n    gnode --expose-gc src/server.js\n\n\n####notes\n\n  because of a memory leak in node-opencv's videocapture you have to add the --expose-gc flag (see command above)\n\n  then go to your browser at \n  \n          http://localhost:8080/\n\n  voila !\n\n\n\nFor developpers:\n================\n\n\ndesktop version\n---------------\n\n- build custom elements (manually for now, script coming up)\n\n        vulcanize simple-scan.html\n\n- notes on gyp modules:\n\n - the version that need to be compiled are different based on running the server part in \nnode-main (option in package.json) or withing the main index.html\n\n\n- gyp modules that need to be rebuild usin nw-gyp:\n\n * node_modules/socket.io/node_modules/engine.io/node_modules/ws\n * node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws\n * node_modules/serialport\n\nFor all the above do :\n  - nw-gyp configure --target=0.10.5\n  - nw-gyp build\n\nOr rather (better): use BUILD instead of REBUILD as it clears the build folder of other builds\n\n        node-pre-gyp build --runtime=node-webkit --target=0.10.5\n        node-pre-gyp build --runtime=node\n\n        pushd node_modules/socket.io/node_modules/engine.io/node_modules/ws\n          node-pre-gyp rebuild --runtime=node-webkit --target=0.10.5\n          node-pre-gyp rebuild --runtime=node --target=0.10.30 \n        popd\n\n        pushd node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws\n          node-pre-gyp rebuild --runtime=node-webkit --target=0.10.5\n          node-pre-gyp rebuild --runtime=node --target=0.10.30 \n        popd\n\n        pushd node_modules/serialport\n          node-pre-gyp build --runtime=node-webkit --target=0.10.5\n          node-pre-gyp build --runtime=node \n        popd\n\n        pushd node_modules/opencv\n          node-pre-gyp build --runtime=node-webkit --target=0.10.5\n          node-pre-gyp build --runtime=node\n        popd\n\n\n\n ####tests\n  \n  There are a few \"server\" side tests  you can run the tests with (depending on your path)\n\n        gnode node-modules/jasmine-node/bin/jasmine-node specs/\n        \n  I am currently looking into adding unit tests for the Polymer/ client side components as well...\n        \nLicense:\n========\n\nGPLV3 , see License file\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaosat-dev%2Fsimple-scan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkaosat-dev%2Fsimple-scan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkaosat-dev%2Fsimple-scan/lists"}