An online pipeline for image processing.

Overview

carbaseus

Version Dependency Status Project Board Build Status License

An online pipeline for image processing.

screenshot

*carbaseus (feminine carbasea, neuter carbaseum)* : first/second-declension adjective

1. made of fine linen

Carbaseus is an application designed to be the canvas where you can play and express yourself with a /node graph/ based environment for doing image processing.

As such, it must be accessible, easy to use and exhaustive in its functionality.

Currently, it includes 3 types of nodes/functions:

  • The input nodes (entry point for image datas)
  • The conversion nodes (transform data from a type to an other)
  • The processing nodes (apply a transformation on the datas)

You can plug all these nodes together accordingly with their input/output type, and experiment to discover as it goes the results of the treatments.

Getting started

Testing locally

Make sure you are using the latest version of stable rust by running rustup update.

cargo run --release

On Linux you need to first run:

sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev

On Fedora Rawhide you need to run:

dnf install clang clang-devel clang-tools-extra speech-dispatcher-devel libxkbcommon-devel pkg-config openssl-devel libxcb-devel

For running the build_web.sh script you also need to install jq and binaryen with your packet manager of choice (or with these github repos releases: jq - binaryen)

Compiling for the web

Make sure you are using the latest version of stable rust by running rustup update.

You can compile your app to WASM and publish it as a web page. For this you need to set up some tools. There are a few simple scripts that help you with this:

./setup_web.sh
./build_web.sh
./start_server.sh
open http://127.0.0.1:8080/
  • setup_web.sh installs the tools required to build for web
  • build_web.sh compiles your code to wasm and puts it in the docs/ folder (see below)
  • start_server.sh starts a local HTTP server so you can test before you publish
  • Open http://127.0.0.1:8080/ in a web browser to view

The finished web app is found in the docs/ folder (this is so that you can easily share it with GitHub Pages). It consists of three files:

  • index.html: A few lines of HTML, CSS and JS that loads your app.
  • your_crate_bg.wasm: What the Rust code compiles to.
  • your_crate.js: Auto-generated binding between Rust and JS.
You might also like...
CLI for image processing with histograms, binary treshold and other functions

Image-Processing-CLI-in-Rust CLI for processing images in Rust. Some implementation is custom and for some functionality it uses 3rd party libraries.

Image processing operations

imageproc An image processing library, based on the image library. There may initially be overlap between the functions in this library and those in i

An advanced image processing library for Rust.

ImageProc Maintainers: @chyh1990 Note: this project is under active depvelopment, API may change! imageproc is a advanced image proccessing library fo

ePaperify: Framebuffer/image pre-processing library for e-Paper displays

ePaperify: Framebuffer/image pre-processing library for e-Paper displays

Image processing proxy and API, created to allow faster media delivery for the Holaplex storefront.

Description imgopt is an image processing proxy with a very simple API, created to download and dynamically scaledown, convert, and cache different me

Rust Imaging Library's Python binding: A performant and high-level image processing library for Python written in Rust

ril-py Rust Imaging Library for Python: Python bindings for ril, a performant and high-level image processing library written in Rust. What's this? Th

Rust API Client for ImageKit.io a file storage and image processing service

Rust API Client for ImageKit.io a file storage and image processing service Usage You must retrieve your Public and Private Keys from the ImageKit Dev

Lust is a static image server designed to automatically convert uploaded image to several formats and preset sizes
Lust is a static image server designed to automatically convert uploaded image to several formats and preset sizes

What is Lust? Lust is a static image server designed to automatically convert uploaded image to several formats and preset sizes with scaling in mind.

Save image from your clipboard 📋 as an image file directly from your command line! 🔥

Clpy 📋 Save copied image from clipboard as an image file directly from your command line! Note It works only on windows as of now. I'll be adding sup

Takes a folder of images (as a palette), and an image, and figures out how to tile the palette to resemble the image!
Takes a folder of images (as a palette), and an image, and figures out how to tile the palette to resemble the image!

Takes a folder of images (as a palette), and an image, and figures out how to tile the palette to resemble the image!

Rust Lean Image Viewer - Fast and configurable image viewer inspired by JPEGView by David Kleiner
Rust Lean Image Viewer - Fast and configurable image viewer inspired by JPEGView by David Kleiner

Rust Lean Image Viewer - Fast and configurable image viewer inspired by JPEGView by David Kleiner

Conference Monitoring Project based on Image Recognition that uses Rust Language and AWS Rekognition service to get the level of image similarity.

Conference Monitoring System based on Image Recognition in Rust This is a Conference Monitoring Project based on Image Recognition that uses Rust Lang

Victorem - easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust.

Victorem Easy UDP game server and client framework for creating simple 2D and 3D online game prototype in Rust. Example Cargo.toml [dependencies] vict

Natural language detection library for Rust. Try demo online: https://www.greyblake.com/whatlang/
Natural language detection library for Rust. Try demo online: https://www.greyblake.com/whatlang/

Whatlang Natural language detection for Rust with focus on simplicity and performance. Content Features Get started Documentation Supported languages

mdBook is a utility to create modern online books from Markdown files.

Create book from markdown files. Like Gitbook but implemented in Rust

A template for a Rust-powered static-page Try Online interface

rust-tio-template A template for a Rust-powered static-page Try Online interface What is included This is an example setup that enables all of the fol

CLI client for the Jagiellonian University's BaCa online judge
CLI client for the Jagiellonian University's BaCa online judge

baca-cli CLI client for the Jagiellonian University's BaCa online judge Installation The latest release can be downloaded here. Windows users can use

TestDrive automatically scrapes input/output data from BOJ(Baekjoon Online Judge) and runs tests for your executable binary file!

🚖 TestDrive What does it do? TestDrive automatically scrapes input/output data from BOJ(Baekjoon Online Judge) and runs tests for your executable bin

Comments
  • feat(Gui): :art: Side pannel image preview

    feat(Gui): :art: Side pannel image preview

    Add a side pannel to access a specific node details:

    • Selection and state save on node on click
    • Computation on images and spectrum
    • Display of a full image and a graph
    • Add of a screenshot in the README
    • Fix of formating problems
    opened by mlhoutel 0
  • docs: :memo: Complete README and add Mozilla Licence v2.0

    docs: :memo: Complete README and add Mozilla Licence v2.0

    Provide more informations on the project in the README:

    • Add status badges and helper links to usefull ressources
    • Detail the goal of the carbaseus project
    • Explain the basis of Nodes aggregation and Graph

    Add a LICENSE file for the Mozilla Public Licence Version 2.0

    opened by mlhoutel 0
Releases(1.0.0)
  • 1.0.0(Jul 2, 2022)

    What's Changed

    • docs: :memo: Complete README and add Mozilla Licence v2.0 by @mlhoutel in https://github.com/mlhoutel/carbaseus/pull/1
    • Fix Gaussian blur and FFT space by @mlhoutel in https://github.com/mlhoutel/carbaseus/pull/2
    • feat(Gui): :art: Side pannel image preview by @mlhoutel in https://github.com/mlhoutel/carbaseus/pull/3

    New Contributors

    • @mlhoutel made their first contribution in https://github.com/mlhoutel/carbaseus/pull/1

    Full Changelog: https://github.com/mlhoutel/carbaseus/commits/1.0.0

    Source code(tar.gz)
    Source code(zip)
    carbaseus_v1.0.0_win_x86.zip(3.23 MB)
It is useful to put a 2D buffer/image on a window in a platform-independent way

Overview As the popularity of the library minifb shows, it is useful to put a 2D buffer/image on a window in a platform-independent way. Minifb's appr

David Johnson 81 Jan 5, 2023
Easy c̵̰͠r̵̛̠ö̴̪s̶̩̒s̵̭̀-t̶̲͝h̶̯̚r̵̺͐e̷̖̽ḁ̴̍d̶̖̔ ȓ̵͙ė̶͎ḟ̴͙e̸̖͛r̶̖͗ë̶̱́ṉ̵̒ĉ̷̥e̷͚̍ s̷̹͌h̷̲̉a̵̭͋r̷̫̊ḭ̵̊n̷̬͂g̵̦̃ f̶̻̊ơ̵̜ṟ̸̈́ R̵̞̋ù̵̺s̷̖̅ţ̸͗!̸̼͋

Rust S̵̓i̸̓n̵̉ I̴n̴f̶e̸r̵n̷a̴l mutability! Howdy, friendly Rust developer! Ever had a value get m̵̯̅ð̶͊v̴̮̾ê̴̼͘d away right under your nose just when

null 294 Dec 23, 2022
fast rust implementation of online nonnegative matrix factorization as laid out in the paper "detect and track latent factors with online nonnegative matrix factorization"

ONMF status: early work in progress. still figuring this out. code still somewhat messy. api still in flux. fast rust implementation of online nonnega

null 2 Apr 10, 2020
Online-statistics is crate 🦀 for Blazingly fast, generic and serializable online statistics

Online statistics in Rust ?? for Blazingly fast, generic and serializable online statistics. Quickstart Let's compute th

Adil Zouitine 29 Dec 30, 2022
A high-performance observability data pipeline.

Get Started • Docs • Guides • Integrations • Chat • Download What is Vector? Vector is a high-performance, end-to-end (agent & aggregator) observabili

Timber 12.1k Jan 7, 2023
A high-performance, high-reliability observability data pipeline.

Quickstart • Docs • Guides • Integrations • Chat • Download What is Vector? Vector is a high-performance, end-to-end (agent & aggregator) observabilit

Timber 12.1k Jan 2, 2023
New generation decentralized data warehouse and streaming data pipeline

World's first decentralized real-time data warehouse, on your laptop Docs | Demo | Tutorials | Examples | FAQ | Chat Get Started Watch this introducto

kamu 184 Dec 22, 2022
🍖A WGPU graphics pipeline, along with simple types used to marshal data to the GPU

renderling ?? This library is a collection of WGPU render pipelines. Shaders are written in GLSL. shaderc is used to compile shaders to SPIR-V. Defini

Schell Carl Scivally 5 Dec 20, 2022
Vector is a high-performance, end-to-end (agent & aggregator) observability data pipeline that puts you in control of your observability data

Quickstart • Docs • Guides • Integrations • Chat • Download What is Vector? Vector is a high-performance, end-to-end (agent & aggregator) observabilit

Vector 12.1k Jan 2, 2023
Testing out if Rust can be used for a normal Data Engineering Pipeline.

RustForDataPipelines Testing out if Rust can be used for a normal Data Engineering Pipeline. Check out the full blog post here. https://www.confession

Daniel B 7 Feb 17, 2023