Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.0.2 of LiDAR tiling workflow #12

Merged
merged 182 commits into from
Mar 20, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
598400d
setting up
iannesbitt Mar 29, 2023
6b053bd
Merge pull request #1 from iannesbitt/develop
iannesbitt Mar 29, 2023
b1b58ac
adding las2las
iannesbitt Mar 29, 2023
ae1f117
adding manifest
iannesbitt Mar 29, 2023
1fcdae9
adding to readme
iannesbitt Mar 29, 2023
b54dc2d
generalizing notebook
iannesbitt Mar 29, 2023
543c687
python import compatible
iannesbitt Mar 29, 2023
b1cfe29
adding setup
iannesbitt Mar 30, 2023
e30e4e2
creating pipeline
iannesbitt Mar 30, 2023
f6f83e7
changing cli function name
iannesbitt Mar 30, 2023
9bb3f21
adding structure to process and utils
iannesbitt Mar 30, 2023
2afbbd3
adding lastools interface module
iannesbitt Apr 3, 2023
79283fb
adding defs
iannesbitt Apr 3, 2023
0e3ace0
adding file list creation function
iannesbitt Apr 3, 2023
c02e037
adding to pipeline structure
iannesbitt Apr 3, 2023
8d764dc
adding explicit las archival
iannesbitt Apr 3, 2023
0834240
adding nonzero exit if las2las fails
iannesbitt Apr 3, 2023
6fe9b9b
generalize function to get list of files
iannesbitt Apr 3, 2023
36bcf0e
converting pipeline to class
iannesbitt Apr 3, 2023
13feadf
fixing sys import error
iannesbitt Apr 3, 2023
87e35b2
removing multi as option
iannesbitt Apr 3, 2023
70fa5b2
adding py3dtiles interface
iannesbitt Apr 3, 2023
01b3ca7
basic py3dtiles processing structure
iannesbitt Apr 3, 2023
f5e669c
switching merge call
iannesbitt Apr 3, 2023
64a95d7
changing entry point to reflect module name
iannesbitt Apr 4, 2023
bf616f7
changing function name to be `threading` compatible
iannesbitt Apr 4, 2023
adc809a
adding convert and merge calls to py3dtiles interface
iannesbitt Apr 4, 2023
b1eadcd
simplifying lastools interface
iannesbitt Apr 4, 2023
bfc9c22
changing default to not verbose
iannesbitt Apr 4, 2023
fb89cb8
adding verbosity
iannesbitt Apr 4, 2023
6aeebbe
adding verbosity and removing excess functions
iannesbitt Apr 4, 2023
de44ec9
fixing definition bug
iannesbitt Apr 4, 2023
0d98aa6
adding docstring and I>RGB functionality to las2las command
iannesbitt Apr 5, 2023
ecd80af
fixing logging module error & adding version stamp
iannesbitt Apr 5, 2023
6824833
starting pipeline thread
iannesbitt Apr 5, 2023
c70766d
adding intensity to rgb and archive options
iannesbitt Apr 5, 2023
c32bc4d
fixing filepaths
iannesbitt Apr 5, 2023
6da40e0
adding `super().__init__()`
iannesbitt Apr 5, 2023
367726d
log location found programatically
iannesbitt Apr 5, 2023
cfe1507
log name matches module name
iannesbitt Apr 5, 2023
a3263e9
changing binary loc to be compatible w/ manifest
iannesbitt Apr 5, 2023
11aee2a
changing binary location in manifest
iannesbitt Apr 5, 2023
4c60e84
adding laszip to manifest
iannesbitt Apr 5, 2023
778833e
correcting log location
iannesbitt Apr 5, 2023
1dfaef3
correcting binary location
iannesbitt Apr 5, 2023
2653f4f
correcting keyword args for py3dtiles calls
iannesbitt Apr 5, 2023
18c3d38
defaulting to verbose
iannesbitt Apr 6, 2023
b464566
trying a new intensity>RGB method
iannesbitt Apr 10, 2023
257693a
removing laszip (included already in binary)
iannesbitt Apr 10, 2023
88982af
adding lasinfo
iannesbitt Apr 10, 2023
b2327a5
adding lasinfo epsg/wkt parsing function
iannesbitt Apr 10, 2023
f209d9a
changing verbose mode handling
iannesbitt Apr 10, 2023
3cb5219
changing CRS definition to explicit
iannesbitt Apr 10, 2023
354b537
getting rid of my failed graceful verbosity experiment
iannesbitt Apr 11, 2023
5e832f2
cleaning up imports
iannesbitt Apr 11, 2023
b35d973
standardizing version identifier
iannesbitt Apr 11, 2023
a3d2b5d
adding help text
iannesbitt Apr 11, 2023
76d88ff
adding required arg to CLI
iannesbitt Apr 11, 2023
90ff1d1
adding WKT and EPSG to logs
iannesbitt Apr 11, 2023
95012a7
fixing cli not starting bug
iannesbitt Apr 11, 2023
2557bbf
correcting an init variable bug
iannesbitt Apr 11, 2023
e84ab7a
correcting stats logging
iannesbitt Apr 11, 2023
e282154
adding stream handler to logging
iannesbitt Apr 11, 2023
6fa620e
adding explicit CRS var passing
iannesbitt Apr 11, 2023
320abcf
debugging wkt string parsing
iannesbitt Apr 11, 2023
b0b49ea
changing log level to debug if verbose
iannesbitt Apr 11, 2023
eebbb22
debugging wkt tuple error
iannesbitt Apr 11, 2023
33c874b
parsing wkt bytestring
iannesbitt Apr 11, 2023
3eaa7d2
getting rid of threading (for now, possibly)
iannesbitt Apr 11, 2023
cbbcb4d
decoding and stripping wkt
iannesbitt Apr 11, 2023
b193fcf
addressing #2
iannesbitt Apr 12, 2023
93c9b58
adding code that may address #3
iannesbitt Apr 12, 2023
3228f4a
adding verbose, catching error that causes #4
iannesbitt Apr 12, 2023
4666d32
fixing bug to test #2
iannesbitt Apr 12, 2023
81be285
clean up archiving (#2)
iannesbitt Apr 12, 2023
f5dee33
uncommenting "from" CRS log line
iannesbitt Apr 12, 2023
c058ca3
debugging for #3
iannesbitt Apr 12, 2023
74d3eff
making py3dtiles less verbose if not explicitly set
iannesbitt Apr 12, 2023
843935c
setting explicit WKT from file (solves #3)
iannesbitt Apr 12, 2023
8b7f3dd
addressing #4
iannesbitt Apr 12, 2023
e87f505
working around #7 when a base tileset already exists
iannesbitt Apr 12, 2023
d7550b0
adding log line
iannesbitt Apr 12, 2023
e8294c1
trying fix for #8
iannesbitt Apr 12, 2023
5f5cccb
removing verbosity var
iannesbitt Apr 13, 2023
39e0ade
correcting spacing in log msg
iannesbitt Apr 13, 2023
484444f
addressing #5
iannesbitt Apr 14, 2023
b42e6c2
more coherent log messages
iannesbitt Apr 14, 2023
005a438
debugging a str format line
iannesbitt Apr 14, 2023
92481c9
adding graceful handling of cleanup
iannesbitt Apr 14, 2023
0996870
allowing file renaming leeway (related to #7)
iannesbitt Apr 14, 2023
5c819ed
simplifying error handling
iannesbitt Apr 15, 2023
796fe18
adding docstring to error log fx
iannesbitt Apr 15, 2023
e133f92
adding docstring to file rm fx
iannesbitt Apr 15, 2023
153bd4c
adding docstrings to tile fx
iannesbitt Apr 15, 2023
c51ea9a
adding docstring to merge fx
iannesbitt Apr 15, 2023
b8c98a4
adding descriptions to docstrings
iannesbitt Apr 15, 2023
a00fb0d
adding docstring to subprocess log fx
iannesbitt Apr 15, 2023
b52dc1e
adding docstring to process runner fx
iannesbitt Apr 15, 2023
8bc85ea
add docstring to wkt writer
iannesbitt Apr 15, 2023
c3f103a
adding docstring to wkt read fx
iannesbitt Apr 15, 2023
714d914
adding self variable to run fx docstring
iannesbitt Apr 15, 2023
d819169
adding docstring to pipeline class
iannesbitt Apr 15, 2023
771895f
adding return and rtype to Pipeline().run() docstring
iannesbitt Apr 15, 2023
ffdcf24
removing kwargs
iannesbitt Apr 16, 2023
0e704ea
finishing dosctrings #6
iannesbitt Apr 16, 2023
ecd2366
adding LAStools license info
iannesbitt Apr 18, 2023
99145ab
adding simple test routine (#10)
iannesbitt Apr 19, 2023
e31f54f
adding OGC rewrite step to address #11
iannesbitt Apr 19, 2023
ae83aab
removing later `-set_ogc_wkt` step (#11)
iannesbitt Apr 19, 2023
a4dcbdb
debugging for #11
iannesbitt Apr 19, 2023
fbca586
debugging for #11
iannesbitt Apr 19, 2023
f0f11c2
debugging for #11
iannesbitt Apr 19, 2023
f35fe3e
debugging for #11
iannesbitt Apr 19, 2023
002f263
using laz for intermediate data
iannesbitt Apr 19, 2023
9c6aabd
adding test zip to gitignore
iannesbitt Apr 19, 2023
fb3ccca
adding test dataset info and image
iannesbitt Apr 19, 2023
7bc3bb8
adding info to readme
iannesbitt Apr 19, 2023
a7a46de
debugging an issue with relative paths in testing
iannesbitt Apr 19, 2023
db6ffd2
adding pdal
iannesbitt May 4, 2023
1120fa2
implementation of #15
iannesbitt May 4, 2023
94f4c21
tell lasinfo to only read headers (saves time)
iannesbitt May 4, 2023
370baa0
adding cleanup
iannesbitt May 5, 2023
84b4d3c
adding timer
iannesbitt May 5, 2023
6ac5eff
add Z-translation feature (temp. solution to #14)
iannesbitt May 5, 2023
18c11aa
adding to docstrings and usage to readme
iannesbitt May 9, 2023
cf6247e
adding slight scale up of rgb
iannesbitt May 9, 2023
db438f5
graceful file removal
iannesbitt May 9, 2023
10bee30
add install example
iannesbitt May 9, 2023
ffac171
adding checkout step
iannesbitt May 9, 2023
2e67521
working around pdal issues in install
iannesbitt May 16, 2023
20f061e
install specific Oslandia/py3dtiles commit (#16)
iannesbitt May 16, 2023
fd9b25b
resolves #16
iannesbitt May 16, 2023
8c60aca
fixed #17
iannesbitt May 16, 2023
19c8657
Fix for #20
iannesbitt May 16, 2023
ae3d6fb
Fix for #19
iannesbitt May 16, 2023
9833c50
addressing #21
iannesbitt May 17, 2023
f782850
bug fix for #21
iannesbitt May 17, 2023
d07157b
removing os (#21)
iannesbitt May 17, 2023
504dfb7
bug fix for #21
iannesbitt May 18, 2023
408ca45
bug fixes for #21
iannesbitt May 18, 2023
88d8b3d
bug fix for #21
iannesbitt May 18, 2023
e1e6df8
removing use of `os` from `__init__.py` for #21
iannesbitt May 18, 2023
ef86d0d
adjusting test dataset to incorporate geoid ht (#14)
iannesbitt May 18, 2023
38ded04
remove datetime import
iannesbitt Jun 7, 2023
afaa085
removing getopt, adding argparse (#19)
iannesbitt Jun 7, 2023
8d48069
adding prog and description
iannesbitt Jun 7, 2023
69b2135
add geoid/tidal model conversions (#14)
iannesbitt Jun 12, 2023
d113190
work on EPSG/VRS extractor and API calls for #14
iannesbitt Jun 15, 2023
94e1f0e
semantic change
iannesbitt Jun 26, 2023
d7fe350
removing lat/lon parsing from lasinfo function
iannesbitt Jun 28, 2023
ed3b871
returning `pathlib.Path` instead of string (#22)
iannesbitt Jun 28, 2023
c52bc01
fixing docstring formatting
iannesbitt Jun 28, 2023
729c50d
correcting docstring
iannesbitt Jun 28, 2023
f9b178b
removing things that are now in `pyegt`
iannesbitt Jun 28, 2023
af42fc3
adding `lasmean` function
iannesbitt Jun 29, 2023
8144edf
changing from internal to pyegt import
iannesbitt Jun 29, 2023
bbd298b
adding `lasmean` to pipeline (#14)
iannesbitt Jun 29, 2023
b71617d
adding docsrc
iannesbitt Jun 29, 2023
67a441c
adding auto processing flag for future
iannesbitt Jun 29, 2023
8ae0fd7
adding geoid height lookup using pyegt (#14)
iannesbitt Jun 29, 2023
c8dc8a4
changing docstrings from single to double quotes
iannesbitt Jun 29, 2023
7ed7de3
bumping version
iannesbitt Jun 29, 2023
7550876
updating definitions to reference pyegt (#14)
iannesbitt Jun 29, 2023
5cc4e92
changing logging behavior (#23)
iannesbitt Jul 3, 2023
ba6c0b2
fixing logging (#23)
iannesbitt Jul 5, 2023
e13c573
bug fix for #14
iannesbitt Jul 5, 2023
e883499
bug fix for #23
iannesbitt Jul 5, 2023
7b5a3ed
displaying module and func names together for #23
iannesbitt Jul 5, 2023
19f120e
bug fixes that close #14
iannesbitt Jul 5, 2023
4a00ca9
updating example image
iannesbitt Jul 5, 2023
e75f77c
update dataset link
iannesbitt Jul 5, 2023
b30165b
removing duplicate import
iannesbitt Jul 5, 2023
c1d5fbf
fixing bug for #19
iannesbitt Jul 6, 2023
710e7e2
fixing bug for #23
iannesbitt Jul 6, 2023
5860707
adding an xy file cleanup
iannesbitt Jul 7, 2023
c04758c
updating to a neutral log location
iannesbitt Jul 13, 2023
00b9327
adding sphinx to dev requirements
iannesbitt Jul 13, 2023
a1c9af6
fixing handling of compound CRS (#30)
iannesbitt Nov 2, 2023
2b9a334
adding debug statements
iannesbitt Nov 2, 2023
b9a94dc
Merge pull request #34 from PermafrostDiscoveryGateway/main
iannesbitt Feb 13, 2024
80bd09d
Adding citation
iannesbitt Mar 19, 2024
8771108
Adding citation
iannesbitt Mar 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# Test artifacts
pdgpoints/testdata/lp_jumps.laz
pdgpoints/testdata/tileset.json
pdgpoints/testdata/*[.txt|.zip]
pdgpoints/testdata/*/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down
3 changes: 3 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
include pdgpoints/bin/*
include pdgpoints/testdata/*
include pdgpoints/log/*
139 changes: 138 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,139 @@
# viz-points
Pythonpackage for post-processing point-cloud data for 3D visualization
Python package for post-processing point-cloud data for 3D visualization

## Repository contents

- [notebooks/](notebooks/) contains the simplified and annotated Jupyter Notebook version of the LiDAR processing workflow
- [pdgpoints/](pdgpoints/) contains the application code comprising the library

## Installation

### Hardware requirements
This software requires an x86_64 architecture and a Linux environment.

### Software requirements
- [pdal](https://github.com/PDAL/python) (pip installation may not build...if so use [anaconda](https://anaconda.org/) or [miniconda](https://repo.anaconda.com/miniconda/))
- [py3dtiles](https://gitlab.com/oslandia/py3dtiles) (Oslandia versions after [522ce61a](https://gitlab.com/Oslandia/py3dtiles/-/blob/522ce61a0c2cbeb496ba4862e14477bb941b23a3/py3dtiles/merger.py))
- rapidlasso [las2las](https://rapidlasso.com/lastools/las2las/) and [lasinfo](https://rapidlasso.com/lastools/lasinfo/) post-November 2022 (rapidlasso [precompiled Windows](https://github.com/LAStools/LAStools/blob/master/README.md#links) or included [linux binary](https://rapidlasso.de/release-of-lastoolslinux/))

Visualization requirements:
- A tool that can display 3dtiles data, such as [Cesium](https://cesium.com)

### Unix installation example

Remember to set up and activate your virtual environment before proceeding.

```bash
# use conda to set up environment
conda create -n viz-points python=3.9
conda activate viz-points
conda install -c conda-forge pdal
# get and install this software
git clone https://github.com/PermafrostDiscoveryGateway/viz-points.git
cd viz-points
# checkout the development branch if necessary
git checkout develop
pip install .
# test your installation
tilepoints-test
```

## Usage

This software is designed to be used either as a command line tool or as a Python package.

### Command line usage

**Command syntax:**
```
tilepoints [ OPTIONS ] -f /path/to/file.las
```

**Required argument:**
```
-f file.las | --file=/path/to/file.las
specify the path to a LAS or LAZ point cloud file
```

**Options:**
```
-h | --help
display the help message
-v | --verbose
display more informational messages
-c | --copy_I_to_RGB
copy intensity values to RGB channels
-m | --merge
merge all tilesets in the output folder (./3dtiles)
-a | --archive
copy original LAS files to a ./archive folder
-s X | --rgb_scale=X
scale RGB values by X amount
-z X | --translate_z=X
translate Z (elevation) values by X amount
```

### Python usage

**Python example:**
```python
from pdgpoints.pipeline import Pipeline

p = Pipeline(f='/path/to/file.laz',
intensity_to_RGB=True,
merge=True,
archive=False,
rgb_scale=4.0,
translate_z=-8.3,
verbose=False)
p.run()
```

### Visualizing the data in Cesium

You can view the output tiles in a Cesium environment. For steps for how to visualize the tiles with a local Cesium instance, see the [documentation here in pdg-info](https://github.com/julietcohen/pdg-info/blob/main/05_displaying-the-tiles.md#option-1-run-cesium-locally).

![Test dataset](pdgpoints/testdata/lp.png)

More info on the above test dataset [here](pdgpoints/testdata/README.md).

Below is an example of the `cesium.js` file that will display a 3dtiles tileset at `./3dtiles/tileset.json` (you will need your own access token):


```javascript

function start(){// Your access token can be found at: https://cesium.com/ion/tokens.

Cesium.Ion.defaultAccessToken = "YOUR-TOKEN-HERE"

const viewer = new Cesium.Viewer('cesiumContainer');

const imageryLayers = viewer.imageryLayers;

var tileset = new Cesium.Cesium3DTileset({
url: "3dtiles/tileset.json",
debugShowBoundingVolume: true,
debugShowContentBoundingVolume: false,
debugShowGeometricError: false,
debugWireframe: true
});

viewer.scene.primitives.add(tileset);

window.zoom_to_me = function(){
viewer.zoomTo(tileset);
}

tileset.readyPromise.then(zoom_to_me).otherwise(error => { console.log(error) });
}

start()
```

# Referencing this repository

If you would like to cite this repository, we suggest using something like the following:

```
Ian M. Nesbitt, Robyn Thiessen-Bock, and Matthew B. Jones (NCEAS). viz-points: A Python package for post-processing point-cloud data for 3D visualization. https://github.com/PermafrostDiscoveryGateway/viz-points.
```
23 changes: 23 additions & 0 deletions docsrc/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

github:
@make html
@cp -a _build/html/. ../docs

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
208 changes: 208 additions & 0 deletions docsrc/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
#
# This file does only contain a selection of the most common options. For a
# full list see the documentation:
# http://www.sphinx-doc.org/en/master/config

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import sys
# sys.path.insert(0, os.path.abspath('.'))
sys.path.insert(0, os.path.abspath('../'))
from datetime import datetime


# -- Project information -----------------------------------------------------

project = 'viz-points'
copyright = '%s, National Center for Ecological Analysis and Synthesis, University of California Santa Barbara (NCEAS-UCSB)' % datetime.now().year
author = 'Ian Nesbitt'

# The short X.Y version
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from pdgpoints._version import __version__ as version
# The full version, including alpha/beta/rc tags
release = version


# -- General configuration ---------------------------------------------------

# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.autosummary',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.coverage',
'sphinx.ext.mathjax',
'sphinx.ext.autosectionlabel',
'sphinx.ext.githubpages',
]

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'

# The master toctree document.
master_doc = 'index'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = 'en'

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

# The name of the Pygments (syntax highlighting) style to use.
#pygments_style = None
pygments_style = 'sphinx'


# autosummary
#autosummary_generate = True

# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"
html_logo = '_static/logo.png'

#html_theme = 'alabaster'

# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']

# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
# The default sidebars (for documents that don't match any pattern) are
# defined by theme itself. Builtin themes are using these templates by
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
# 'searchbox.html']``.
#
# html_sidebars = {}


# -- Options for HTMLHelp output ---------------------------------------------

# Output file base name for HTML help builder.
htmlhelp_basename = 'vizpointsdoc'


# -- Options for LaTeX output ------------------------------------------------

latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',

# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',

# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',

# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'vizpoints.tex', project+' Documentation',
author, 'manual'),
]


# -- Options for manual page output ------------------------------------------

# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, project, project+' Documentation',
[author], 1)
]


# -- Options for Texinfo output ----------------------------------------------

# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, project, project+' Documentation',
author, project, 'Convert lidar data (LAZ, LAS, etc.) to 3dtiles',
'Miscellaneous'),
]


# -- Options for Epub output -------------------------------------------------

# Bibliographic Dublin Core info.
epub_title = project

# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#
# epub_identifier = ''

# A unique identification for the text.
#
# epub_uid = ''

# A list of files that should not be packed into the epub file.
epub_exclude_files = ['search.html']


# -- Extension configuration -------------------------------------------------

# -- Options for intersphinx extension ---------------------------------------

# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {
'python 3': ('https://docs.python.org/3', None),
'pyproj [stable]': ('https://pyproj4.github.io/pyproj/stable', None),
'pyegt [stable]': ('https://iannesbitt.github.io/pyegt', None),
}

# -- Options for todo extension ----------------------------------------------

# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = True
Empty file added notebooks/README.md
Empty file.
Loading