Index: trunk/ppViz/src/ppVizPSF/ppVizPSFArguments.c
===================================================================
--- trunk/ppViz/src/ppVizPSF/ppVizPSFArguments.c	(revision 26405)
+++ trunk/ppViz/src/ppVizPSF/ppVizPSFArguments.c	(revision 27667)
@@ -50,4 +50,5 @@
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-psf", 0, "Filename of PSF", NULL);
     psMetadataAddStr(arguments, PS_LIST_TAIL, "-sources", 0, "Filename of CMF sources", NULL);
+    psMetadataAddStr(arguments, PS_LIST_TAIL, "-input", 0, "Filename with x,y,mag", NULL);
     psMetadataAddS32(arguments, PS_LIST_TAIL, "-fake-num", 0, "Number of fake sources", 0);
     psMetadataAddF32(arguments, PS_LIST_TAIL, "-fake-mag", 0, "Magnitude of fake sources", NAN);
@@ -68,4 +69,13 @@
     psMetadataAddStr(data->config->arguments, PS_LIST_TAIL, "OUTPUT", 0, "Output root name", data->outRoot);
 
+    const char *inputName = psMetadataLookupStr(NULL, arguments, "-input"); // Name of input file
+    if (inputName) {
+        data->input = psVectorsReadFromFile(inputName, "%f %f %f");
+        if (!data->input) {
+            psError(psErrorCodeLast(), false, "Unable to read input file %s", inputName);
+            return false;
+        }
+    }
+
     psTrace("ppVizPSF", 1, "Done reading command-line arguments\n");
     psFree(arguments);
