From 56228bfbe0bb87859caa5b75dcd74646118af95e Mon Sep 17 00:00:00 2001
From: AustinSanders <arsanders@usgs.gov>
Date: Wed, 15 Jan 2020 14:53:18 -0700
Subject: [PATCH] Initial bundle adjust notebook + data. (#67)

* Initial bundle adjust notebook + data.

* Cleaned up some cells.
---
 examples/data/cubes.lis      |   4 ++++
 examples/data/hand_dense.net | Bin 0 -> 80035 bytes
 2 files changed, 4 insertions(+)
 create mode 100644 examples/data/cubes.lis
 create mode 100644 examples/data/hand_dense.net

diff --git a/examples/data/cubes.lis b/examples/data/cubes.lis
new file mode 100644
index 0000000..877c2dd
--- /dev/null
+++ b/examples/data/cubes.lis
@@ -0,0 +1,4 @@
+/work/projects/control_network_metrics/distribution/lvl1/F02_036648_2021_XN_22N022W.cal.cub
+/work/projects/control_network_metrics/distribution/lvl1/F06_038336_2024_XN_22N022W.cal.cub
+/work/projects/control_network_metrics/distribution/lvl1/F22_044336_2020_XN_22N022W.cal.cub
+/work/projects/control_network_metrics/distribution/lvl1/J07_047448_2024_XN_22N022W.cal.cub
diff --git a/examples/data/hand_dense.net b/examples/data/hand_dense.net
new file mode 100644
index 0000000000000000000000000000000000000000..d463e03a2751d31a38d32bca0111d4d51258267f
GIT binary patch
literal 80035
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
WGCy_hUAqkqg?*MvmFq5FbpQaWTSY4X

literal 0
HcmV?d00001

-- 
GitLab