Index: trunk/pstamp/src/ppstampArguments.c
===================================================================
--- trunk/pstamp/src/ppstampArguments.c	(revision 34596)
+++ trunk/pstamp/src/ppstampArguments.c	(revision 35893)
@@ -26,4 +26,5 @@
     fprintf(stderr, "   [-variance var_image] : variance image\n");
     fprintf(stderr, "   [-sources sources]    : sources cmf (ignored for chip stage)\n");
+    fprintf(stderr, "   [-forheader mdcfile   : metadata config file contaiing keywords to add to fits headers\n");
     fprintf(stderr, "   [-stage stage]        : stage of input image (raw, chip, warp, stack, diff)\n");
     fprintf(stderr, "   [-write_jpeg]         : write a JPEG  format of the image stamp\n");
@@ -135,4 +136,22 @@
         usage();
     }
+
+    if ((argnum = psArgumentGet(argc, argv, "-forheader"))) {
+        psArgumentRemove(argnum, &argc, argv);
+        if (argnum >= argc) {
+            psError(PSTAMP_ERR_ARGUMENTS, true, "metadata config filename value required with option -forheader");
+            usage();
+        }
+
+        const char *filename = argv[argnum];
+        psArgumentRemove(argnum, &argc, argv);
+
+        unsigned int nFail = 0;
+        options->headerAdditions = psMetadataConfigRead(NULL, &nFail, filename, false);
+        if (nFail || !options->headerAdditions) {
+            psError(PS_ERR_UNKNOWN, false, "failed to read metadata from %s", filename);
+            return false;
+        }
+    }
     
     if ((argnum = psArgumentGet(argc, argv, "-no_censor_masked"))) {
