Skip to content

Image processing application inspired by ImageJ to exercise C# pointers and unsafe code and getting to know popular image processing algorithms.

Notifications You must be signed in to change notification settings

RobertMut/ImageManipulator

Repository files navigation

ImageManipulator

Description

ImageManipulator is a piece of software to utilize partial functionality of popular ImageJ, which is used to scientific image analysis and processing. Reason to write ImageManipulator was to get familiar with popular image processing algorithm and getting known C# unsafe code with pointers to process large pictures in finite amount of time.

Getting started

Only windows platform supported!

  1. Clone repository
  2. Navigate to cloned directory
  3. Execute dotnet build --configuration Release --output ./Release
  4. Launch ImageManipulator.Presentation.exe in Release directory

Features

What you can do with ImageManipulator?

Examples:

  • Apply threshold
  • Canny edge detection
  • See changes, histogram and revert to previous change
  • Apply bitwise operations
  • Apply arithmetic operations
  • Negate image

Technologies

ImageManipulator consist of few technologies:

  • .NET8
  • WPF - as a base for development window application
  • AvaloniaUI - user control and look
  • ReactiveUI - provide building blocks and reusable implementation for user controls
  • CommunityToolkitMVVM - providing standard, self-containing types for implementation using MVVM pattern
  • Microsoft DependencyInjection - provide IOC container for dependent implementations
  • LiveCharts - histogram graphs
  • Scrutor - scan for CQRS implementation
  • Moq - testing purposes
  • NUnit 3 - testing purposes

About

Image processing application inspired by ImageJ to exercise C# pointers and unsafe code and getting to know popular image processing algorithms.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages