Small library for adding well described noise to images, with a command-line utility specifically for application on Nifti formatted images.
Simple! Just open your favourite terminal and type:
$ pip install onevox
Alongside installing the oneVoxel package, this will also ensure the
dependencies are installed:
For building this in Docker, you can run the following command:
$ docker build -t gkiar/onevox:local --network host .
From within Python this library can used to apply noise to arbitrary images:
: import numpy as np : np.random.seed(1234) : data = np.random.random((10,10,10)) # Create data matrix : mask = data[:,:,0] > 0.4 # Define mask as values higher than 0.4 in the first 2D slice : from onevoxel import noise # Load noise utils : # Generate noise locations from image and mask : loc = noise.generate_noise_params(data, mask, erode=0, mode='independent') : loc [(3, 6, 0), (4, 4, 1), (9, 0, 2), (7, 9, 3), (1, 2, 4), (3, 1, 5), (0, 7, 6), (9, 0, 7), (3, 4, 8), (1, 9, 9)] : # Apply noise to the image and verify it's in the right spot : noisy_data, noisy_hash = noise.apply_noise_params(data, loc, scale=True, intensity=0.01) : sorted(list(zip(*np.where(noisy_data != data))), key=lambda elem: elem) == loc True
Excited by the project and want to get involved?! Please check out our contributing guide, and look through the issues to start seeing where you can lend a hand. We look forward to approving your amazing contributions!