Giter Club home page Giter Club logo

ipewg's Introduction

Image Processing Engine with GUI

Imperial College London Department of Computing Third Year Software Engineer Group Project (Group 14)

Supervisor: Dr. Pancham Shukla

Please see our group project report. It contains more details about the project, including the development process, project structure, benchmarking, and more information about each functionalities.

Currently submitted and the latest commit is in the master branch. This project is completed within approximately 9 weeks. Please refer to the How-to-use section for more details.

We want to create an image processing engine that does not only include common functionalities, but also include clearly defined advanced processing techniques that can be easily visualized. We want the transformation to be portable: user can export a sequence of transformation and import/apply those operations on different images later, including across different operating systems. We also expect this processing engine to include the visualization of the output of open-source machine learning models in order to allow researcher to compare the performance difference between various models. Ultimately, we want to create a work flow so that anyone who wants to implement a processing routine or include any models can easily do so.

Grayscale Overview Histogram Equalization
ori histeq
Depth Estimation Style Transfer
depth styletransfer

How to Use

We have tried to package the software into executable format (e.g. dmg/exe/deb). However, due to the use of TornadoFx in Kotlin, it has taken significantly longer time than we expected. Thus the most recommended way for launching the software now is by running gradlew script in the root folder.

You need to have JDK any version between 11 to 16 installed on your local computer. In Linux or MacOS, simply run ./gradlew run and it will start the application, or use Intellij to open the project and configure the runner to be gradle with the run command. In Windows, run ./gradlew.bat run. Remember to check the permission of the file gradlew or gradlew.bat.

Below is a list of issues we encountered when trying to package the software into a proper distribution:

  1. GraavlVM has issue with GUI software who need reflection/unsafe will not work unless we compile the source code of these dependencies as well oracle/graal#2232

  2. GraavlVM-native-image-plugin does not work. Not maintained.

  3. FXLauncher does not work. It is not maintained.

  4. Not sure how to use update4j, but looks not working as expected.

  5. javapackager, might working but hard to use with Kotlin. Facing issues.

  6. Launch4j may work, but is Windows only (actually it is easy to run on Linux anyway)

Feature Overview

This is an open-source image processing software built for scientific/research purposes. We include most common features that might be used frequently in researches or professional photo editing such as inverse color, greyscale, as well as advanced features such as neural style transfer and depth estimation. We also support different viewing methods, pipeline/import/export the sequence of processing, batch processing. Below is a list of features with detailed descriptions.

Basic Processing Features

Advanced Processing Features

More Features

Known Issues

ipewg's People

Contributors

danieldeng2 avatar henryhu2000 avatar hoangvu01 avatar joeyteng avatar mihane-ichinose avatar xu-shitong avatar zhao-xuan avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.