Skip to content

Releases: SeanDS/optivis

Optivis 0.3.0

12 Jan 22:52
Compare
Choose a tag to compare
Optivis 0.3.0 Pre-release
Pre-release

This release brings the ability to export optical scenes as SVG files. See ex2b.py for an example of how to do this from a script, or open any of the other examples and use the file menu to export.

example

The generated SVG file from which the above image was made is attached.

Optivis 0.2.0

26 Dec 22:45
Compare
Choose a tag to compare
Optivis 0.2.0 Pre-release
Pre-release

Optivis

Optivis is a layout engine for optical configurations. It's pretty simple to use: you add a bunch of components to your bench and define links between them. Optivis handles the drawing of links between the components, all of which can be rotated to different angles. There is support for components with multiple inputs and outputs, and inputs and outputs can have arbitrary angles with respect to the components.

Optivis uses a base set of SVG graphics produced by Alexander Franzen (http://www.gwoptics.org/ComponentLibrary/). Internally, Optivis uses Qt for display, and this allows SVG graphics to retain high degree of fidelity after transformation operations have been applied to them - so everything looks pretty. Eventually it is planned to have Optivis able to export optical configurations into new SVG graphics files, for use in papers, presentations and other documents.

Screenshots

Optivis can make simple connections...

opt1

Or more complicated ones.

opt2

It can also handle situations where outputs are connected back to inputs via other components, such as the beam splitter below. Note also the presence of start and end markers - these can be switched on or off.

opt3

It is possible to define component inputs with respect to the component's angle. This is useful for mirrors, where the angle of incidence and orientation of the optic determines the angle of reflection.

opt4

Optivis leverages Qt's powerful scenes and views toolkit. This means that scenes can be scaled, and underlying image fidelity is not lost.

opt5

Proof of concept release

22 Nov 12:45
Compare
Choose a tag to compare
Pre-release

Optivis

Optivis is a layout engine for optical configurations. Basically, you add a bunch of components to your table and define links between them. Optivis handles the drawing of links between the components, all of which can be rotated to different angles. There is support for components with multiple inputs and outputs, and inputs and outputs can have arbitrary angles with respect to the components.

Optivis uses a base set of SVG graphics produced by Alexander Franzen (http://www.gwoptics.org/ComponentLibrary/). Internally, it converts the SVG graphics into bitmaps for the purposes of display, but eventually it is planned to be able to export optical configurations from Optivis into new SVG files, for convenient insertion into papers, presentations and other documents.

Screenshots

Optivis can connect components together and display markers for the start and end of each link:
opt1

Optivis can handle situations where outputs are connected back to inputs via other components (such as the beam splitter below). Optivis currently favours the optic placed first when it decides the layout of components, but it warns the user if they have tried to over-define an environment (such as setting a length of 50 in one direction and 100 in other).

opt2

It is possible to define component inputs with respect to the component's angle. This is useful for mirrors, where the angle of incidence and orientation of the optic determines the angle of reflection.

opt3