Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

science.aist.imaging:imaging

Package Overview
Maintainers
1
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

science.aist.imaging:imaging

Framework for image processing and computer vision.

  • 2.0.0
  • Source
  • Maven

Version published
Maintainers
1
Source

imaging

Imaging

DOI License: MPL 2.0 GitHub release javadoc Maven Central

The imaging framework provides different functionality in the context of image processing and computer vision. For this there are many image processing related implementations in the project but also connection classes to other frameworks (e.g. OpenCV) to extend its functionality. Get a detailed overview on our maven site.

Getting Started

The project is structured into multiple submodules. API builds the base module which contains the domain classes as well as the interfaces. The core module builds the base implementation with pure java functionality. In addition to these two modules there are modules for connecting to other frameworks for imagej, nd4j, opencv, openimaj, pdfbox, tesseract and microsoft-cognitive-services. These modules are wrappers for functionality that is provided in either of these libraries.

To use the Imaging project you simply need to add the required dependencies like:

<dependency>
    <groupId>science.aist.imaging</groupId>
    <artifactId>api</artifactId> <!-- alternatives core, nd4j, openimaj, imagej, opencv, pdfbox, tesseract, microsoft-cognitive-services -->
    <version>${imaging.version}</version> <!-- e.g. 1.0.0 -->
</dependency>

Examples

A simple example using the Core module (1) creates an image using the ImageFactoryFactory and (2) draws a circle at a given position.

// (1) Create a new image
ImageWrapper<short[][][]> image = ImageFactoryFactory.getImageFactory(short[][][].class).getImage(100, 100, ChannelType.Greyscale);

// (2) Draw on the image
DrawCircle<short[][][]> draw = new DrawCircle<>();
draw.setColor(new double[]{1});
draw.accept(image, new JavaPoint2D(5, 5));

A more advanced example is shown in the following code snippet, that shows the module interoperability of the Imaging project based on the GenericImageFunction. Note: GenericImageFunction casts its input image, and the result of the wrapped function if necessary, which affects its resource requirements.

// (1) Load OpenCV DLLs
AistCVLoader.loadShared();

// (2) Create a random input image for the test
Random rand = new Random(768457);
ImageWrapper<double[][][]> input = ImageFactoryFactory.getImageFactory(double[][][].class).getRandomImage(10, 10, ChannelType.RGB, rand, 0, 255, true);

// (3) Prepare the function to be applied (Note: it is implemented for OpenCV only!)
OpenCVThresholdFunction thresholdFunction = new OpenCVThresholdFunction();
GenericImageFunction<double[][][], double[][][], Mat, Mat> function = new GenericImageFunction<>(thresholdFunction, Mat.class, double[][][].class);

// (4) Apply the function (Note: on a non-OpenCV image)
ImageWrapper<double[][][]> thresholdResult = function.apply(input);

FAQ

If you have any questions, please checkout our FAQ section.

Contributing

First make sure to read our general contribution guidelines.

Licence

Copyright (c) 2020 the original author or authors. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

The following code is under different licence and copyright:

LicenceFilepaths
MIT
see LICENSE_MIT_JDIEMKE
api/src/main/java/science/aist/imaging/api/domain/twodimensional/JavaTriangle2D
MIT
see LICENSE_MIT_KIERS
core/src/test/java/science/aist/imaging/service/core/pointprocessing/GrahamConvexHull
Apache
see LICENSE_APACHE
tesseract/tessdata/*

Research

If you are going to use this project as part of a research paper, we would ask you to reference this project by citing it.

DOI

FAQs

Package last updated on 30 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc