oculante

Logo

A no-nonsense hardware-accelerated image viewer

Oculante's vision is to be a fast, unobtrusive, portable image viewer with wide image format support, offering image analysis and basic editing tools. - Free of charge, bloat-free, ad-free, privacy-respecting open source application - Fast opening of images, fast startup - Available for Win, Mac, Linux and NetBSD - Supports a wide range of images and SVG - Caches images for faster reloading - Can display unassociated channels correctly (If your image uses alpha and color channels to encode data in a special way) - Lets you pick pixels, display location and color values - Offers basic nondestructive editing: Crop, resize, paint, contrast, HSV, rotate, blur, noise, ... - SIMD-accelerated image editing

Cross-platform check GitHub all releases Crates.io

Screenshot

Flipbook

With configurable caching, Oculante can quickly step through image sequences: Screenshot

Inspection

Get info about pixel values and position, with precise picking: Screenshot

Network

Raw image data can be sent to Oculante and will be loaded if possible, regardless of format. Streams of images will be played as a video. You can send images from cameras or headless systems such as a Raspberry Pi for example. Screenshot

Correct color channel display:

Images may contain color information that is masked by the alpha channel. Although it is present you will not see it since usually RGB values are multiplied with the A channel when displayed. Oculante allows you to inspect all channels individually and see color data without transparency applied. Screenshot

Installation

Oculante needs no installation, as it is just one executable. Just download it for your system from the releases tab (https://github.com/woelper/oculante/releases). In order to open images you can configure your system to open your desired image formats with oculante, drag them onto the executable or into the window. Right now the executables are roughly 12MB.

On NetBSD, a pre-compiled binary is available through the native package manager. To install it, simply run sh pkgin install oculante

Features

Image format support:

Platform support:

Misc features

Misc examples:

EXIF display

Screenshot

Extract a signature

signature example

Roadmap:

Privacy pledge

Oculante does in no way collect or send anonymous or non-anonynmous user data or statistics. There are only two instances where oculante interacts with the network, and both never happen without being triggered by the user: - Updating the application (must be triggered manually from settings) - Listening for incoming images on a custom port (must be set on command line)

In addition, the only data saved locally by the application is: - UI accent color - Keybindings - Vsync preferences - Keep view offset/scale - Whether the directory index bar is displayed

Attribution

Test / benchmark pictures:

https://unsplash.com/@mohsen_karimi

https://unsplash.com/@frstvisuals

Building

Linux:

sudo apt-get install libxcb-shape0-dev libxcb-xfixes0-dev libgtk-3-dev libasound2-dev nasm

Win: Install Nasm from https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/

Mac brew install nasm

Cargo Features

If you disable turbo (on by default), the turbojpeg library will not be used to open jpeg images. You won't need Nasm to be installed. The feature file_open will enable/disable a file open dialog. This pulls in additional dependencies and is enabled by default.

Shortcuts:

mouse wheel = zoom

left mouse,middle mouse = pan

ctrl + mouse wheel = prev/next image in folder

Right mouse pick color from image (in paint mode)

T = AlwaysOnTop

F = Fullscreen

I = InfoMode

E = EditMode

Right = NextImage

Home = FirstImage

End = LastImage

Left = PreviousImage

R = RedChannel

G = GreenChannel

B = BlueChannel

A = AlphaChannel

U = RGBChannel

C = RGBAChannel

V = ResetView

Minus = ZoomOut

Equals = ZoomIn

LShift + Left = PanLeft

LShift + Right = PanRight

LShift + Up = PanUp

LShift + Down = PanDown

RBracket = LosslessRotateRight

LBracket = LosslessRotateLeft

LControl + C = Copy

LControl + V = Paste

LControl + O = Browse

Q = Quit