Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (17.2%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: eEcoLiDAR
  • License: apache-2.0
  • Language: Python
  • Default Branch: master
  • Size: 13 MB
Statistics
  • Stars: 30
  • Watchers: 9
  • Forks: 11
  • Open Issues: 20
  • Releases: 13
Created over 8 years ago · Last pushed 11 months ago
Metadata Files
Readme Changelog Contributing License Citation Zenodo

README.md

Please cite the software if you are using it in your scientific publication.

Build Status Coverage Status DOI Documentation Status CII Best Practices

Toolkit for handling point clouds created using airborne laser scanning (ALS). Find neighboring points in your point cloud and describe them as feature values. Read our user manual and our (very modest) tutorial.

Installation

Prerequisites: - Python 3.7 or higher - pip pip install laserchicken

Necessary steps for making a new release

  • Check citation.cff using general DOI for all version (option: create file via 'cffinit')
  • Create .zenodo.json file from CITATION.cff (using cffconvert)
    cffconvert --validate
    cffconvert --ignore-suspect-keys --outputformat zenodo --outfile .zenodo.json
  • Set new version number in laserchicken/_version.txt
  • Check that documentation uses the correct version
  • Edit Changelog (based on commits in https://github.com/eecolidar/laserchicken/compare/v0.3.2...master)
  • Test if package can be installed with pip (pip install .)
  • Create Github release
  • Upload to pypi (now implemented via GitHub Actions):
    python setup.py sdist bdist_wheel
    python -m twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
    (or python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/* to test first)
  • Check doi on zenodo

Feature testing

All features were tested for the following general conditions: - Output consistent point clouds and don't crash with artificial data, real data, all zero data (x, y or z), data without points, data with very low number of neighbors (0, 1, 2) - Input should not be changed by the feature extractor

The specific features were tested as follows.

Echo ratio

A test was written with artificial data to check the correctness of the calculation with manually calculated ratio. Also tested on real data to make sure it doesn't crash, without checking for correctness. We could add a test for correctness with real data but we would need both that data and a verified ground truth.

Eigenvalues

Only sanity tests (l1>l2>l3) on real data and corner cases but no actual test for correctness. The code is very simple though and mainly calls numpy.linalg.eig.

Height statistics (maxz','minz','meanz','medianz','stdz','varz','coeffvarz','skewz','kurtoz)

Tested on real data for correctness. It is however unclear where the ground truths come from. Code is mainly calling numpy methods that do all the work already. Only calculations in our code are:

range_z = max_z - min_z coeff_var_z = np.std(z) / np.mean(z)

I don't know about any packages that could provide an out of the box coefficient of variance. This is probably because the calculation is so simple.

Pulse penetration ratio

Tested for correctness using artificial data against manually calculated values. No comparison was made with other implementations.

Sigma_z

Tested for correctness using artificial data against manually calculated values. No comparison was made with other implementations.

Percentiles

Tested for correctness using a simple case with artificial data against manually calculated values.

point_density

Tested for correctness on artificial data.

Owner

  • Name: eEcoLiDAR
  • Login: eEcoLiDAR
  • Kind: organization

Citation (CITATION.cff)

# YAML 1.2
---
abstract: "Laserchicken is a toolkit for handling point clouds created using airborne laser scanning (ALS). Find neighboring points in your point cloud and describe them as feature values. Read our user manual and our (very modest) tutorial."
authors:
  -
    affiliation: "Netherlands eScience Center"
    family-names: Meijer
    given-names: Christiaan
  -
    affiliation: "Netherlands eScience Center"
    family-names: Goncalves
    given-names: Romulo
  -
    affiliation: "Netherlands eScience Center"
    family-names: Renaud
    given-names: Nico
  -
    affiliation: "Netherlands eScience Center"
    family-names: Andela
    given-names: Bouwe
  -
    affiliation: "Netherlands eScience Center"
    family-names: Dzigan
    given-names: Yifat
  -
    affiliation: "Netherlands eScience Center"
    family-names: Diblen
    given-names: Faruk
  -
    affiliation: "Netherlands eScience Center"
    family-names: Ranguelova
    given-names: Elena
  -
    affiliation: "Netherlands eScience Center"
    family-names: Oord
    given-names: Gijs
    name-particle: "van den"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Grootes
    given-names: "Meiert W."
  -
    affiliation: "Netherlands eScience Center"
    family-names: Nattino
    given-names: Francesco
  -
    affiliation: "Netherlands eScience Center"
    family-names: Ku
    given-names: Ou
  -
    affiliation: "Institute for Biodiversity and Ecosystem Dynamics, University of Amsterdam"
    family-names: Koma
    given-names: Zsófia
cff-version: "1.0.3"
date-released: 2025-03-24
doi: "10.5281/zenodo.1219422"
keywords:
  - "airborne laser scanning"
  - "machine learning"
  - "point cloud"
  - "digital terrain map"
license: "Apache-2.0"
message: "If you use this software, please cite it using these metadata."
title: "Laserchicken: toolkit for ALS point clouds"
version: "0.7.0"
...

GitHub Events

Total
  • Create event: 5
  • Release event: 1
  • Issues event: 2
  • Watch event: 2
  • Delete event: 4
  • Issue comment event: 2
  • Push event: 7
  • Pull request event: 9
Last Year
  • Create event: 5
  • Release event: 1
  • Issues event: 2
  • Watch event: 2
  • Delete event: 4
  • Issue comment event: 2
  • Push event: 7
  • Pull request event: 9

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 41
  • Total pull requests: 73
  • Average time to close issues: 8 months
  • Average time to close pull requests: 5 days
  • Total issue authors: 11
  • Total pull request authors: 6
  • Average comments per issue: 1.46
  • Average comments per pull request: 0.27
  • Merged pull requests: 65
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 10
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 7 minutes
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 9
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • cwmeijer (12)
  • komazsofi (11)
  • fnattino (5)
  • lbogaardt (5)
  • romulogoncalves (2)
  • meiertgrootes (1)
  • bouweandela (1)
  • ShiYifang (1)
  • fdiblen (1)
  • NicoRenaud (1)
  • yifatdzigan (1)
Pull Request Authors
  • fnattino (32)
  • cwmeijer (29)
  • romulogoncalves (5)
  • skoulouzis (3)
  • rogerkuou (2)
  • meiertgrootes (2)
Top Labels
Issue Labels
enhancement (10) bug (5) question (5) optimizing (2) feature extractor (1) build (1) urgent (1) help wanted (1)
Pull Request Labels

Dependencies

docs/requirements.txt pypi
  • docutils *
  • recommonmark *
  • sphinx *
  • sphinxcontrib-bibtex ==1.0
requirements.txt pypi
  • PyShp *
  • click *
  • colorama *
  • laspy *
  • mock *
  • numpy *
  • pandas *
  • plyfile *
  • psutil *
  • pytest *
  • python-dateutil *
  • scipy >=0.11
  • shapely *