Index: trunk/ppSkycell/src/ppSkycellArguments.c
===================================================================
--- trunk/ppSkycell/src/ppSkycellArguments.c	(revision 23982)
+++ trunk/ppSkycell/src/ppSkycellArguments.c	(revision 23992)
@@ -29,5 +29,5 @@
 {
     fprintf(stderr, "\nPan-STARRS skycell JPEGifier\n\n");
-    fprintf(stderr, "Usage: %s INPUT.list OUTPUT_ROOT\n\n",
+    fprintf(stderr, "Usage: %s -images INPUT.list [-masks MASK.list] OUTPUT_ROOT\n\n",
             program);
     fprintf(stderr, "\n");
@@ -45,16 +45,23 @@
 bool ppSkycellArguments(ppSkycellData *data, int argc, char *argv[])
 {
-    assert(config);
+    assert(data);
+    assert(data->config);
 
     psMetadata *arguments = psMetadataAlloc(); // Command-line arguments
-    if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 3) {
+    psMetadataAddStr(arguments, PS_LIST_TAIL, "-images", 0, "Filename with input images", NULL);
+    psMetadataAddStr(arguments, PS_LIST_TAIL, "-masks", 0, "Filename with input masks", NULL);
+    if (argc == 1 || !psArgumentParse(arguments, &argc, argv) || argc != 2) {
         usage(argv[0], arguments, data);
     }
 
-    data->inName = psStringCopy(argv[1]);
-    data->outRoot = psStringCopy(argv[2]);
+    data->imagesName = psMetadataLookupStr(NULL, arguments, "-images");
+    data->masksName = psMetadataLookupStr(NULL, arguments, "-masks");
+    data->outRoot = psStringCopy(argv[1]);
 
     psTrace("ppSkycell", 1, "Done reading command-line arguments\n");
     psFree(arguments);
+
+    PS_ASSERT_STRING_NON_EMPTY(data->imagesName, false);
+    PS_ASSERT_STRING_NON_EMPTY(data->outRoot, false);
 
     return true;
