Index: trunk/ippTools/src/dettool.c
===================================================================
--- trunk/ippTools/src/dettool.c	(revision 9707)
+++ trunk/ippTools/src/dettool.c	(revision 9711)
@@ -220,4 +220,6 @@
         return false;
     }
+
+    // optional
     psString exp_type = psMetadataLookupStr(&status, config->args, "-exp_type");
     if (!status) {
@@ -225,8 +227,5 @@
         return false;
     }
-    if (!exp_type) {
-        psError(PS_ERR_UNKNOWN, true, "-exp_type is required");
-        return false;
-    }
+
     psString filter = psMetadataLookupStr(&status, config->args, "-filter");
     if (!status) {
@@ -234,8 +233,5 @@
         return false;
     }
-    if (!filter) {
-        psError(PS_ERR_UNKNOWN, true, "-filter is required");
-        return false;
-    }
+
     psF32 airmass = psMetadataLookupF32(&status, config->args, "-airmass");
     if (!status) {
@@ -243,8 +239,5 @@
         return false;
     }
-    if (isnan(airmass)) {
-        psError(PS_ERR_UNKNOWN, true, "-airmass is required");
-        return false;
-    }
+
     psF32 exp_time = psMetadataLookupF32(&status, config->args, "-exp_time");
     if (!status) {
@@ -252,8 +245,5 @@
         return false;
     }
-    if (isnan(exp_time)) {
-        psError(PS_ERR_UNKNOWN, true, "-exp_time is required");
-        return false;
-    }
+
     psF32 ccd_temp = psMetadataLookupF32(&status, config->args, "-ccd_temp");
     if (!status) {
@@ -261,8 +251,5 @@
         return false;
     }
-    if (isnan(ccd_temp)) {
-        psError(PS_ERR_UNKNOWN, true, "-ccd_temp is required");
-        return false;
-    }
+
     psF64 posang = psMetadataLookupF32(&status, config->args, "-posang");
     if (!status) {
@@ -270,9 +257,5 @@
         return false;
     }
-    if (isnan(posang)) {
-        psError(PS_ERR_UNKNOWN, true, "-posang is required");
-        return false;
-    }
-    // optional
+
     psString object = psMetadataLookupStr(&status, config->args, "-object");
     if (!status) {
@@ -280,4 +263,5 @@
         return false;
     }
+
     psTime *registered = NULL;
     {
@@ -606,4 +590,5 @@
     // the assigned values
 
+    // optional
     psString exp_type = psMetadataLookupStr(&status, config->args, "-set_exp_type");
     if (!status) {
@@ -611,8 +596,5 @@
         return false;
     }
-    if (!exp_type) {
-        psError(PS_ERR_UNKNOWN, true, "-set_exp_type is required");
-        return false;
-    }
+
     psString filter = psMetadataLookupStr(&status, config->args, "-set_filter");
     if (!status) {
@@ -620,8 +602,5 @@
         return false;
     }
-    if (!filter) {
-        psError(PS_ERR_UNKNOWN, true, "-set_filter is required");
-        return false;
-    }
+
     psF32 airmass = psMetadataLookupF32(&status, config->args, "-set_airmass");
     if (!status) {
@@ -629,8 +608,5 @@
         return false;
     }
-    if (isnan(airmass)) {
-        psError(PS_ERR_UNKNOWN, true, "-set_airmass is required");
-        return false;
-    }
+
     psF32 exp_time = psMetadataLookupF32(&status, config->args, "-set_exp_time");
     if (!status) {
@@ -638,8 +614,5 @@
         return false;
     }
-    if (isnan(exp_time)) {
-        psError(PS_ERR_UNKNOWN, true, "-set_exp_time is required");
-        return false;
-    }
+
     psF32 ccd_temp = psMetadataLookupF32(&status, config->args, "-set_ccd_temp");
     if (!status) {
@@ -647,8 +620,5 @@
         return false;
     }
-    if (isnan(ccd_temp)) {
-        psError(PS_ERR_UNKNOWN, true, "-set_ccd_temp is required");
-        return false;
-    }
+
     psF64 posang = psMetadataLookupF32(&status, config->args, "-set_posang");
     if (!status) {
@@ -656,9 +626,5 @@
         return false;
     }
-    if (isnan(posang)) {
-        psError(PS_ERR_UNKNOWN, true, "-set_posang is required");
-        return false;
-    }
-    // optional
+
     psString object = psMetadataLookupStr(&status, config->args, "-set_object");
     if (!status) {
