summaryrefslogtreecommitdiffstats
path: root/plugins/pco
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2013-11-05 08:19:46 +0100
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2013-11-05 09:12:05 +0100
commit80ac5c5d183d6efc3e554a638770637086f0fb78 (patch)
tree4907795a3e215aa8107ad8d5f9c10bf2feb6f140 /plugins/pco
parent3c7f5aad71b5129f9baf42bc35aad90465a584b0 (diff)
downloadlibuca-80ac5c5d183d6efc3e554a638770637086f0fb78.tar.gz
libuca-80ac5c5d183d6efc3e554a638770637086f0fb78.tar.bz2
libuca-80ac5c5d183d6efc3e554a638770637086f0fb78.tar.xz
libuca-80ac5c5d183d6efc3e554a638770637086f0fb78.zip
Fix #15: set correct pixel sizes for pco.*
Diffstat (limited to 'plugins/pco')
-rw-r--r--plugins/pco/uca-pco-camera.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/plugins/pco/uca-pco-camera.c b/plugins/pco/uca-pco-camera.c
index 7629972..bae7b53 100644
--- a/plugins/pco/uca-pco-camera.c
+++ b/plugins/pco/uca-pco-camera.c
@@ -142,6 +142,8 @@ static gint base_overrideables[] = {
PROP_NAME,
PROP_SENSOR_WIDTH,
PROP_SENSOR_HEIGHT,
+ PROP_SENSOR_PIXEL_WIDTH,
+ PROP_SENSOR_PIXEL_HEIGHT,
PROP_SENSOR_BITDEPTH,
PROP_SENSOR_HORIZONTAL_BINNING,
PROP_SENSOR_HORIZONTAL_BINNINGS,
@@ -815,7 +817,7 @@ uca_pco_camera_set_property(GObject *object, guint property_id, const GValue *va
}
static void
-uca_pco_camera_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
+uca_pco_camera_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
{
UcaPcoCameraPrivate *priv = UCA_PCO_CAMERA_GET_PRIVATE(object);
guint err = PCO_NOERROR;
@@ -837,6 +839,34 @@ uca_pco_camera_get_property(GObject *object, guint property_id, GValue *value, G
g_value_set_uint(value, priv->height);
break;
+ case PROP_SENSOR_PIXEL_WIDTH:
+ switch (priv->description->type) {
+ case CAMERATYPE_PCO_EDGE:
+ g_value_set_double (value, 0.0000065);
+ break;
+ case CAMERATYPE_PCO_DIMAX_STD:
+ g_value_set_double (value, 0.0000110);
+ break;
+ case CAMERATYPE_PCO4000:
+ g_value_set_double (value, 0.0000090);
+ break;
+ }
+ break;
+
+ case PROP_SENSOR_PIXEL_HEIGHT:
+ switch (priv->description->type) {
+ case CAMERATYPE_PCO_EDGE:
+ g_value_set_double (value, 0.0000065);
+ break;
+ case CAMERATYPE_PCO_DIMAX_STD:
+ g_value_set_double (value, 0.0000110);
+ break;
+ case CAMERATYPE_PCO4000:
+ g_value_set_double (value, 0.0000090);
+ break;
+ }
+ break;
+
case PROP_SENSOR_WIDTH_EXTENDED:
g_value_set_uint(value, priv->width_ex < priv->width ? priv->width : priv->width_ex);
break;