pattyanalytics

Reusable point cloud analytics software. Includes segmentation, registration, file format conversion.

https://github.com/nlesc/pattyanalytics

Science Score: 67.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
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords from Contributors

word2vec copier copier-python copier-template python-template research-software fuzzy-matching fuzzy-search mass-spectrometry
Last synced: 6 months ago · JSON representation ·

Repository

Reusable point cloud analytics software. Includes segmentation, registration, file format conversion.

Basic Info
Statistics
  • Stars: 14
  • Watchers: 7
  • Forks: 7
  • Open Issues: 6
  • Releases: 3
Created over 11 years ago · Last pushed over 7 years ago
Metadata Files
Readme License Citation Zenodo

README.rst

|Travis|_ |Quality-score|_ |Coverage|_

.. |Travis| image:: https://api.travis-ci.org/NLeSC/PattyAnalytics.png?branch=master
.. _Travis: https://travis-ci.org/NLeSC/PattyAnalytics

.. |Quality-score| image:: https://scrutinizer-ci.com/g/NLeSC/PattyAnalytics/badges/quality-score.png?b=master
.. _Quality-score: https://scrutinizer-ci.com/g/NLeSC/PattyAnalytics/

.. |Coverage| image:: https://scrutinizer-ci.com/g/NLeSC/PattyAnalytics/badges/coverage.png?b=master
.. _Coverage: https://scrutinizer-ci.com/g/NLeSC/PattyAnalytics/

.. image:: https://zenodo.org/badge/doi/10.5281/zenodo.45925.svg
   :target: http://dx.doi.org/10.5281/zenodo.45925

Patty Analytics
===============

Reusable point cloud analytics software. Includes segmentation, registration,
file format conversion. This makes use of the python bindings of the
Point Cloud Library (PCL; ).

Copyright 2014-2015 Netherlands eScience Center. Covered by the Apache 2.0
License, see the file ``LICENSE.txt``.

Installing
----------

First install the required dependencies:

* Python 2.7
* NumPy
* SciPy
* virtualenv
* LibLAS
* PCL 1.7

Now set up an environment::

    $ virtualenv /some/where/env --system-site-packages
    $ . /some/where/env/activate


Install the python packages listed in ``requirements.txt`` using pip::

    $ pip install -r requirements.txt
    $ pip install -U nose  # make sure nose runs in the virtualenv
    $ python setup.py install

To exit the python virtualenv run::

    $ deactivate

Running
-------
The main functionality of PatTy Analytics is contained in the **registration**
script. This script takes an unaligned dense point cloud and attempts to
align in on to the existing drivemap. The script also attempts to find the
optimal scaling, rotation and orientation of the dense point cloud, as part of
the alignment process. This script can be run as follows::

    $ python scripts/registration.py SOURCE.las DRIVEMAP.las FOOTPRINT.csv OUTPUT.las

where:

  - *SOURCE.las* -- is the dense point cloud to be registered
  - *DRIVEMAP.las* -- is the drive map where the point cloud is registered to.
  - *FOOTPRINT.csv* -- is the footprint of the point cloud on the drive map.
  - *OUTPUT.las* -- is the resulting registered point cloud.

additionally, an *upfile.json* containing the up vector (estimated from the
camera position) can be provided.

    $ python scripts/registration.py SOURCE.las DRIVEMAP.las FOOTPRINT.csv OUTPUT.las -u upfile.json

## Examples

The following image is a screenshot of a dense point cloud to be registered
on the drive map -- this would correspond to *SOURCE.las*.

![Site 558 dense point cloud](./img/site558_dense.png?raw=true "Dense point cloud")

This screenshot shows the drive map where we want to register to -- this corresponds
to *DRIVEMAP.las*

![Site 558 drive map point cloud](./img/site558_drivemap.png?raw=true "Drive map")

Finally, this screenshot shows the dense point cloud registered on the drive map.
The dense point cloud has been rotated, scaled and translated to find it's best
fit on the drive map -- this corresponds to *OUTPUT.las*.


![Site 558 registered point cloud](./img/site558_registered.png?raw=true "Registered point cloud")

Testing
-------

To run unit tests, issue::

    $ nosetests

Documentation
-------------

Documentation can be found here_

.. _here: http://nlesc.github.io/PattyAnalytics/

Owner

  • Name: Netherlands eScience Center
  • Login: NLeSC
  • Kind: organization
  • Location: Amsterdam, The Netherlands

Citation (CITATION.cff)

# YAML 1.2
---
abstract: |
    "<p>
    Patty Analytics aims to register pointclouds that were generated from photos or video to an absolute position, scale and orientation.
    </p>
    <p>
    Pointclouds generated from photos are generally messy; they have holes and floating unidentified objects. In our scripts we assume to have the following information: a map (drivemap) which has an extremely low resolution but has good absolute coordinates; a footprint polygon denoting more or less the latitude and longitude and area of the object (x and y coordinates). Finally, we have the high-resolution pointcloud of the object. By the nature of creating this pointcloud, it is densest at the object, since the photos usually center on this object. In some cases, there are also camera positions available, relative to the object.
    </p>
    <p>
    Reusable point cloud analytics software. Includes segmentation, registration, file format conversion. This makes uses of the <a href='https://github.com/NLeSC/python-pcl'>python bindings</a> of the Point Cloud Library (PCL).
    </p>"
authors: 
  -
    affiliation: "Netherlands eScience Center"
    family-names: Attema
    given-names: Jisk
    orcid: "https://orcid.org/0000-0002-0948-1176"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Borgdorff
    given-names: Joris
    orcid: "https://orcid.org/0000-0001-7911-9490"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Buitinck
    given-names: Lars
  -
    affiliation: "Netherlands eScience Center"
    family-names: "Martinez-Ortiz"
    given-names: Carlos
  -
    affiliation: "Netherlands eScience Center"
    family-names: Meijer
    given-names: Christiaan
  -
    affiliation: "Netherlands eScience Center"
    family-names: Spaaks
    given-names: "Jurriaan H."
    orcid: "https://orcid.org/0000-0002-7064-4069"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Maassen
    given-names: Jason
    orcid: "https://orcid.org/0000-0002-8172-4865"
  -
    affiliation: "Netherlands eScience Center"
    family-names: Drost
    given-names: Niels
    orcid: "https://orcid.org/0000-0001-9795-7981"
cff-version: "1.0.3"
date-released: 2018-09-27
doi: "10.5281/zenodo.597210"
keywords: 
  - photogrammetry
  - "point clouds"
  - segmentation
  - registration
license: "Apache-2.0"
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/NLeSC/PattyAnalytics"
title: PattyAnalytics
version: "1.0.2"
...

GitHub Events

Total
Last Year

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 373
  • Total Committers: 9
  • Avg Commits per committer: 41.444
  • Development Distribution Score (DDS): 0.668
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jisk Attema j****a@e****l 124
Joris Borgdorff j****f@e****l 96
Lars Buitinck l****k@e****l 75
Carlos Martinez c****z@e****l 33
cwmeijer c****r@e****l 24
Jurriaan H. Spaaks j****s@e****l 13
Jason Maassen j****3@g****m 4
Niels Drost n****t@e****l 3
Stefan Verhoeven s****n@e****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 35
  • Total pull requests: 2
  • Average time to close issues: about 2 months
  • Average time to close pull requests: less than a minute
  • Total issue authors: 11
  • Total pull request authors: 1
  • Average comments per issue: 1.91
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jspaaks (8)
  • larsmans (7)
  • jiskattema (5)
  • cwmeijer (4)
  • blootsvoets (2)
  • Maartenvm (2)
  • c-martinez (2)
  • niranjanreddy891 (2)
  • nielsdrost (1)
  • mivanova (1)
  • sonjageorgievska (1)
Pull Request Authors
  • jspaaks (2)
Top Labels
Issue Labels
needs input (1)
Pull Request Labels

Dependencies

requirements.txt pypi
  • Cython >=0.21.2
  • docopt *
  • liblas *
  • nose_parameterized *
  • scikit-learn >=0.15.2
  • shapely *