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

Add Camera Mosaic plugin #4005

Open
wants to merge 32 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
d90a591
Make MosaicCamera a separate plugin
jmeyers314 Nov 23, 2024
31dce43
Add MosaicCameraDialog
jmeyers314 Nov 24, 2024
85cdd8a
Add basic location spinboxes
jmeyers314 Nov 24, 2024
233e3d2
connect spin boxes
jmeyers314 Nov 24, 2024
f835eb8
connect spinboxes to mosaic
jmeyers314 Nov 24, 2024
286e65b
Initial TCP server for Mosaic Camera
jmeyers314 Nov 25, 2024
5944b34
remove debug statements
jmeyers314 Nov 27, 2024
4d25efc
Use RSP
jmeyers314 Dec 1, 2024
53ae87e
cleanup
jmeyers314 Dec 1, 2024
5d822c6
Use json for mosaic layout
jmeyers314 Dec 2, 2024
12dc5f1
Promote RA/DEC/RSP to AngleSpinBoxs
jmeyers314 Dec 2, 2024
df6f07f
Add gui labels
jmeyers314 Dec 2, 2024
a0aa96d
Add json mosaics
jmeyers314 Dec 2, 2024
e62d37a
New Cameras
jmeyers314 Dec 2, 2024
7af0503
Add Latiss
jmeyers314 Dec 2, 2024
cb4d1b8
Use HMS for RA
jmeyers314 Dec 2, 2024
5710a13
Add qrc
jmeyers314 Dec 3, 2024
4bc36a4
clean up
jmeyers314 Dec 3, 2024
3761feb
reorder tabs
jmeyers314 Dec 3, 2024
41d5509
Don't need colorComment
jmeyers314 Dec 6, 2024
8b5413b
Multiple Cameras
jmeyers314 Dec 7, 2024
5330f52
Use QListWidget
jmeyers314 Dec 8, 2024
22aea40
Use userDirectory for cameras
jmeyers314 Dec 9, 2024
79b3c2d
Add MosaicCamera README
jmeyers314 Dec 11, 2024
f335c21
Remember camera visibility
jmeyers314 Dec 12, 2024
86f343f
ui_MosaicCameraDialog -> ui_mosaicCameraDialog
jmeyers314 Dec 13, 2024
c4b3d71
Update CMakeLists.txt for Qt5/6
jmeyers314 Dec 13, 2024
2f8637e
Remove redundant blank line
jmeyers314 Dec 15, 2024
e617c3b
Use space delimiter in mosaic TCP
jmeyers314 Dec 15, 2024
04461ab
Add PROPERTYs to MosaicCamera
jmeyers314 Dec 17, 2024
0eb4066
Remove MosaicCamera TCP server
jmeyers314 Dec 17, 2024
aa589cb
Remove MosaicCamera::updateMosaic
jmeyers314 Dec 17, 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
1 change: 1 addition & 0 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,7 @@ List of supported parameters (passed as `-DPARAMETER=VALUE`):
| USE_PLUGIN_LENSDISTORTIONESTIMATOR | bool | ON | Enable building the Lens Distortion Estimator plugin
| USE_PLUGIN_METEORSHOWERS | bool | ON | Enable building the Meteor Showers plugin
| USE_PLUGIN_MISSINGSTARS | bool | ON | Enable building the Missing Stars plugin
| USE_PLUGIN_MOSAICCAMERA | bool | OFF | Enable building the Mosaic Camera plugin
| USE_PLUGIN_NAVSTARS | bool | ON | Enable building the Navigational Stars plugin
| USE_PLUGIN_NOVAE | bool | ON | Enable building the Bright Novae plugin
| USE_PLUGIN_OBSERVABILITY | bool | ON | Enable building the Observability Analysis plugin
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -541,6 +541,7 @@ ADD_PLUGIN(Calendars 1)
ADD_PLUGIN(Exoplanets 1)
ADD_PLUGIN(EquationOfTime 1)
ADD_PLUGIN(MeteorShowers 1)
ADD_PLUGIN(MosaicCamera 1)
ADD_PLUGIN(MissingStars 1)
ADD_PLUGIN(NavStars 1)
ADD_PLUGIN(Novae 1)
Expand Down
14 changes: 14 additions & 0 deletions plugins/MosaicCamera/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# This is the cmake config file for the MosaicCamera
SET(MOSAICCAMERA_VERSION "0.0.0")
ADD_DEFINITIONS(-DBUILD_DYNAMIC_PLUGIN=0)
ADD_DEFINITIONS(-DMOSAICCAMERA_PLUGIN_VERSION="${MOSAICCAMERA_VERSION}")
ADD_DEFINITIONS(-DMOSAICCAMERA_PLUGIN_LICENSE="GNU GPLv2 or later")

ADD_SUBDIRECTORY( src )

IF(APPLE)
SET(CMAKE_INSTALL_PREFIX $ENV{HOME}/Library/Application\ Support/Stellarium)
ElSE(APPLE)
SET(CMAKE_INSTALL_PREFIX $ENV{HOME}/.stellarium)
ENDIF(APPLE)
INSTALL(FILES DESTINATION "modules/MosaicCamera")
340 changes: 340 additions & 0 deletions plugins/MosaicCamera/COPYING

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions plugins/MosaicCamera/ChangeLog
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
0.0.0 [2024-12-10]
Created basic plugin
68 changes: 68 additions & 0 deletions plugins/MosaicCamera/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
Mosaic Camera Overlay Stellarium plugin
=======================================

Overlays mosaic camera sensor outlines on the Stellarium celestial sphere.

Available Cameras
=================

Built-in cameras include:
LSSTCam : https://www.lsst.org/about/camera
HSC : https://www.naoj.org/Projects/HSC/
DECam : https://www.darkenergysurvey.org/the-des-project/instrument/the-camera/
MegaPrime : https://www.cfht.hawaii.edu/Instruments/Imaging/Megacam/
Latiss : https://noirlab.edu/public/programs/vera-c-rubin-observatory/rubin-auxtel/

Camera sensors are specified via their corners, which are assumed to form spherical
polygons. The corners should be specified as gnomonic projections from the sphere to a
tangent plane in radians. Multiple groups of sensors can compose the same camera. For
example, LSSTCam has separate sensor groups for wavefront sensors, guider sensors, and
each of two types of science sensors.

Each camera is defined via a JSON file with the structure:

[
{
"name": "name-of-group-1",
"corners": [
[
[corner1_x, corner1_y],
[corner2_x, corner2_y],
...
], # sensor 1
[
...
], # sensor 2
...
]
"color": {
"value": [R, G, B, alpha]
}
},
{
"name": "name-of-group-2",
...
},
...
]

Cameras are loaded according to the order in

camera_order.json

which has the structure:
{
"order": [
"LSSTCam",
"DECam",
...
]
}


TCP Server
==========
The mosaic camera plugin starts a TCP server listening on port 5772. Messages can be
sent to the port in the format: "[name],[ra],[dec],[rot]" where [name] is the name of
one of the cameras, [ra] and [dec] indicate the camera boresight and [rot] the camera
rotation, all in degrees.
Loading
Loading