Giter Site home page Giter Site logo

fragjacker / octocamdox Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 130 KB

This repository houses the OctoCamDox Plugin for Octoprint which allows for fully automatical picture grabbing of printed layers using close-up camerashots to generate high resolution pictures by combining many pictures into one big one.

License: GNU Affero General Public License v3.0

Python 70.64% JavaScript 29.36%

octocamdox's Introduction

OctoCamDox

OctoCamDox Plugin for Octoprint which allows for fully automated picture grabbing of printed layers using close-up camera shots to generate high resolution pictures by combining many pictures into one big one.

Introduction

OctoCamDox is an extension that allows Octoprint to use printer head mounted industrial cameras to consecutively take images and then build a large high definition picture for each printed layer. It currently requires the following hardware extensions:

  • A head camera to take close-up images from the printed layers.

OctoCamDox-Overview

Installation

Prerequirements

To achieve higher compatibility and modularity, OctoCamDox doesn't access the cameras directly. Every time an image is required, OctoCamDox relies on a user defined helper function in order to call a script which must be adapted for every installation according to the deployed camera setup. OctoCamDox expects a set of correctly cropped and rotated images after executing the script. Filenames and path for images and script must be set in the settings dialog.

Installing the package

The plugin itself can be installed as any regular python package: pip install https://github.com/Fragjacker/OctoCamDox/archive/master.zip

Make sure you use the same Python environment that you installed OctoPrint under, otherwise the plugin won't be able to satisfy its dependencies. Further information can be found in the Octoprint documentation OctoCamDox requires numpy and opencv2. Try installing those packages by hand if automatic dependency resolving fails.

Data Format

The information for the Camera system is integrated into normal gcode files as a M942 command somewhere inside the gcode. OctoCamDox extracts the required information automatically everytime a gcode file is loaded in Octoprint and will actively hook on the M942 command to start the image capturing process. Make sure the M942 command is inserted after a true layer change when using your slicing software, such as slic3r.

Configuration

Good configuration and calibration of the printer is absolutely crucial to successfully generate high definition close-up pictures using a head camera. OctoCamDox provides some additional options to influence the generation of the camera tile grid, that acts as a roadmap for the printer head mounted camera.

Program constants

  • Picture width: The width of the camera picture in pixels
  • Picture height: The width of the camera picture in pixels
  • Layer height: The height of the layer in Millimeter
  • Target extruder: If you use multiple Extruder layouts enter the name of the Extruder that is used inside the gcode. If you use single-extruder setups, leave this blank.

Camera Documentation Toggle

Toggle whether you want the printer to actively take images during the printig process or not, without having to deactivate the entire plug-in everytime

Camera Grid Options

  • Use normal mode: Generate the best and shortest path that the camera should take when capturing the pictures
  • Force left to right: Force the grid generation to always walk from left to right when taking pictures. This is useful on printers with high backlash values in order to achieve seamless pictures.
  • Force right to left: Force the grid generation to always walk from right to left when taking pictures. This is useful on printers with high backlash values in order to achieve seamless pictures.
  • Add backlash flaps: Add additional "blind" coordinates that will not be considered for compiling the big picture but serve the purpose to circumvent backlash seams in the Y Axis on the resulting picture.

OctoCamDox-Settings

octocamdox's People

Contributors

fragjacker avatar platsch avatar

Watchers

 avatar

octocamdox's Issues

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.