Skip to main content

2D acquisition canvas

Project description

tiny_2d_engine

t2de

A Tk.Canevas widget augmented to allow 2D acquisitions:

  1. load an image
  2. Add a calibration for the image to set up your own world coordinates
  3. Add Points or Lines on the image
  4. Save your project. You will find the word coordinates of all your objects in the projects, ready for an other usage.

It can be used as a standaone application with:

> tiny_2d_engine gui

Or as a Tkinter widget like here:

from tkinter import ttk
from tiny_2d_engine.main import Acquisition2D

def add_viewer_2d(otroot):
    """Injection of a viewer 2D to opentea"""
    title = "2D dialog"
    view2d_fr = ttk.Frame(otroot.notebook, name=title)
    otroot.notebook.add(view2d_fr, text=title)
    viewer = Viewer2D(
        view2d_fr,
        otroot,
    )
    return viewer


class Viewer2D(Acquisition2D):
    def __init__(self, master, otroot):
        super().__init__(master, standalone=True)
        self.pack( side="top")
        self.otroot = otroot

    def get(self):
        print("get data")
        return self.acq_canvas.as_dict()

    def set(self, data: dict):
        print("set data")
        self.acq_canvas.load_dict(data)

Disclaimer

This package is very young and uncomplete.

Known issues are:

  • A spurious contextual menu pops up sometimes
  • Changing image can fail
  • Moving the calibration around is quickly perturbating the acquisitions (You are not supposed to do that!)

But it works somehow.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tiny_2d_engine-0.0.0.tar.gz (28.7 kB view hashes)

Uploaded Source

Built Distribution

tiny_2d_engine-0.0.0-py3-none-any.whl (31.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page