Skip to content

Commit 4bff74c

Browse files
authored
Merge pull request #77 from scriptorron/monochrome_and_pixelsize_in_processed
Monochrome and pixelsize in processed
2 parents 71b841e + 502447a commit 4bff74c

15 files changed

+152
-80
lines changed

CHANGELOG

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
2.7.0
2+
- implemented Mono frame
3+
- scaled RGB and Mono frames have now binning-factor in FITS header
4+
- minor code cleanup and optimization
5+
- minimized FITS metadata to avoid trouble with plate solver
6+
- moved folders CamerInfos and testpattern out of Python library
7+
18
2.6.5
29
- running old driver gets killed when started with `python3` and `python`
310
- fixed typo in label "Disconnect"
File renamed without changes.

MANIFEST.in

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,2 @@
1-
2-
include src/indi_pylibcamera/CameraInfos/*
3-
include src/indi_pylibcamera/testpattern/*
41
include src/indi_pylibcamera/indi_pylibcamera.ini
52
include src/indi_pylibcamera/indi_pylibcamera.xml

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,10 @@ every frame exposure can solve this issue. Valid values of this switch are:
143143
Default (if not otherwise set in INI file) is `auto`.
144144
- `enable_IERS_autoupdate` (`yes`, `no`): Allows the `astropy` library to update the IERS-A table from internet.
145145
By default this is disabled to avoid errors when the camera is not connected to internet.
146+
- `extended_Metadata` (`yes`, `no`, `on`, `off`, `true`, `false`, `1`, `0`, default: `false`): Adds more metadata to the FITS image. For
147+
instance it stores `SCALE` (angle of sky projected to pixel) and `XPIXSZ`/`YPIXSZ` (binned pixel size). When disabled
148+
the pixel sizes `PIXSIZE1`/`PIXSIZE2` get adjusted to the binning. That makes the images look like from a camera
149+
without binning and avoids many issues with plate solvers.
146150

147151
There are more settings, mostly to support debugging.
148152

@@ -186,6 +190,21 @@ If you get a line containing `python3` and `indi_pylibcamera` in the output the
186190
kill the driver process manually before you restart the indiserver. Otherwise, you will get a libcamera error
187191
when connecting to the camera.
188192

193+
## Frametypes
194+
The driver can (when supported by the camera hardware) provide these image frame types:
195+
- `Raw` is the raw signal coming from the pixel converted to digital. Most cameras have an analog amplifier
196+
(configurable with `Gain`) between the pixel and the A/D converter. There is no software processing of the data.
197+
Typically, these pixel data have higher resolution but suffer from offset and gain errors. Furthermore, the pixel of
198+
color cameras have own color filter (called Bayer pattern) and do not RGB data directly. Such raw images need
199+
post-processing. Astro-photographs like raw images because they allow much better image optimizations. The frame size
200+
of raw images is determined by the modes implemented in the camera hardware.
201+
- `RGB` are images post-processed by the Image Signal Processor (ISP). The ISP corrects for offset and gain,
202+
calculates the colors and can adjust exposure time and wide balance automatically. Drawback is the lower dynamic
203+
(lower bit width) and additional systematic "noise" due to rounding errors. Frame size can be chosen freely because
204+
the image scaling is done by software in the ISP.
205+
- `Mono` is a special case of the `RGB` images, exposed with saturation=0 and transmitted with only one channel per
206+
pixel.
207+
189208
## Special handling for some cameras
190209
The driver is made as generic as possible by using the camera information provided by libcamera. For instance the raw
191210
modes and frame sizes selectable in the driver are coming from libcamera. Unfortunately some important information

src/indi_pylibcamera/CameraControl.py

Lines changed: 88 additions & 41 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)