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.

https://github.com/raphaellarouche/radiance_camera_insta360

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
Last synced: 6 months ago · JSON representation

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
  • Host: GitHub
  • Owner: RaphaelLarouche
  • License: mit
  • Language: Python
  • Default Branch: master_v01
  • Homepage:
  • Size: 600 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 3
Created almost 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

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.

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

GitHub Events

Total
Last Year