Skip to content

Powerful and flexible node editor that facilitates building complex combinations of various image processing techniques.

License

Notifications You must be signed in to change notification settings

BugelNiels/nitro

Repository files navigation

stars Github All Releases watchers license follow LinkedIn


Logo

NITRO

Powerful and flexible node editor that facilitates building complex combinations of various image processing techniques.
Explore the docs »

Latest Release · Install Instructions · Report Bug · Request Feature

Node Editor

About the project

NITRO is a powerful tool for building complex image processing routines. Instead of needing to modify source code or scripts to process images in different ways, you can use this visual node editor to do that instead. The project was developed with extendability in mind, making it easy to add your own types nodes, and widgets. For more information on this, read the docs. The UI was inspired by Blender's Shader Editor

The project was originally developed for my Master thesis at the University of Groningen. That is also the origin of the name NITRO: Niels' Image-processing Thesis on Reconstruction Operations.

To get a local copy up and running, download the latest release. Once downloaded, you should have a file called NITRO-<version>-x86_64.AppImage. You can run this using:

chmod u+x NITRO-<version>-x86_64.AppImage
./NITRO-<version>-x86_64.AppImage

Alternatively, you can read through the Installation Instructions to build the project from the source code.

Disclaimer

The project is still in development and can be considered in early-alpha. As such, I am still working hard on fixing bugs and adding new features. If you encounter any, please feel free to create an issue.

Features

  • Flexible Node system with support for numerous image processing techniques
  • Supports both grayscale and color images
  • Easily extendable with new nodes and data types
  • Module system configurable at compile time
  • Image Viewer widget
  • 3D Image Viewer widget
  • Saving and loading support
  • Undo/Redo support
  • Dark Mode and Light Mode

Controls

Nodes can be spawned via the side menu (drag and drop). Connections can be made between nodes via drag and drop as well. Right mouse click in the dock widgets will spawn relevant context menus.

A few useful shortcuts:

  • Holding ctrl+shift while clicking on a node will spawn a viewer node for said node.
  • Pressing shift+a will open a menu that allows for node spawning.
  • Selecting two nodes and pressing f will attempt to create a connection between them.
  • Pressing shift+f will enter first person mode in the 3D viewer dock.

Demo

Node Editor Image Viewer 3D Viewer

License

This project is licensed under the MIT License - see the LICENSE.md file for details