{ "info": { "author": "Fabien Devaux", "author_email": "fdev31@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4" ], "description": "# A Ciclop 3D Scanner CLI\n\n## Introduction\n\nI got a Ciclop 3D scanner, figured it can't work well on modern Linux distributions, started to hack...\n\nThis scanner is fully opensource, uses double lasers and is quite decent for the price.\nYou can find some for [around $100](https://fr.aliexpress.com/w/wholesale-ciclop.html?initiative_id=SB_20161008042416&site=fra&groupsort=1&SortType=price_asc&g=y&SearchText=ciclop) on the web.\nThis software only targets Linux users.\n\n## Features\n\n- Makes any scanner work on Linux (currently Ciclop is supported, any can be added in few hours)\n- Colored two lasers scanning done in 2.5 minutes (in bright condition)\n- Fully automated calibration done in 30s !\n- Manual laser segmentation mode (to avoid calibration mistakes)\n- Two passes scanning mode for difficult objects\n- User friendly CLI\n\n## Installation\n\nOn Archlinux system:\n\n % yaourt -S --needed opencv python-numpy python-scipy\n % wget https://github.com/fdev31/thot/archive/master.zip\n % unzip master.zip\n % cd thot-master\n % python setup.py build\n % sudo python setup.py install\n\n> If you prefer using python2, just replace \"python\" with \"python2\" on the lines above\n\n> You may also want to install *guvcview* to setup the webcam before starting the app\n\n## Usage\n\n[![Quickstart video](https://img.youtube.com/vi/qUJCSKR_FXM/0.jpg)](https://www.youtube.com/watch?v=qUJCSKR_FXM)\n\nAfter installing all dependencies, unpack sources and open a terminal emulator:\n\n % cd thot-master\n % ./run.sh\n\nCalibrate software (after changing exposure to get the pattern recognized):\n\n Scan Bot> cam_exposure 3000\n Scan Bot> calibrate\n\nScan 3D object\n\n Scan Bot> scan\n\n## Advanced usages\n\nYou can also call the application from the command line:\n\n $ thot recalibrate\n\nReconstruct previously scanned mesh (to test new calibration):\n\n $ thot make\n\nA special \"exec\" command allows command chaining from the command line:\n\n $ thot exec calibrate, keep_laser 1 , make\n\nRebuild mesh from previous scan, keeping first laser information only:\n\n $ thot exec keep_laser 1, make\n\nRebuild mesh with different line detection threshold\n\n $ thot exec algop threshold 5, make\n\nImages are saved into **capture/** folder\nPointcloud is saved as **capture.ply**\n\n## Example\n\nResult of a 2 lasers scan (unprocessed point cloud):\n\n![Tux](http://scan.crava.ch/tux.png)\n![Tux side](http://scan.crava.ch/tux_side.png)\n\n## Future / TODO\n\n- Make \"first start\" commands:\n - make separate shots for camera\n - calibrate camera from the shots\n - ask user to place the pattern on the surface\n - start calibration\n- Blender integration\n- compute normals or mesh directly\n\n## Dependencies\n\n- opencv\n- numpy\n- pyserial\n- prompt_toolkit\n- scipy\n\n# Troubleshooting\n\n## \"Mesh in a mesh\" issue\n\nIf you have a mesh inside another mesh, this is probably a camera calibration issue:\ntake many shots with the `shot` command (changing position of chessboard each time to cover maximum surface), then use `calibrate_shots` to compute camera calibration again.\n\n Scan Bot> advanced\n Scan Bot> shot\n Scan Bot> shot\n Scan Bot> shot\n Scan Bot> shot\n Scan Bot> shot\n Scan Bot> calibrate_shots\n\nAfter this you will need to do standard calibration again (platform and lasers), in case you didn't change the setup and you calibrated the scanner recently, you can avoid capturing pictures by typing:\n\n $ thot recalibrate\n\n## Meshe is randomly distorted, but I can see two different shapes\n\nThis is probably a laser calibration issue, some lines are probably badly detected.\nYou can fix it by discarding the frames that are not well analyzed:\n\n $ thot recalibrate_manual\n\nIn case you want to capture the pictures again, just type:\n\n $ thot calibrate_manual\n\n## Bugs\n\n- no release yet: may not work out of the box, consider unstable\n- camera value getters are broken\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fdev31/thot", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "thotus", "package_url": "https://pypi.org/project/thotus/", "platform": "", "project_url": "https://pypi.org/project/thotus/", "project_urls": { "Homepage": "https://github.com/fdev31/thot" }, "release_url": "https://pypi.org/project/thotus/0.1.1/", "requires_dist": null, "requires_python": "", "summary": "A 3D scanning application", "version": "0.1.1" }, "last_serial": 2441276, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "2217606c79335fc72973586c45866ba7", "sha256": "aaea9be2083bf75174c36496144193480691fb1239d7e1ff3bbb2015944cb58f" }, "downloads": -1, "filename": "thotus-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2217606c79335fc72973586c45866ba7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30802, "upload_time": "2016-11-03T22:09:28", "url": "https://files.pythonhosted.org/packages/a9/8f/264df381dac74acb5e248aab497c591ff6557997e8de702754cb83991e10/thotus-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2217606c79335fc72973586c45866ba7", "sha256": "aaea9be2083bf75174c36496144193480691fb1239d7e1ff3bbb2015944cb58f" }, "downloads": -1, "filename": "thotus-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2217606c79335fc72973586c45866ba7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30802, "upload_time": "2016-11-03T22:09:28", "url": "https://files.pythonhosted.org/packages/a9/8f/264df381dac74acb5e248aab497c591ff6557997e8de702754cb83991e10/thotus-0.1.1.tar.gz" } ] }