radiance_camera_insta360
Scripts to process images taken by an omnidirectional camera, the Insta360 model One. Those are destined to transform the pixel raw values into absolute spectral radiance at three different bands RGB.
Science Score: 39.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.4%) to scientific vocabulary
Repository
Scripts to process images taken by an omnidirectional camera, the Insta360 model One. Those are destined to transform the pixel raw values into absolute spectral radiance at three different bands RGB.
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 3
Metadata Files
README.md
radiancecamerainsta360
Description and structure
This repository contains the scripts to convert the images taken with the omnidirectional camera Insta360 ONE (in Adobe Digital Negative DNG format) in their spectral radiance equivalent. As for normal rgb sensor, this camera has three spectral bands covering the visible spectrum so that radiance is computed at the red, green and blue channel.
The project is organized in three main directories: 1. calibrations 2. source 3. field
1. calibrations
calibrations directory contains all the routines performing the camera radiometric calibrations:
- Absolute spectral radiance calibration (calibrations/absolute-spectral-radiance)
- Roll-off calibration (calibrations/roll-off)
- Immersion factor characterization (calibrations/immersion-factor)
- Geometric calibration (calibrations/geometric-calibration)
- Relative spectral response calibration (calibrations/relative-spectral-response)
- Linearity characterization (calibrations/linearity)
Those methodologies are detailed in the following paper https://www.the-cryosphere.net...
2. source
source directory contains all the necessary classes with method to process and treat the images. Those functions are used for the calibration scripts.
In the file radiance.py, the class ImageRadiancei360 enclosed all the methods
to retrieve the spectral radiance for each pixel and build regularly angular spaced grid of radiance. This class uses
the calibration results saved in hdf5 format (in folders /calibrationfiles of each calibration folder).
3. field
field folder is used to place any script which performs calculation on field measurements. For instance, radiance
angular distributions were computed for a profile taken inside arctic sea ice during a campaign on Oden icebreaker near
the geographic North Pole (89 25.21'N, 63 08.67'E). More details on oden2018 results are described in
https://www.the-cryosphere.net...
The folder oden2018 contains the script to plot the results and to perform radiative transfer using Matlab DORT2002
model.
- Paper on DORT2002: https://doi.org/10.1137/S0036144503438718
- Installation of matlab engine for python: Install MATLAB Engine API for Python
Packages installation
This repository works well for python 3.8 and below. The environment requirements are specified in environment.yml and requirements.txt. For Anaconda users, recreate the
virtual environment using:
$ conda env create -f environment.yml
To use with Virtualenv, for Mac OS users:
$ python3 -m venv env
$ source env/bin/activate
$ python3 -m pip3 install -r requirements.txt
For Windows users:
~~~~ $ python -m venv env $ env\Scripts\activate $ python -m pip install -r requirements.txt ~~~~
Examples
To analyze new data taken with the camera, it is recommended to create a new directory in the folder field. To compute
radiance from an image image.dng placed in the same directory as the one containing the script, you can do:
```
import source.radiance as radiance
path = "image.dng"
im_rad = radiance.ImageRadiancei360(path, "water") # object
imrad.getradiance(darkmetadata=True) imrad.mapradiance(angularresolution=1.0) imrad.showmapped_radiance() ```
For irradiance calculations:
ed = im_rad.irradiance(0, 90, planar=True) # planar downwelling irradiance
eu = im_rad.irradiance(90, 180, planar=True) # planar upwelling irradiance
e0 = im_rad.irradiance(0, 180, planar=False) # scalar irradiance
Owner
- Name: Raphaël Larouche
- Login: RaphaelLarouche
- Kind: user
- Location: Quebec city
- Company: Takuvik Joint International Laboratory
- Repositories: 1
- Profile: https://github.com/RaphaelLarouche