Index: trunk/ppViz/src/ppVizPSF/ppVizPSFArguments.c
===================================================================
--- trunk/ppViz/src/ppVizPSF/ppVizPSFArguments.c	(revision 26366)
+++ trunk/ppViz/src/ppVizPSF/ppVizPSFArguments.c	(revision 26367)
@@ -50,11 +50,16 @@
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-psf", 0, "Filename of PSF", NULL);
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-sources", 0, "Filename of sources", NULL);
+    psMetadataAddF32(arguments, PS_LIST_TAIL, "-x", 0, "x position of fake source [0..1]", NAN);
+    psMetadataAddF32(arguments, PS_LIST_TAIL, "-y", 0, "y position of fake source [0..1]", NAN);
     if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 2) {
         usage(argv[0], arguments, data);
     }
 
+    bool mdok;                          // Status of MD lookup
     data->psfName = psMemIncrRefCounter(psMetadataLookupStr(NULL, arguments, "-psf"));
-    data->sourcesName = psMemIncrRefCounter(psMetadataLookupStr(NULL, arguments, "-sources"));
+    data->sourcesName = psMemIncrRefCounter(psMetadataLookupStr(&mdok, arguments, "-sources"));
     data->outRoot = psStringCopy(argv[1]);
+    data->x = psMetadataLookupF32(NULL, arguments, "-x");
+    data->y = psMetadataLookupF32(NULL, arguments, "-y");
     psMetadataAddStr(data->config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Output root name", data->outRoot);
 
@@ -63,5 +68,4 @@
 
     PS_ASSERT_STRING_NON_EMPTY(data->psfName, false);
-    PS_ASSERT_STRING_NON_EMPTY(data->sourcesName, false);
     PS_ASSERT_STRING_NON_EMPTY(data->outRoot, false);
 
