Skip to main content

Spimcube

N|Solid

spimcube provides a graphical user interface (GUI) coded with matplotlib to explore datacube of spectra, in other words, tridimensional set of data containing spectra.

Currently, the GUI is designed for datacubes obtained from a spatial mapping where a spectrum is recorded at each pixel of the map. But in futur releases, there will be tools to explore general datacube where each dimension can be: time, magnetic field, temperature, etc.

The package has three modules:

  • spimclass containing the main objects implemented in the package, i.e Spim and SpimInterface.
  • functions mostly functions used internally in the classes defined in spimclass.
  • procedures included for personal purposes.
Spim object

Object used to initialize the set of data. It has multiple initialization methods depending on the user raw data. It possesses methods allowing for diverse kind of map plot: the default one being "spectrally filtered spatial image" with the method intensity_map.

SpimInterface object

Object that implement the GUI. It is conceived in such a way that if the user identifies interesting data points or ROI within the GUI, he can easily switch to command line interface (CLI) to manipulate those. Actually, this GUI is thought as an exploration tool for datacube before going to more thorough analysis through classical CLI.

Installation and upgrade

To install spimcube simply type in your terminal:

$ pip install spimcube

To update to the last version of the package use:

$ pip install --upgrade spimcube

Example of use

Start by importing the tools:

$ from spimcube.spimclass import (Spim, SpimInterface)

Depending on the default backend on your system, you may need to use the magic command %matplotlib available through ipython (either on terminal or jupyter notebook). Just type:

$ %matplotlib

which will allows for interactive windows.

Then, you may proceed as follows (presented below is the simplest case of use of the tools, with no options):

# If you are on UNIX OS (MacOS, Linux, etc.):
path = "/my/path/to/my/folder/"
filename = "name_of_the_file"

# If you are on Windows OS:
path = "C:\\my\\path\\to\\my\\folder\\"   # Don't forget the double backslash, otherwise python interpret '\' as an escape character.
filename = "name_of_the_file"


spim = Spim(path, filename)
spim.initialization_textfile()

Here, note that there exist different "initialization" methods. You can check those by typing:

dir(Spim)

Alternatively, a coordinate file can be used, which will additionaly plot a grid of the scanned positions:

spim.define_space_range(coordinate_file="/my/path/filename.txt")

# Also, ``define_space_range`` can be used to plot only a restricted ROI:
spim.define_space_range(area=(12, 24, 5, 17))  # In micrometers.

Finally, the spim can be explored with the GUI:

si = SpimInterface(spim)

Esthetics of plots can be controlled by normal attribute access:

si.image.set_interpolation('spline16')
si.image.set_cmap('viridis')
si.ax_spectrum.set_facecolor('blue')

Check the docstring of each object and method to see the numerous options available.

Todos

  • Implement a method to remove spikes from the raw data. Currently only despike.clean is used for the display but is slow. remove_spikes is on his way!
  • Implement regex formulae to read the correct parameters for initialization of Spim object directly from the filename or from file containing metadata.

Meta

Thomas Pelini - thomas.pelini@orange.fr

This project is licensed under the terms of the MIT license.

https://github.com/Tom-P7/spimcube

Metadata

Release files for spimcube 1.5.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spimcube 1.5.3
File Size Uploaded
spimcube-1.5.3.tar.gz 50.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spimcube 1.5.3
File Interpreter ABI Platform
spimcube-1.5.3-py3-none-any.whl Python 3 none any Details

Total release size: 100.9 kB

Release files / spimcube-1.5.3.tar.gz

Download URL spimcube-1.5.3.tar.gz
Size 50.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9594f2262270eef803dc175caee28eee9e4d44b910b0de98ca3ebd65a2aed61c
BLAKE2b-256 checksum
How to use checksums
559e2549f20affb0de34854b0f8fb6116902499d9e42946a5fde4fad917552f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.8.2 requests/2.27.1 setuptools/62.1.0 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.8.8

Release files / spimcube-1.5.3-py3-none-any.whl

Download URL spimcube-1.5.3-py3-none-any.whl
Size 50.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
76528b7bd5fb1324598f16fef61aa541ebf74e8d13032a559b5c02445ee8583b
BLAKE2b-256 checksum
How to use checksums
f24ff23c32c0be114991f3abbc045996501aed62620669260141e21ec00b18da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.8.2 requests/2.27.1 setuptools/62.1.0 requests-toolbelt/0.9.1 tqdm/4.63.0 CPython/3.8.8

Release history Release notifications | RSS feed

This release

1.5.3 This release

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5

2 release files

1.4

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

1 release file

1.3

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page