Loading...
 
Image


This page is still under construction. The documentation is far from complete and some download links might not work.

mipEdit3D is a visualization and editing program for images and 3D data with a heavy focus on prototyping and algorithm development. It is based on the BIAS image processing library and has a modular structure allowing to easily set up processing chains from simple building blocks (tools). It can also be used for 3D mesh editing as well as real time image processing and visualization. Its plugin structure allows to load modules at run time and supports seamless reloading at any time, i.e. it is possible to edit the code of plugins while these plugins are in use by the program.

Download

MIP Edit 3D and all it components are distributed in the hope that they will be useful.
However, please note:

THIS SOFTWARE IS FREE FOR NON-COMMERCIAL USE ONLY. IT IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Currently only installation packages for the following distributions are available. No installation of the BIAS library is required.

Distributions 64 Bit Installer 32 Bit Installer
Debian jessie mipEdit3D_x64_jessie.deb     mipEdit3D_x86_jessie.deb
Ubuntu 12 / Mint 14         mipEdit3D_x64_Ubuntu12.deb     mipEdit3D_x86_Ubuntu12.deb
Ubuntu 14 mipEdit3D_x64_Ubuntu14.deb mipEdit3D_x86_Ubuntu14.deb
Suse 12 mipEdit3D_x64_Suse12.rpm mipEdit3D_x86_Suse12.rpm
Suse 13 mipEdit3D_x64_Suse13.rpm mipEdit3D_x86_Suse13.rpm

Installation packages updated 08/07/14

Additional plugins:

64 Bit 32 Bit Description
Kinect (LibFreenect) support   libE3DPKinectLFN.so libE3DPKinectLFN.so Allows to directly grab images from the Microsoft Kinect camera via libfreenect. Delivers depth, rgb and ir images. It requires libfreenect to be installed
Kinect (OpenNI) support libE3DPKinectONI.so libE3DPKinectONI.so Allows to directly grab images from the Microsoft Kinect camera via OpenNI. Delivers depth, rgb and ir images. It requires OpenNI 1.* to be installed
Firewire DCAM support libE3DPFirewireCam.so libE3DPFirewireCam.so Allows to directly grab images from firewire cameras supporting the DCAM standard. Does currently not support format 7 grabbing. It requires libDC1394 to be installed
Mesa Swissranger SR3000/SR4000 libE3DPSwissranger.so   libE3DPSwissranger.so   Acquires depth and intensity images from the Mesa SR3000 and SR4000. It requires the Mesa Imaging Swissranger driver to be installed
Mesh Importer libE3DPImportMesh.so   libE3DPImportMesh.so   Uses the OpenSceneGraph library to import various 3D formats (e.g. *.obj, *.3ds, *.dae, ...). It requires OpenSceneGraph to be installed.
Network Communication Package (based on ICE) me3DIcePack.tar.gz   me3DIcePack.tar.gz   The ICE pack contains a set of plugins to receive and send images, 3D meshes and variables. This can be used either to communicate between mipEdit3D instances or to any other program implementing the interface (ICE supports C, C++, C#, Java, Ruby, PHP, Python, ...). <Download Sources>. The DevKit and BIAS are required to compile the plugin.

Plugin files updated 08/07/14

To install the plugins, start mipEdit3D, go to "Options->Set Plugin Path..." and add the location of the .so files.
Do not install the LibFreenect plugin and the OpenNI plugin in at the same time, as they share the same plugin name to ensure session-file compability independent of the Kinect driver.

Plugin Development Kit:

The plugin development is compilation of headers along with a CMake script and an example plugin. It requires BIAS libraries and headers to be installed. The Dev-Kit can be downloaded here: mipEdit3D-DevKit.tar.gz

Basic Structure

This part contains a small introduction to mipEdit3D. A full documentation will be available in the near future.
The basic concept of mipEdit3D is to provide a frame work for setting up tool chains, rather than editing contents, i.e. all manipulations to images or 3D meshes are non-destructive. It provides a set of tools which can be concatenated to make a tool chain. There are three data types which can be passed from one tool to the next, which are 3D meshes (or point clouds), images and data vectors (containing double values). Each tool can manipulate or generate an arbitrary number of these data types.

Image

As an example, a color camera tool will generate an image (and maybe a data vector containing a time stamp). A 3D transformation will manipulate a 3D mesh. A rendering tool will receive a 3D mesh and generate a 2D image. All these modules can be arranged in a processing order to form complex processing chains. mipEdit3D comes with over 100 tools for standard tasks such as save/load meshes and images, image filters, rendering, mesh editing etc.

To have access to some ease-of-use features of mipEdit3D, you might want to allow mipEdit3D to "feel at home" by selecting Options->Feel at home... This allows mipEdit3D to create a .mipEdit3D directory in your home directory where it can store your settings, recently opened files, etc.
A minimum screen resolution of 1280x1024 is recommended to have access to all editor components.

Editor Components

The main window is separated into multiple areas, some of which can be hidden.

Quick Start Button Bar

On the left side, the quick start button bar can be found. This button bar can be used to quickly add tools to the tool chain. Note that most of the tools will automatically connect to the data provided by the succeeding tools in the chain. If this data is not available, the tool won't be added. I.e. adding an image filter using the quick start button bar will only work if there is at least one image generated by any preceding tool.
Note that tools can also be added using the add plugin button in the inspector or the tool configuration
Image

Session Bar

Image

On the top center, a button bar for saving and loading the current session is placed, the "session bar". It also has buttons to hide / show the "quick start button bar" and the "time line". The editing rasterization can be edited here and it is possible to switch between camera mode and editing mode. Note that the editing mode can not be initiated by this button bar, as editing is initiated by a tool in the "tool configuration"

Main View

In the center of the image, the main view can be found. In this 3D context the visualization of each tool is displayed together with all 3D meshes in their state at the end of the tool chain. If the camera mode is selected in the "session bar", the 3D context can be navigated with the common 3D editor mouse setting:
Left mouse button: rotate around point of interest
Center mouse button: shift point of interest parallel to the image plane
Right mouse button: zoom in / out
Left + right mouse button: rotate around z axis
If the mouse is in editing mode, 3D points/scales/sizes can be dragged by holding the left mouse button for the x and y coordinates and left+right button for the z coordinate (Note that these are absolute context coordinates not image coordinates).

Inspector

The right side of the mipEdit3D window is separated into two parts. On the upper part, the inspector can be found, displaying all sorts of information about the tool chain and the processed items. At the lower part, the tool window can be found, which allows to configure and parametrize the currently selected tool.

The inspector window is a notebook containing 5 pages:
  • On the tool chain page the current list of tools is displayed. Here the processing order of the tools can be changed, tools can be removed, reloaded and added via the "Add tool menu". A context menu on the tool list provides additional functions.
  • The image page contains a list of all images that are processed by the tool chain. One click on an images shows a preview in the lower part of the section together with the number of channels and the size of the image. Floating point images will not be normalized to 0 - 255 pixel values for this preview but will display their content modulo 255 for efficiency reasons. A double click on the image name will open a separate window showing the image in its original size.
  • The triangle mesh page shows the list of triangles with additional information. A set of rendering options is available here to change the visualization of each triangle mesh.
  • On the data vector page the content of each data vector can be inspected.
  • The camera key frame page controls the camera animation for the 3D window. Camera key frames can be added, changed and removed here. If "Use Keyframes" is on, the camera will automatically move to the position set by the key frames for the current clock (see "Time line" for more information on the clock) at every clock change.
Image

Tool Configuration

The tool configuration area can be used to change all the parameters of the selected tool. Above the configuration window, the icon of the currently selected tool is displayed along with the 5 tools prior to and the 5 tool after the currently selected plugin. The selection can be changed by clicking on one of the icons. To the right of these buttons, the "add plugin button" opens the "add plugin menu". The name of the selected tool is displayed on top of the configuration area, along with a small button to remove this tool from the tool chain. On the top row, buttons for bypassing this tools processing and visualization can be found as well as buttons for showing advanced settings and jumping into the source code of the selected plugin. Note that the IDE settings have to be set (Options->Programming Mode...) and mipEdit3D has to "feel at home" to allow code editing.
Below these general buttons, the area of individual configuration forms for the currently selected tool can be found. On the button of this area, the tools inputs and outputs are listed. The type of input (image/mesh/data) can is displayed by the according symbol. In the input section, the inputs can be selected from the items available at this point of the tool chain. In the output section, the names for the items (image/mesh/data) can be defined.
Image

Time Line

Image

On the bottom of the main window, the "time line" can be found. The time line is basically a counter that can be configured as to what maximum number and at which frame rate it should count. The idea behind this counter is that it can provide a common clock for tools that might need to synchronize, i.e. for loaded image lists to select an image. The current "clock" is the first data vector item and, hence, can be accessed by all plugins. The "camera key frames" depend on this counter as well as a clock source.


Created by jordt. Last Modification: Tuesday 08 of July, 2014 15:36:42 CEST by jordt.