A command-line tool to generate different types of noise as images.

Related tags

Spring Boot noisegen
Overview

noisegen

A command-line tool to generate different types of noise as images.

Usage

Run one of the releases, either the JAR using java -jar noisegen-0.1.0.jar ...options... or the Win64-specific native-image release with noisegen-win64-0.1.0.exe ...options.... The native-image release starts up very quickly on Windows; the JAR doesn't exactly do that. The options can be... uh... let's just see the nice output of -h for help.

Usage: noisegen [-dehV] [-b=<blurSigma>] [-c=<cellular>] [-C=<curvature>]
                [-f=<frequency>] [-F=<fractal>] [-H=<height>] [-i=<iterations>]
                [-m=<mutation>] [-M=<middle>] [-o=<output>] [-O=<octaves>]
                [-s=<seed>] [-S=<sharpness>] [-t=<type>] [-W=<width>]
Generate noise and write it to an image file.
  -b, --blur=<blurSigma>    If > 0, blurs all pixels (wrapping at the edges)
                              outward by this distance in all directions (low
                              pass filter). If < 0, uses a high pass filter.
  -c, --cellular=<cellular> The cellular return type to use for the cellular
                              type; one of: value, lookup, distance, distance2,
                              distance2add, distance2mul, distance2div.
  -C, --curvature=<curvature>
                            How steep the transition should be from black to
                              white; must be positive.
  -d, --debug               If true, draws higher-than-1 noise as red, and
                              lower-than-negative-1 as blue.
  -e, --equalize            If true, makes each grayscale value approximately
                              as frequent as all other values.
  -f, --frequency=<frequency>
                            The frequency of the noise, with high frequency
                              changing rapidly. Usually < 1.0.
  -F, --fractal=<fractal>   The fractal mode to use for most noise types; one
                              of: fbm, billow, ridged.
  -h, --help                Show this help message and exit.
  -H, --height=<height>     The height of the resulting image.
  -i, --iterations=<iterations>
                            The number of times to repeat blur steps (and
                              equalize, if both are chosen).
  -m, --mutation=<mutation> The extra 'spatial' value used by mutant noise; can
                              be any float.
  -M, --middle=<middle>     When curvature is not 1.0, this determines where
                              the noise starts to turn its curve; must be
                              between 0 and 1, inclusive.
  -o, --output=<output>     The name and/or path for the output file.
  -O, --octaves=<octaves>   The amount of octaves to use; more increases detail.
  -s, --seed=<seed>         The seed that determines how the noise will form
                              using the given parameters.
  -S, --sharpness=<sharpness>
                            The sharpness multiplier for foam and mutant noise;
                              higher than one means more extreme.
  -t, --type=<type>         The type of noise to generate; one of: simplex,
                              perlin, cubic, foam, honey, mutant, value, white,
                              blue, cellular.
  -V, --version             Print version information and exit.
  -W, --width=<width>       The width of the resulting image.```

An example of a simple command line might be:

java -jar noisegen-0.1.2.jar -t perlin -W 1920 -H 1080 -o PerlinNoise.png


This sets the type to perlin (this is "Classic Perlin," before Ken Perlin created Simplex Noise), the
width and height to 1920x1080, and the name of the output file to PerlinNoise.png .

A more involved command line:

java -jar noisegen-0.1.2.jar -t foam -F ridged -f 0.02 -W 1920 -H 1080 -s 1 -O 4 -o FoamNoise.png


This sets the type to foam (a high quality and organic-seeming noise), the fractal type to ridged
(which creates lines of bright color on a darker background), the frequency to 0.02 (lower than the
default of 0.03125, or 1.0/32.0), the width and height to 1920x1080, the seed to 1 (so all calls with
the same parameters and same seed will produce the same output), the octaves to 4 (increasing detail
over the default of 3 octaves), and the output file to FoamNoise.png .


# Thanks
This project uses the great [PicoCLI](https://picocli.info/) library for clean command-line handling.
The Win64 native-image version would not be possible if not for ByerN's work
getting Graal to play nice with libGDX; I have copied some configuration
and built libraries here from [his example repo](https://github.com/ByerN/libgdx-graalvm-example).
Of course, this uses [libGDX](https://libgdx.com/); I can't get by without it.

# Notes
To build the native EXE, I drop noisegen-0.1.2.jar into `graalvm-env/`, edit paths in `build_native.bat`
so the path to Graal's native-image.cmd and to Visual Studio's vcvarsall.bat are correct, then run
`build_native.bat`. This is all ByerN's work, big thanks!
You might also like...

🏗 Build container images for your Java applications.

🏗 Build container images for your Java applications.

Jib ☑️ Jib User Survey What do you like best about Jib? What needs to be improved? Please tell us by taking a one-minute survey. Your responses will h

Jan 9, 2023

An Android library for managing images and the memory they use.

An Android library for managing images and the memory they use.

Fresco Fresco is a powerful system for displaying images in Android applications. Fresco takes care of image loading and display, so you don't have to

Jan 3, 2023

Powerful and flexible library for loading, caching and displaying images on Android.

Powerful and flexible library for loading, caching and displaying images on Android.

Universal Image Loader The great ancestor of modern image-loading libraries :) UIL aims to provide a powerful, flexible and highly customizable instru

Jan 2, 2023

Project for coding information into images via teganography and cryptography.

Project for coding information into images via teganography and cryptography.

SecurePic This project is created as part of the 'Software Engineering' lecture in summer semester 2022 in the Applied Computer Science course at DHBW

Jun 6, 2022

FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings

Description FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings (working for 1.7 and hig

Dec 22, 2022

POC showing how to divide endpoint(s) among different Open-API screens

Multiple Open-API groups: Spring boot POC showing how to divide endpoint(s) among different Open-API screens Demo Link (Select definition from top rig

Dec 15, 2022

These samples explore the different options that Spring Boot developers have for using Javascript and CSS on the client (browser) side of their application.

These samples explore the different options that Spring Boot developers have for using Javascript and CSS on the client (browser) side of their application.

Table of Contents Getting Started Narrowing the Choices Create a New Application Webjars Show Me Some Javascript Normalizing Resource Paths Adding Tab

Jul 29, 2022

Rebuilding nand2tetris from scratch in different way - Group Project

nand2tetris Rebuilding nand2tetris from scratch in different way - Group Project License - GNU GPL v2.0 The contents of this file are subject to the G

Apr 2, 2022

It is a Basic Comment App for different users.

It is a Basic Comment App for different users.

Zoho-comments It is a Basic Comment App for different users. Technology Used : JAVA Swing, Mysql. Tools Used : Eclipse , WampServer. Mysql Table : sig

Feb 12, 2022
Releases(v0.1.2)
Owner
Tommy Ettinger
There was a time when I made games, or tried as much. Now I make game-related libraries, by the truckload. Commit Streak for Life.
Tommy Ettinger
Library to generate images from layers

react-native-image-generator Library for generate images from other images Installation yarn add react-native-image-generator Usage import { generate

Evgeny Usov 13 Nov 16, 2022
Aye - an open source tool for scanning images on Kubernetes cluster

Aye is an open source tool for scanning images on Kubernetes cluster. It uses Anchore CLI behind the scenes to get information about all images that are currently on the cluster. It also provides Prometheus metrics for each image, so teams are aware of different levels of vulnerabilities found inside them.

null 4 Sep 4, 2022
A tool generating local images based on ECharts-Java

Test plan Local unit testing Docker AWS remote Linux Windows MacOS Integration Test with Snapshot version Introduction This library is used to take sn

ECharts Java Open Source Project 5 Dec 16, 2022
A command line utility

CUD A command line utility Create a command line utility that will compute the price for a pizza order. The list of pizzas will be provided as a text

jk 1 Feb 4, 2022
Hi, Spring fans! In this installment, we're going to look at some the C in M-V-C and their representation in Spring's `@Controller` types!

@Controllers Hi, Spring fans! In this installment, we're going to look at some the C in M-V-C and their representation in Spring's @Controller types!

Spring Tips 22 Nov 19, 2022
The Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types.

Apache Commons CSV The Apache Commons CSV library provides a simple interface for reading and writing CSV files of various types. Documentation More i

The Apache Software Foundation 307 Dec 26, 2022
SpringBoot based return value types are supported by browsers

SpringBoot based return value types are supported by browsers

Elone Hoo 5 Jun 24, 2022
Processing and node.js project for rendering MouseGAN images from RunwayML

Computer MouseGAN Processing and node.js project for rendering MouseGAN images from RunwayML. Usage Clone or download this repository. git clone https

Coding Train 17 Apr 1, 2022
a simple program to turn stockX images into gifs!

StockX Gif Converter make stockx images look cool Idea I got this idea from Fyko/stockx-gif-next Usage import me.brennan.stockxgiffer.StockXGiffer; p

Brennan 7 Jul 19, 2022