City2BA

City2BA: Tools for creating synthetic bundle adjustment problems - Published in JOSS (2023)

https://github.com/tkonolige/city2ba

Science Score: 93.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 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

bundle-adjustment
Last synced: 4 months ago · JSON representation

Repository

Tools for generating synthetic bundle adjustment datasets

Basic Info
  • Host: GitHub
  • Owner: tkonolige
  • License: bsd-2-clause
  • Language: Rust
  • Default Branch: master
  • Size: 138 KB
Statistics
  • Stars: 19
  • Watchers: 4
  • Forks: 0
  • Open Issues: 0
  • Releases: 1
Topics
bundle-adjustment
Created almost 6 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License Codemeta

Readme.md

City2BA

docs.rs

A collection of tools for generating synthetic bundle adjustment datasets.

Datasets can either be generated programatically via the library or using the included executables. When using SnavelyCameras, the coordinate system is -z forward, y up.

```bash

Generate a problem from a 3D model

city2ba generate test_scene.obj problem.bal --cameras 100 --points 200

Add noise to the problem

city2ba noise problem.bal problem_noised.bal --drift-strength 0.001 --rotation-std 0.0001

Generate a problem using a city block grid

city2ba synthetic problem.bal --blocks 4

Convert a problem to a format for visualization

city2ba ply problem.bal problem.ply ```

Installation

First install embree (available at https://github.com/embree/embree). Then install cargo to build the code and dependencies (https://rustup.rs is the easiest way to get cargo).

To install the latest stable version run: bash EMBREE_DIR=/path/to/embree/lib cargo install city2ba Make sure to point EMBREE_DIR to the lib directory inside of the directory where you installed embree.

To build the latest version run: bash git clone https://github.com/tkonolige/city2ba.git cd city2ba EMBREE_DIR=/path/to/embree/lib cargo install --path . Make sure to point EMBREE_DIR to the lib directory inside of the directory where you installed embree.

The city2ba binary is installed into $HOME/.cargo/bin. In order to run the binary you will need to add this directory to your PATH (you can do this with export PATH="$HOME/.cargo/bin:$PATH", you may want to add this to your .bashrc or equivalent).

A simple scene is provided in test_scene.obj for you to experiment with. You can download it from https://github.com/tkonolige/city2ba/raw/master/test_scene.obj.

Development

Build City2BA locally with: bash git clone https://github.com/tkonolige/city2ba.git cd city2ba cargo build --release # release mode is recommended for performance Run tests with: bash cargo test Executables can be run with: bash cargo --release ARGS GO HERE

Contributing and Support

Please use the GitHub issue tracker to report issues, ask questions, and submit patches.

Owner

  • Name: Tristan Konolige
  • Login: tkonolige
  • Kind: user
  • Company: OctoML

JOSS Publication

City2BA: Tools for creating synthetic bundle adjustment problems
Published
January 11, 2023
Volume 8, Issue 81, Page 3125
Authors
Tristan Konolige ORCID
University of Colorado Boulder
Editor
Arfon Smith ORCID
Tags
rust bundle adjustment structure from motion

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "http://orcid.org/0000-0002-5052-6479",
      "@type": "Person",
      "email": "tristan.konolige@colorado.edu",
      "name": "Tristan Konolige",
      "affiliation": "University of Colorado Boulder"
    }
  ],
  "identifier": "",
  "codeRepository": "https://github.com/tkonolige/city2ba",
  "datePublished": "2020-02-28",
  "dateModified": "2020-02-28",
  "dateCreated": "2020-02-28",
  "description": "Tools for generating synthetic bundle adjustment datasets",
  "keywords": "bundle adjustment, structure from motion, 3D reconstruction",
  "license": "BSD-2-Clause",
  "title": "city2ba",
  "version": "v1.1.0"
}

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 83
  • Total Committers: 2
  • Avg Commits per committer: 41.5
  • Development Distribution Score (DDS): 0.012
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Tristan Konolige t****e@g****m 82
Arfon Smith a****n 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 4
  • Total pull requests: 1
  • Average time to close issues: 3 days
  • Average time to close pull requests: about 7 hours
  • Total issue authors: 3
  • Total pull request authors: 1
  • Average comments per issue: 2.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 1
  • 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
  • geoeo (2)
  • NikolausDemmel (1)
  • forallsunday (1)
Pull Request Authors
  • arfon (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cargo 3,060 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 1
crates.io: city2ba

A tool for generating synthetic bundle adjustment problems

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,060 Total
Rankings
Stargazers count: 22.5%
Forks count: 29.1%
Dependent repos count: 29.3%
Dependent packages count: 33.8%
Average: 34.6%
Downloads: 58.2%
Maintainers (1)
Last synced: 4 months ago

Dependencies

Cargo.lock cargo
  • 136 dependencies
Cargo.toml cargo
  • assert_cmd 0.12 development
  • predicates 1 development
  • tempfile 3 development
  • byteorder 1
  • cgmath 0.17
  • disjoint-sets 0.4
  • embree-rs 0.3
  • geo 0.4
  • indicatif 0.14
  • itertools 0.8
  • line_intersection 0.4
  • nalgebra 0.17
  • nom 5
  • ply-rs 0.1
  • poisson 0.10
  • rand 0.6
  • rayon 1
  • rstar 0.7
  • structopt 0.3
  • tobj 0.1.12
.github/workflows/rust.yml actions
  • actions-rs/cargo v1 composite
  • actions-rs/toolchain v1 composite
  • actions/checkout v2 composite
Dockerfile docker
  • ubuntu latest build