Skip to content

Commit a370100

Browse files
authored
Merge pull request #9 from JuliaRobotics/22Q2/enh/consolidate
quick consolidate for community access to common CameraModels.jl
2 parents 890ec8c + 4c5e3f6 commit a370100

21 files changed

+664
-263
lines changed

.github/workflows/CompatHelper.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: CompatHelper
2+
3+
on:
4+
schedule:
5+
- cron: '20 00 * * *'
6+
7+
jobs:
8+
CompatHelper:
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
matrix:
12+
julia-version: [1.7.0]
13+
julia-arch: [x86]
14+
os: [ubuntu-latest]
15+
steps:
16+
- uses: julia-actions/setup-julia@latest
17+
with:
18+
version: ${{ matrix.julia-version }}
19+
- name: Pkg.add("CompatHelper")
20+
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
21+
- name: CompatHelper.main()
22+
env:
23+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
24+
run: julia -e 'using CompatHelper; CompatHelper.main()'

.github/workflows/TagBot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: TagBot
2+
3+
on:
4+
issues:
5+
types: [closed,]
6+
7+
jobs:
8+
TagBot:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: JuliaRegistries/TagBot@v1
12+
with:
13+
token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/ci.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: CI
2+
on:
3+
pull_request:
4+
push:
5+
branches:
6+
- main
7+
- release**
8+
jobs:
9+
test-stable:
10+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
11+
runs-on: ${{ matrix.os }}
12+
env:
13+
JULIA_PKG_SERVER: ""
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
version:
18+
- '1.6'
19+
- '1.7'
20+
- 'nightly'
21+
os:
22+
- ubuntu-latest
23+
arch:
24+
- x64
25+
steps:
26+
- uses: actions/checkout@v2
27+
- uses: julia-actions/setup-julia@v1
28+
with:
29+
version: ${{ matrix.version }}
30+
arch: ${{ matrix.arch }}
31+
- uses: julia-actions/cache@v1
32+
- uses: julia-actions/julia-buildpkg@v1
33+
- uses: julia-actions/julia-runtest@v1
34+
- uses: julia-actions/julia-processcoverage@v1
35+
- uses: codecov/codecov-action@v2
36+
with:
37+
files: lcov.info
38+
fail_ci_if_error: false
39+
if: ${{ matrix.version != 'nightly' }}
40+

NEWS.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# History of CameraModels.jl
2+
3+
## v0.1.0
4+
5+
- Created consolidated `CameraCalibration` type to replace various previous camera models (all doing about the same thing),
6+
- Also `CameraCalibrationMutable` and `CameraCalibratonT` as the Union dispatch type.
7+
- Backward compatibility and deprecations for yakir12's Pinhole camera model.
8+
- Backward compatibility and deprecations for Caesar.jl's PinholeCamera model.
9+
- Backward compatibility and deprecations for SensorFeatureTracking CameraIntrinsics model.
10+
- Backward compatibility and deprecations for CameraModelandParameters.
11+
- Work in progress to consolidate CameraModelFull from JuliaRobotics, but some hangups on where to put CameraExtrinsics.
12+
- Implement but not fully wired up to projections of `radialDistorion` functionality.

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
1010
Rotations = "6038ab10-8711-5258-84ad-4b1120ba62dc"
1111

1212
[compat]
13-
DocStringExtensions = "0.8"
13+
DocStringExtensions = "0.8, 0.9"
1414
StaticArrays = "1"
1515
Rotations = "1"
1616
julia = "1.4"

README.md

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,52 @@
1-
# CameraModels.jl
2-
Basic Camera Models including pinhole, radial distortion and more.
31

42
# NOTICE
53

6-
This package is still in development.
4+
This package is meant to consolidate the camera models previously found in the Julia package ecosystem. There are still many gaps and community contributions are encouranged.
5+
6+
# CameraModels.jl
7+
Basic Camera Models including pinhole, radial distortion etc.
8+
9+
> Click on badges to follow links:
710
8-
Future work to consolidate/complement https://www.github.com/yakir12/CameraModels.jl
11+
| Stable Release | Dev branch | Coverage | Documentation |
12+
|----------------|------------|----------|---------------|
13+
| [![cms-ci-stb][cms-ci-stb-img]][cms-ci-stb-url] <br> [![version][cms-ver-img]][cms-rel-url] | [![cms-ci-dev-img]][cms-ci-dev-url] | [![cms-cov-img]][cms-cov-url] | [![cjl-slack-badge]][cjl-slack] <br> [![caesar-docs]][cjl-docs-url] |
914

10-
# TODO List
15+
# Roadmap
1116

12-
- [ ] Copy existing camera code from Caesar.jl and RoME.jl here,
13-
- [ ] Tests for pinhole camera model,
17+
Project organization is currently done here:
18+
- [https://github.com/orgs/JuliaRobotics/projects/9/views/1](https://github.com/orgs/JuliaRobotics/projects/9/views/1)
19+
20+
## Initial TODO List
21+
22+
- [x] Copy existing camera code from Caesar.jl and RoME.jl here,
23+
- [x] Functional tests for consolidated CameraCalibration type
24+
- [x] Implement radial distortion computations,
25+
- [ ] Numerical tests for pinhole camera model,
26+
- [ ] Improve documentation,
27+
- [ ] Integrate downstream with packages like AprilTags.jl and Caesar.jl
1428
- [ ] Tests for radial distortion model,
1529
- [ ] Homogeneous coordinates model,
1630
- [ ] ...
31+
32+
33+
## History
34+
35+
See NEWS.md.
36+
37+
38+
[cms-ci-dev-img]: https://github.com/JuliaRobotics/CameraModels.jl/actions/workflows/ci.yml/badge.svg
39+
[cms-ci-dev-url]: https://github.com/JuliaRobotics/CameraModels.jl/actions/workflows/ci.yml
40+
[cms-ci-stb-img]: https://github.com/JuliaRobotics/CameraModels.jl/actions/workflows/ci.yml/badge.svg?branch=release%2Fv0.26
41+
[cms-ci-stb-url]: https://github.com/JuliaRobotics/CameraModels.jl/actions/workflows/ci.yml
42+
[cms-ver-img]: https://juliahub.com/docs/CameraModels/version.svg
43+
[cms-rel-url]: https://github.com/JuliaRobotics/CameraModels.jl/releases
44+
[cms-milestones]: https://github.com/JuliaRobotics/CameraModels.jl/milestones
45+
[cms-cov-img]: https://codecov.io/github/JuliaRobotics/CameraModels.jl/coverage.svg?branch=master
46+
[cms-cov-url]: https://codecov.io/github/JuliaRobotics/CameraModels.jl?branch=master
47+
48+
[caesar-docs]: https://img.shields.io/badge/CaesarDocs-latest-blue.svg
49+
[cjl-docs-url]: http://juliarobotics.github.io/Caesar.jl/latest/
50+
51+
[cjl-slack-badge]: https://img.shields.io/badge/Caesarjl-Slack-green.svg?style=popout
52+
[cjl-slack]: https://join.slack.com/t/caesarjl/shared_invite/zt-ucs06bwg-y2tEbddwX1vR18MASnOLsw

src/CameraModels.jl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,19 @@ include("ExportAPI.jl")
1111

1212
# data types
1313
include("entities/GeneralTypes.jl")
14-
include("entities/CameraTypes.jl")
15-
include("entities/RadialDistortion.jl")
16-
include("entities/CameraSkewDistortion.jl")
14+
include("entities/CameraCalibration.jl")
15+
16+
include("services/CameraCalibration.jl")
17+
18+
# legacy implementations
19+
include("Deprecated.jl")
1720

1821
# function logic
1922
include("services/Prototypes.jl")
2023
include("services/CameraServices.jl")
21-
include("services/RadialDistortion.jl")
2224
include("services/Utils.jl")
2325

2426

2527

28+
2629
end # module

0 commit comments

Comments
 (0)