All Projects → roflmaostc → Noise.jl

roflmaostc / Noise.jl

Licence: other
A Julia package for adding different kinds of noise to signals like time series or images.

Programming Languages

julia
2034 projects

Labels

Projects that are alternatives of or similar to Noise.jl

Msnoise
A Python Package for Monitoring Seismic Velocity Changes using Ambient Seismic Noise | http://www.msnoise.org
Stars: ✭ 94 (+487.5%)
Mutual labels:  noise
Nwaves
.NET library for 1D signal processing focused specifically on audio processing
Stars: ✭ 151 (+843.75%)
Mutual labels:  noise
procedural-tileable-shaders
Collection of tileable procedural textures such as: cellular noise, fbm, voronoi, perlin and other.
Stars: ✭ 175 (+993.75%)
Mutual labels:  noise
Erics Magicavoxel Shaders
Shaders for MagicaVoxel including Terrain Generator, Life Game, Waterflow Emulator, Advanced Flood System etc.
Stars: ✭ 99 (+518.75%)
Mutual labels:  noise
Stochasticdiffeq.jl
Solvers for stochastic differential equations which connect with the scientific machine learning (SciML) ecosystem
Stars: ✭ 128 (+700%)
Mutual labels:  noise
Waveform analysis
Functions and scripts for analyzing waveforms, primarily audio. This is currently somewhat disorganized and unfinished.
Stars: ✭ 193 (+1106.25%)
Mutual labels:  noise
Fastnoiselite
Fast Portable Noise Library - C# C++ C Java HLSL
Stars: ✭ 1,263 (+7793.75%)
Mutual labels:  noise
sparksl-noise
minimum proof of concept about procedural noise generation in SparkAR's shader language (SparkSL).
Stars: ✭ 16 (+0%)
Mutual labels:  noise
Texturegenerator
3D and 2D Texture generation using the compute shaders within the Unity engine.
Stars: ✭ 142 (+787.5%)
Mutual labels:  noise
GroundGrowing
Open Source Unity3d Planetary Terrain Editor Extension with incremental background updates via multithreading
Stars: ✭ 66 (+312.5%)
Mutual labels:  noise
Audio Snr
Mixing an audio file with a noise file at any Signal-to-Noise Ratio (SNR)
Stars: ✭ 100 (+525%)
Mutual labels:  noise
Noise
.NET Standard 1.3 implementation of the Noise Protocol Framework (revision 33 of the spec)
Stars: ✭ 124 (+675%)
Mutual labels:  noise
Fastnoise2
Modular node based noise generation library using SIMD, C++17 and templates
Stars: ✭ 196 (+1125%)
Mutual labels:  noise
Audiomate
Python library for handling audio datasets.
Stars: ✭ 99 (+518.75%)
Mutual labels:  noise
Unity-Noises
Collection of noises functions for Unity.
Stars: ✭ 26 (+62.5%)
Mutual labels:  noise
Imscript
a collection of small and standalone utilities for image processing, written in C
Stars: ✭ 86 (+437.5%)
Mutual labels:  noise
Disco
a protocol to encrypt communications and a cryptographic library based on Disco
Stars: ✭ 178 (+1012.5%)
Mutual labels:  noise
FastPCC
Compute interstation correlations of seismic ambient noise, including fast implementations of the standard, 1-bit and phase cross-correlations.
Stars: ✭ 24 (+50%)
Mutual labels:  noise
keras gradient noise
Add gradient noise to any Keras optimizer
Stars: ✭ 36 (+125%)
Mutual labels:  noise
Perlinnoise
Header-only Perlin noise library for modern C++ (C++17/C++20)
Stars: ✭ 219 (+1268.75%)
Mutual labels:  noise

Noise.jl

Noise.jl is a Julia package to add different kinds of noise to a digital signal like a array or images.

Documentation Build Status Code Coverage DOI
DOI

Documentation

The complete manual of Noise.jl is available at the documentation page. It has more detailed explanations of the methods and contains examples for data arrays and images.

Installation

Noise.jl is available for all version equal or above Julia 1.3. It can be installed with the following command

julia> ] add Noise

Usage

Currently, all methods are provided with trailing ! (like poisson!), so there is a in-place method available. In general, if images like Array{RGB{<:Normed} or Array{Gray{<:Normed}} are given to a method, an image with same type will be returned. The methods also work for normal Arrays like Array{<:Number}. At the moment five different types of noise are possible: Additive and multiplicative Gaussian, Salt and Pepper, Poisson and Quantization noise.

using Noise, TestImages, Images, Plots
img = testimage("fabio_gray_256")
img_color = testimage("fabio_color_256")

img_gray_gauss = add_gauss(img, 0.1)
img_color_gauss = add_gauss(img_color, 0.1)
img_gray_sp = salt_pepper(img, 0.1)

# 1D array
x = LinRange(0.0, 10.0, 300)
y = sin.(x)
# small noise
y_noise = add_gauss(y, 0.1)


plot(x,y) # hide
plot!(x, y_noise) # hide
savefig("images/series_index.png") # hide

save("images/img_gray_gauss_index.png", img_gray_gauss) # hide
save("images/img_color_gauss_index.png", img_color_gauss) # hide
save("images/img_gray_sp_index.png", img_gray_sp) # hide
nothing # hide

The left gray image is affected by Gaussian noise with a standard deviation of \sigma = 0.1. In the image in the middle, we added Gaussian noise with the same standard deviation but to each individual color channel. Therefore the image has a fluctuating color look. The image on the right is affected by salt and pepper noise by a probability of 10%.

Gray image with noise RGB image with noise Gray image with salt and pepper noise

This 1D array is affected by a additive gaussian white noise (\sigma=0.1, \mu=0).

Cite

If you use this package in an academic work, please cite us! See on the right side the Cite this repository:

@misc{Wechsler_Noise.jl__Adding,
author = {Wechsler, Felix},
title = {Noise.jl - Adding Noise in Julia},
url = {https://github.com/roflmaostc/Noise.jl}
}

Development

The package is developed at GitHub. There you can submit bug reports, propose new types of noise with pull requests, and make suggestions. We are very happy about new types of noise, which can be also very specific for some applications. The aim is to provide via Noise.jl a central package which can be used by many different types of application from Biology to Astronomy and Electrical Engineering.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].