[education/kstars] /: filename Placeholders

Jasem Mutlaq null at kde.org
Thu Dec 1 19:42:16 GMT 2022


Git commit faa1afec4a70d3c451b4a462c20c5cd509001566 by Jasem Mutlaq, on behalf of Ed Lee.
Committed on 01/12/2022 at 19:42.
Pushed by mutlaqja into branch 'master'.

filename Placeholders

This merge request is to continue the work of @kchoi as chronicled in #54 and !453.

The majority of the work has been manually rebasing and repairing @kchoi's work due to the time elapsed since the previous effort stalled.

Now working on a simple GUI implementation. My initial proposal for this is:
![placeholderdialog](/uploads/597f6d98291d0cd42e9538530c3d045c/placeholderdialog.png)
This is a non-modal, but always on-top when shown, dialog that is toggled by the button selectFileDirectoryB that currently launches the directory browser.

The dialog consists of a QTableWidget of tag buttons along with their description. Each tag button click adds that button into the Format QLineEdit. The extra pair of Buttons on the dialog would be: 1. The replacement button for the launching the directory browser, and 2. A insert "/" slash button to allow easy path building without having to use the keyboard.

The Dialog Cancel button would revert a stashed value to the Format QLineEdit. A new icon would probably be appropriate for the dialog open button.

Thoughts/comments?

M  +79   -966  Tests/capture/testFlexibleNaming_data_small.csv
M  +14   -394  Tests/capture/testSchedulerProcessJobInfo_data.csv
M  +376  -439  Tests/capture/test_placeholderpath.cpp
M  +13   -12   Tests/capture/test_placeholderpath.h
M  +12   -12   Tests/kstars_ui/test_ekos_capture.cpp
M  +5    -1    Tests/kstars_ui/test_ekos_capture_count.cpp
M  +1    -2    Tests/kstars_ui/test_ekos_capture_helper.cpp
M  +25   -0    Tests/scheduler/testschedulerunit.cpp
M  +56   -13   doc/ekos-capture.docbook
M  +-    --    doc/ekos_capture.png
M  +-    --    doc/file_settings.png
M  +4    -0    kstars/auxiliary/ksutils.cpp
M  +224  -120  kstars/ekos/capture/capture.cpp
M  +22   -3    kstars/ekos/capture/capture.h
M  +117  -104  kstars/ekos/capture/capture.ui
M  +163  -192  kstars/ekos/capture/placeholderpath.cpp
M  +95   -23   kstars/ekos/capture/placeholderpath.h
M  +4    -8    kstars/ekos/capture/sequencejob.cpp
M  +2    -0    kstars/ekos/capture/sequencejob.h
M  +36   -8    kstars/ekos/scheduler/scheduler.cpp
M  +4    -3    kstars/ekos/scheduler/scheduler.h
M  +1    -2    kstars/indi/indicamera.cpp
M  +4    -6    kstars/indi/servermanager.cpp
M  +1    -1    kstars/kstars.kcfg

https://invent.kde.org/education/kstars/commit/faa1afec4a70d3c451b4a462c20c5cd509001566

diff --git a/Tests/capture/testFlexibleNaming_data_small.csv b/Tests/capture/testFlexibleNaming_data_small.csv
index e145bae92..0ccac9e43 100644
--- a/Tests/capture/testFlexibleNaming_data_small.csv
+++ b/Tests/capture/testFlexibleNaming_data_small.csv
@@ -1,967 +1,80 @@
 Exposure,Filter,Type,Prefix,RawPrefix,FilterEnabled,ExpEnabled,TimeStampEnabled,seqFilename,targetName,batch_mode,nextSequenceID,format,result
-,,,,,,,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/001\.fits$
-,,,,,,,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/1000\.fits$
-0.00001,,Bias,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0.000010_secs_001\.fits$
-0.00001,,Bias,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0.000010_secs_1000\.fits$
-0.00001,,Bias,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Bias,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_001\.fits$
-0.1,,Bias,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0.100_secs_001\.fits$
-0.1,,Bias,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0.100_secs_1000\.fits$
-0.1,,Bias,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Bias,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0_secs_001\.fits$
-,,Bias,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0_secs_1000\.fits$
-,,Bias,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_1000\.fits$
-1.00,,Bias,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_1_secs_001\.fits$
-1.00,,Bias,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_1_secs_1000\.fits$
-1.00,,Bias,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Bias,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Dark,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0.000010_secs_001\.fits$
-0.00001,,Dark,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0.000010_secs_1000\.fits$
-0.00001,,Dark,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Dark,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_001\.fits$
-0.1,,Dark,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0.100_secs_001\.fits$
-0.1,,Dark,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0.100_secs_1000\.fits$
-0.1,,Dark,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Dark,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0_secs_001\.fits$
-,,Dark,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0_secs_1000\.fits$
-,,Dark,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_1000\.fits$
-1.00,,Dark,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_1_secs_001\.fits$
-1.00,,Dark,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_1_secs_1000\.fits$
-1.00,,Dark,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Dark,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Flat,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0.000010_secs_001\.fits$
-0.00001,,Flat,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0.000010_secs_1000\.fits$
-0.00001,,Flat,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Flat,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_001\.fits$
-0.1,,Flat,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0.100_secs_001\.fits$
-0.1,,Flat,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0.100_secs_1000\.fits$
-0.1,,Flat,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Flat,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0_secs_001\.fits$
-,,Flat,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0_secs_1000\.fits$
-,,Flat,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_1000\.fits$
-1.00,,Flat,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_1_secs_001\.fits$
-1.00,,Flat,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_1_secs_1000\.fits$
-1.00,,Flat,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Flat,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0_secs_001\.fits$
-,sobel,Flat,prefix,,1,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0_secs_1000\.fits$
-,sobel,Flat,prefix,,1,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Light,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0.000010_secs_001\.fits$
-0.00001,,Light,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0.000010_secs_1000\.fits$
-0.00001,,Light,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Light,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_001\.fits$
-0.1,,Light,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0.100_secs_001\.fits$
-0.1,,Light,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0.100_secs_1000\.fits$
-0.1,,Light,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Light,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0_secs_001\.fits$
-,,Light,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0_secs_1000\.fits$
-,,Light,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_1000\.fits$
-1.00,,Light,prefix,,,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_1_secs_001\.fits$
-1.00,,Light,prefix,,,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_1_secs_1000\.fits$
-1.00,,Light,prefix,,,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Light,prefix,,,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,,1,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,,1,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0_secs_001\.fits$
-,sobel,Light,prefix,,1,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0_secs_1000\.fits$
-,sobel,Light,prefix,,1,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_1_secs_001\.fits$
-1.00,sobel,Light,prefix,,1,1,,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,,1,1,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,1,,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,,1,,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Bias,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0.000010_secs_001\.fits$
-0.00001,,Bias,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0.000010_secs_1000\.fits$
-0.00001,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_001\.fits$
-0.1,,Bias,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0.100_secs_001\.fits$
-0.1,,Bias,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0.100_secs_1000\.fits$
-0.1,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0_secs_001\.fits$
-,,Bias,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0_secs_1000\.fits$
-,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_1000\.fits$
-1.00,,Bias,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_1_secs_001\.fits$
-1.00,,Bias,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_1_secs_1000\.fits$
-1.00,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Dark,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0.000010_secs_001\.fits$
-0.00001,,Dark,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0.000010_secs_1000\.fits$
-0.00001,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_001\.fits$
-0.1,,Dark,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0.100_secs_001\.fits$
-0.1,,Dark,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0.100_secs_1000\.fits$
-0.1,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0_secs_001\.fits$
-,,Dark,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0_secs_1000\.fits$
-,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_1000\.fits$
-1.00,,Dark,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_1_secs_001\.fits$
-1.00,,Dark,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_1_secs_1000\.fits$
-1.00,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Flat,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0.000010_secs_001\.fits$
-0.00001,,Flat,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0.000010_secs_1000\.fits$
-0.00001,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_001\.fits$
-0.1,,Flat,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0.100_secs_001\.fits$
-0.1,,Flat,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0.100_secs_1000\.fits$
-0.1,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0_secs_001\.fits$
-,,Flat,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0_secs_1000\.fits$
-,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_1000\.fits$
-1.00,,Flat,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_1_secs_001\.fits$
-1.00,,Flat,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_1_secs_1000\.fits$
-1.00,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0_secs_001\.fits$
-,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0_secs_1000\.fits$
-,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Light,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0.000010_secs_001\.fits$
-0.00001,,Light,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0.000010_secs_1000\.fits$
-0.00001,,Light,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Light,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_001\.fits$
-0.1,,Light,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0.100_secs_001\.fits$
-0.1,,Light,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0.100_secs_1000\.fits$
-0.1,,Light,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Light,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0_secs_001\.fits$
-,,Light,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0_secs_1000\.fits$
-,,Light,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_1000\.fits$
-1.00,,Light,prefix,,,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_1_secs_001\.fits$
-1.00,,Light,prefix,,,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_1_secs_1000\.fits$
-1.00,,Light,prefix,,,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Light,prefix,,,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0_secs_001\.fits$
-,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0_secs_1000\.fits$
-,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_1_secs_001\.fits$
-1.00,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,1,,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,,1,,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/.*/t_a_r_g_e_t_Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/001\.fits$
-,,,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/1000\.fits$
-0.00001,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0.000010_secs_001\.fits$
-0.00001,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0.000010_secs_1000\.fits$
-0.00001,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_001\.fits$
-0.1,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0.100_secs_001\.fits$
-0.1,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0.100_secs_1000\.fits$
-0.1,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0_secs_001\.fits$
-,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0_secs_1000\.fits$
-,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_1000\.fits$
-1.00,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_1_secs_001\.fits$
-1.00,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_1_secs_1000\.fits$
-1.00,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Bias,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0.000010_secs_001\.fits$
-0.00001,,Bias,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0.000010_secs_1000\.fits$
-0.00001,,Bias,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Bias,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_001\.fits$
-0.1,,Bias,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0.100_secs_001\.fits$
-0.1,,Bias,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0.100_secs_1000\.fits$
-0.1,,Bias,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Bias,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0_secs_001\.fits$
-,,Bias,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0_secs_1000\.fits$
-,,Bias,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_1000\.fits$
-1.00,,Bias,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_1_secs_001\.fits$
-1.00,,Bias,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_1_secs_1000\.fits$
-1.00,,Bias,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Bias,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Bias/t_a_r_g_e_t_Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0.000010_secs_001\.fits$
-0.00001,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0.000010_secs_1000\.fits$
-0.00001,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_001\.fits$
-0.1,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0.100_secs_001\.fits$
-0.1,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0.100_secs_1000\.fits$
-0.1,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0_secs_001\.fits$
-,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0_secs_1000\.fits$
-,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_1000\.fits$
-1.00,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_1_secs_001\.fits$
-1.00,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_1_secs_1000\.fits$
-1.00,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Dark,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0.000010_secs_001\.fits$
-0.00001,,Dark,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0.000010_secs_1000\.fits$
-0.00001,,Dark,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Dark,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_001\.fits$
-0.1,,Dark,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0.100_secs_001\.fits$
-0.1,,Dark,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0.100_secs_1000\.fits$
-0.1,,Dark,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Dark,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0_secs_001\.fits$
-,,Dark,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0_secs_1000\.fits$
-,,Dark,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_1000\.fits$
-1.00,,Dark,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_1_secs_001\.fits$
-1.00,,Dark,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_1_secs_1000\.fits$
-1.00,,Dark,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Dark,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Dark/t_a_r_g_e_t_Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0.000010_secs_001\.fits$
-0.00001,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0.000010_secs_1000\.fits$
-0.00001,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_001\.fits$
-0.1,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0.100_secs_001\.fits$
-0.1,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0.100_secs_1000\.fits$
-0.1,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0_secs_001\.fits$
-,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0_secs_1000\.fits$
-,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_1000\.fits$
-1.00,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_1_secs_001\.fits$
-1.00,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_1_secs_1000\.fits$
-1.00,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_001\.fits$
-0.1,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0_secs_001\.fits$
-,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0_secs_1000\.fits$
-,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_1000\.fits$
-1.00,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0_secs_001\.fits$
-,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0_secs_1000\.fits$
-,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_001\.fits$
-0.1,sobel,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0_secs_001\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0_secs_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_1000\.fits$
-1.00,sobel,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_001\.fits$
-0.1,sobel,Flat,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0_secs_001\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0_secs_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1000\.fits$
-1.00,sobel,Flat,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,t_a_r_g_e_t,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/sobel/t_a_r_g_e_t_Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0.000010_secs_001\.fits$
-0.00001,,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0.000010_secs_1000\.fits$
-0.00001,,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_001\.fits$
-0.1,,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0.100_secs_001\.fits$
-0.1,,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0.100_secs_1000\.fits$
-0.1,,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0_secs_001\.fits$
-,,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0_secs_1000\.fits$
-,,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_1000\.fits$
-1.00,,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_1_secs_001\.fits$
-1.00,,Flat,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_1_secs_1000\.fits$
-1.00,,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Flat,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Flat/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0.000010_secs_001\.fits$
-0.00001,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0.000010_secs_1000\.fits$
-0.00001,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_001\.fits$
-0.1,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0.100_secs_001\.fits$
-0.1,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0.100_secs_1000\.fits$
-0.1,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0_secs_001\.fits$
-,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0_secs_1000\.fits$
-,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_1000\.fits$
-1.00,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_1_secs_001\.fits$
-1.00,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_1_secs_1000\.fits$
-1.00,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_001\.fits$
-0.1,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0_secs_001\.fits$
-,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0_secs_1000\.fits$
-,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_1000\.fits$
-1.00,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_1_secs_001\.fits$
-1.00,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0_secs_001\.fits$
-,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0_secs_1000\.fits$
-,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_1_secs_001\.fits$
-1.00,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_001\.fits$
-0.1,sobel,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0_secs_001\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0_secs_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_1000\.fits$
-1.00,sobel,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_1_secs_001\.fits$
-1.00,sobel,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_001\.fits$
-0.1,sobel,Light,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0_secs_001\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0_secs_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_1000\.fits$
-1.00,sobel,Light,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_1_secs_001\.fits$
-1.00,sobel,Light,prefix,t_a_r_g_e_t,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,t_a_r_g_e_t,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,t_a_r_g_e_t,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/sobel/t_a_r_g_e_t_Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0.000010_secs_001\.fits$
-0.00001,,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0.000010_secs_1000\.fits$
-0.00001,,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_001\.fits$
-0.1,,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0.100_secs_001\.fits$
-0.1,,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0.100_secs_1000\.fits$
-0.1,,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0_secs_001\.fits$
-,,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0_secs_1000\.fits$
-,,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,t_a_r_g_e_t,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_1000\.fits$
-1.00,,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_1_secs_001\.fits$
-1.00,,Light,prefix,t_a_r_g_e_t,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_1_secs_1000\.fits$
-1.00,,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Light,prefix,t_a_r_g_e_t,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,t_a_r_g_e_t,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/Light/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0.000010_secs_001\.fits$
-0.00001,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0.000010_secs_1000\.fits$
-0.00001,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_001\.fits$
-0.1,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0.100_secs_001\.fits$
-0.1,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0.100_secs_1000\.fits$
-0.1,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0_secs_001\.fits$
-,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0_secs_1000\.fits$
-,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_1000\.fits$
-1.00,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_1_secs_001\.fits$
-1.00,,Bias,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_1_secs_1000\.fits$
-1.00,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Bias,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Bias/t_a_r_g_e_t_Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0.000010_secs_001\.fits$
-0.00001,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0.000010_secs_1000\.fits$
-0.00001,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_001\.fits$
-0.1,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0.100_secs_001\.fits$
-0.1,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0.100_secs_1000\.fits$
-0.1,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0_secs_001\.fits$
-,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0_secs_1000\.fits$
-,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_1000\.fits$
-1.00,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_1_secs_001\.fits$
-1.00,,Dark,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_1_secs_1000\.fits$
-1.00,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Dark,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Dark/t_a_r_g_e_t_Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_001\.fits$
-0.1,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0_secs_001\.fits$
-,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0_secs_1000\.fits$
-,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_1000\.fits$
-1.00,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0_secs_001\.fits$
-,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0_secs_1000\.fits$
-,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/sobel/t_a_r_g_e_t_Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0.000010_secs_001\.fits$
-0.00001,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0.000010_secs_1000\.fits$
-0.00001,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_001\.fits$
-0.1,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0.100_secs_001\.fits$
-0.1,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0.100_secs_1000\.fits$
-0.1,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0_secs_001\.fits$
-,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0_secs_1000\.fits$
-,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_1000\.fits$
-1.00,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_1_secs_001\.fits$
-1.00,,Flat,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_1_secs_1000\.fits$
-1.00,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Flat,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Flat/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_001\.fits$
-0.1,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0_secs_001\.fits$
-,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0_secs_1000\.fits$
-,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_1000\.fits$
-1.00,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_1_secs_001\.fits$
-1.00,sobel,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0_secs_001\.fits$
-,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0_secs_1000\.fits$
-,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_1_secs_001\.fits$
-1.00,sobel,Light,prefix,,1,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,,1,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/sobel/t_a_r_g_e_t_Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0.000010_secs_001\.fits$
-0.00001,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0.000010_secs_1000\.fits$
-0.00001,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_001\.fits$
-0.1,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0.100_secs_001\.fits$
-0.1,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0.100_secs_1000\.fits$
-0.1,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0_secs_001\.fits$
-,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0_secs_1000\.fits$
-,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_1000\.fits$
-1.00,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_1_secs_001\.fits$
-1.00,,Light,prefix,,,1,,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_1_secs_1000\.fits$
-1.00,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Light,prefix,,,1,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,,1,/home/user/Images/NGC7635/100x30s_RGB.esq,t a/r(g):e*~t_,1,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/home/user/Images/NGC7635/t_a_r_g_e_t/Light/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,,,,,,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/001\.fits$
-,,,,,,,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/1000\.fits$
-0.00001,,Bias,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0.000010_secs_001\.fits$
-0.00001,,Bias,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0.000010_secs_1000\.fits$
-0.00001,,Bias,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Bias,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_001\.fits$
-0.1,,Bias,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0.100_secs_001\.fits$
-0.1,,Bias,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0.100_secs_1000\.fits$
-0.1,,Bias,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Bias,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0_secs_001\.fits$
-,,Bias,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0_secs_1000\.fits$
-,,Bias,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_1000\.fits$
-1.00,,Bias,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_1_secs_001\.fits$
-1.00,,Bias,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_1_secs_1000\.fits$
-1.00,,Bias,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Bias,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Dark,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0.000010_secs_001\.fits$
-0.00001,,Dark,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0.000010_secs_1000\.fits$
-0.00001,,Dark,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Dark,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_001\.fits$
-0.1,,Dark,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0.100_secs_001\.fits$
-0.1,,Dark,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0.100_secs_1000\.fits$
-0.1,,Dark,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Dark,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0_secs_001\.fits$
-,,Dark,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0_secs_1000\.fits$
-,,Dark,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_1000\.fits$
-1.00,,Dark,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_1_secs_001\.fits$
-1.00,,Dark,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_1_secs_1000\.fits$
-1.00,,Dark,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Dark,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Flat,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0.000010_secs_001\.fits$
-0.00001,,Flat,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0.000010_secs_1000\.fits$
-0.00001,,Flat,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Flat,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_001\.fits$
-0.1,,Flat,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0.100_secs_001\.fits$
-0.1,,Flat,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0.100_secs_1000\.fits$
-0.1,,Flat,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Flat,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0_secs_001\.fits$
-,,Flat,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0_secs_1000\.fits$
-,,Flat,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_1000\.fits$
-1.00,,Flat,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_1_secs_001\.fits$
-1.00,,Flat,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_1_secs_1000\.fits$
-1.00,,Flat,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Flat,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0_secs_001\.fits$
-,sobel,Flat,prefix,,1,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0_secs_1000\.fits$
-,sobel,Flat,prefix,,1,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Light,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0.000010_secs_001\.fits$
-0.00001,,Light,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0.000010_secs_1000\.fits$
-0.00001,,Light,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Light,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_001\.fits$
-0.1,,Light,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0.100_secs_001\.fits$
-0.1,,Light,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0.100_secs_1000\.fits$
-0.1,,Light,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Light,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0_secs_001\.fits$
-,,Light,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0_secs_1000\.fits$
-,,Light,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_1000\.fits$
-1.00,,Light,prefix,,,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_1_secs_001\.fits$
-1.00,,Light,prefix,,,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_1_secs_1000\.fits$
-1.00,,Light,prefix,,,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Light,prefix,,,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,,1,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,,1,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0_secs_001\.fits$
-,sobel,Light,prefix,,1,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0_secs_1000\.fits$
-,sobel,Light,prefix,,1,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_1_secs_001\.fits$
-1.00,sobel,Light,prefix,,1,1,,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,,1,1,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,1,,,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,,1,,,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Bias,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0.000010_secs_001\.fits$
-0.00001,,Bias,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0.000010_secs_1000\.fits$
-0.00001,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_001\.fits$
-0.1,,Bias,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0.100_secs_001\.fits$
-0.1,,Bias,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0.100_secs_1000\.fits$
-0.1,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0_secs_001\.fits$
-,,Bias,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0_secs_1000\.fits$
-,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,,,,,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_1000\.fits$
-1.00,,Bias,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_1_secs_001\.fits$
-1.00,,Bias,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_1_secs_1000\.fits$
-1.00,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Bias,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Bias,prefix,,,,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Bias,prefix,,,,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Bias_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Dark,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0.000010_secs_001\.fits$
-0.00001,,Dark,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0.000010_secs_1000\.fits$
-0.00001,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_001\.fits$
-0.1,,Dark,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0.100_secs_001\.fits$
-0.1,,Dark,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0.100_secs_1000\.fits$
-0.1,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0_secs_001\.fits$
-,,Dark,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0_secs_1000\.fits$
-,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,,,,,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_1000\.fits$
-1.00,,Dark,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_1_secs_001\.fits$
-1.00,,Dark,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_1_secs_1000\.fits$
-1.00,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Dark,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Dark,prefix,,,,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Dark,prefix,,,,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Dark_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Flat,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0.000010_secs_001\.fits$
-0.00001,,Flat,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0.000010_secs_1000\.fits$
-0.00001,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_001\.fits$
-0.1,,Flat,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0.100_secs_001\.fits$
-0.1,,Flat,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0.100_secs_1000\.fits$
-0.1,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0_secs_001\.fits$
-,,Flat,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0_secs_1000\.fits$
-,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,,,,,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_1000\.fits$
-1.00,,Flat,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_1_secs_001\.fits$
-1.00,,Flat,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_1_secs_1000\.fits$
-1.00,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Flat,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Flat,prefix,,,,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Flat,prefix,,,,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0.100_secs_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0_secs_001\.fits$
-,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0_secs_1000\.fits$
-,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_1_secs_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_1_secs_1000\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Flat,prefix,,1,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Flat,prefix,,1,,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Flat,prefix,,1,,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Flat_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,,Light,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0.000010_secs_001\.fits$
-0.00001,,Light,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0.000010_secs_1000\.fits$
-0.00001,,Light,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,,Light,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_001\.fits$
-0.1,,Light,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0.100_secs_001\.fits$
-0.1,,Light,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0.100_secs_1000\.fits$
-0.1,,Light,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,,Light,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0_secs_001\.fits$
-,,Light,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0_secs_1000\.fits$
-,,Light,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,,,,,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_1000\.fits$
-1.00,,Light,prefix,,,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_1_secs_001\.fits$
-1.00,,Light,prefix,,,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_1_secs_1000\.fits$
-1.00,,Light,prefix,,,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,,Light,prefix,,,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,,Light,prefix,,,,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,,Light,prefix,,,,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0.000010_secs_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0.000010_secs_1000\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.00001,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0.000010_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0.100_secs_001\.fits$
-0.1,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0.100_secs_1000\.fits$
-0.1,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-0.1,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0.100_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0_secs_001\.fits$
-,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0_secs_1000\.fits$
-,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_0_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_1_secs_001\.fits$
-1.00,sobel,Light,prefix,,1,1,,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_1_secs_1000\.fits$
-1.00,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-1.00,sobel,Light,prefix,,1,1,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_1_secs_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
-,sobel,Light,prefix,,1,,1,,t a/r(g):e*~t_,0,1,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_001\.fits$
-,sobel,Light,prefix,,1,,1,,t a/r(g):e*~t_,0,1000,%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3,^/tmp/kstars/t_a_r_g_e_t_Light_sobel_\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_1000\.fits$
+,,,,,,,,,,1,1,/%s3,^/001\.fits$
+,,,,,,,,,,1,1000,/%s3,^/1000\.fits$
+,,,,,,,,,,0,1,%s1,^/tmp/kstars/1\.fits$
+,,,,,,,,,,0,1,%sequence2,^/tmp/kstars/01\.fits$
+,,,,,,,,,,0,1,%s3,^/tmp/kstars/001\.fits$
+,,,,,,,,,,0,1,%sequence4,^/tmp/kstars/0001\.fits$
+,,,,,,,,,,0,1,%s5,^/tmp/kstars/00001\.fits$
+,,,,,,,,,,0,1,%sequence6,^/tmp/kstars/000001\.fits$
+,,,,,,,,,,0,1,%s7,^/tmp/kstars/0000001\.fits$
+,,,,,,,,,,0,1,%sequence8,^/tmp/kstars/00000001\.fits$
+,,,,,,,,,,0,1,%s9,^/tmp/kstars/000000001\.fits$
+,,,,,,,,,,0,123,%sequence1,^/tmp/kstars/123\.fits$
+,,,,,,,,,,0,123,%s2,^/tmp/kstars/123\.fits$
+,,,,,,,,,,0,123,%sequence3,^/tmp/kstars/123\.fits$
+,,,,,,,,,,0,123,%s4,^/tmp/kstars/0123\.fits$
+,,,,,,,,,,0,123,%sequence5,^/tmp/kstars/00123\.fits$
+,,,,,,,,,,0,123,%s6,^/tmp/kstars/000123\.fits$
+,,,,,,,,,,0,123,%sequence7,^/tmp/kstars/0000123\.fits$
+,,,,,,,,,,0,123,%s8,^/tmp/kstars/00000123\.fits$
+,,,,,,,,,,0,123,%sequence9,^/tmp/kstars/000000123\.fits$
+,,,,,,,,,,0,123456,%s1,^/tmp/kstars/123456\.fits$
+,,,,,,,,,,0,123456,%sequence2,^/tmp/kstars/123456\.fits$
+,,,,,,,,,,0,123456,%s3,^/tmp/kstars/123456\.fits$
+,,,,,,,,,,0,123456,%sequence4,^/tmp/kstars/123456\.fits$
+,,,,,,,,,,0,123456,%s5,^/tmp/kstars/123456\.fits$
+,,,,,,,,,,0,123456,%sequence6,^/tmp/kstars/123456\.fits$
+,,,,,,,,,,0,123456,%s7,^/tmp/kstars/0123456\.fits$
+,,,,,,,,,,0,123456,%sequence8,^/tmp/kstars/00123456\.fits$
+,,,,,,,,,,0,123456,%s9,^/tmp/kstars/000123456\.fits$
+,,,,,,,,,,1,1,/%s1,^/1\.fits$
+,,,,,,,,,,1,1,/%sequence2,^/01\.fits$
+,,,,,,,,,,1,1,/%s3,^/001\.fits$
+,,,,,,,,,,1,1,/%sequence4,^/0001\.fits$
+,,,,,,,,,,1,1,/%s5,^/00001\.fits$
+,,,,,,,,,,1,1,/%sequence6,^/000001\.fits$
+,,,,,,,,,,1,1,/%s7,^/0000001\.fits$
+,,,,,,,,,,1,1,/%sequence8,^/00000001\.fits$
+,,,,,,,,,,1,1,/%s9,^/000000001\.fits$
+,,,,,,,,,,1,123,/%sequence1,^/123\.fits$
+,,,,,,,,,,1,123,/%s2,^/123\.fits$
+,,,,,,,,,,1,123,/%sequence3,^/123\.fits$
+,,,,,,,,,,1,123,/%s4,^/0123\.fits$
+,,,,,,,,,,1,123,/%sequence5,^/00123\.fits$
+,,,,,,,,,,1,123,/%s6,^/000123\.fits$
+,,,,,,,,,,1,123,/%sequence7,^/0000123\.fits$
+,,,,,,,,,,1,123,/%s8,^/00000123\.fits$
+,,,,,,,,,,1,123,/%sequence9,^/000000123\.fits$
+,,,,,,,,,,1,123456,/%s1,^/123456\.fits$
+,,,,,,,,,,1,123456,/%sequence2,^/123456\.fits$
+,,,,,,,,,,1,123456,/%s3,^/123456\.fits$
+,,,,,,,,,,1,123456,/%sequence4,^/123456\.fits$
+,,,,,,,,,,1,123456,/%s5,^/123456\.fits$
+,,,,,,,,,,1,123456,/%sequence6,^/123456\.fits$
+,,,,,,,,,,1,123456,/%s7,^/0123456\.fits$
+,,,,,,,,,,1,123456,/%sequence8,^/00123456\.fits$
+,,,,,,,,,,1,123456,/%s9,^/000123456\.fits$
+,,,,,,,,/nine/eight/seven/six/five/four/three/two/one/test.seq,,1,1,/home/%f_%s3,^/home/test_001\.fits$
+,,,,,,,,/nine/eight/seven/six/five/four/three/two/one/test.seq,,1,1,/home/%filename_%s3,^/home/test_001\.fits$
+,,,,,,,,,M42,0,234,%t-%s5,^/tmp/kstars/M42-00234\.fits$
+,,,,,,,,,M42,1,234,/%target-%s5,^/M42-00234\.fits$
+,,Light,,,,,,,,0,234,%T %s5,^/tmp/kstars/Light 00234\.fits$
+,,Dark,,,,,,,,1,234,/%Type %s5,^/Dark 00234\.fits$
+,,Flat,,,,,,,,0,234,%T %s5,^/tmp/kstars/Flat 00234\.fits$
+,,Bias,,,,,,,,1,234,/%Type %s5,^/Bias 00234\.fits$
+,Red,,,,,,,,,0,6,%F_%s3,^/tmp/kstars/Red_006\.fits$
+,Green,,,,,,,,,1,6,/%Filter_%s3,^/Green_006\.fits$
+,Blue,,,,,,,,,0,6,%F_%s3,^/tmp/kstars/Blue_006\.fits$
+,H_Alpha,,,,,,,,,1,6,/%Filter_%s3,^/H_Alpha_006\.fits$
+,OIII,,,,,,,,,0,6,%F_%s3,^/tmp/kstars/OIII_006\.fits$
+,SI,,,,,,,,,1,6,/%Filter_%s3,^/SI_006\.fits$
+,LPR,,,,,,,,,0,6,%F_%s3,^/tmp/kstars/LPR_006\.fits$
+,Luminance,,,,,,,,,1,6,/%Filter_%s3,^/Luminance_006\.fits$
+1E-05,,,,,,,,,,0,8,%e %s4,^/tmp/kstars/0.000010_secs 0008\.fits$
+0.001,,,,,,,,,,1,8,/%exposure %s4,^/0.001_secs 0008\.fits$
+1,,,,,,,,,,0,8,%e %s4,^/tmp/kstars/1_secs 0008\.fits$
+30,,,,,,,,,,1,8,/%exposure %s4,^/30_secs 0008\.fits$
+300,,,,,,,,,,0,8,%e %s4,^/tmp/kstars/300_secs 0008\.fits$
+,,,,,,,,,,1,3,/%D_%s3,^/\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_003\.fits$
+,,,,,,,,,,0,3,%Datetime_%s3,^/tmp/kstars/\d{4}-\d{2}-\d{2}T\d{2}-\d{2}-\d{2}_003\.fits$
diff --git a/Tests/capture/testSchedulerProcessJobInfo_data.csv b/Tests/capture/testSchedulerProcessJobInfo_data.csv
index 607b9d885..662721b63 100644
--- a/Tests/capture/testSchedulerProcessJobInfo_data.csv
+++ b/Tests/capture/testSchedulerProcessJobInfo_data.csv
@@ -1,394 +1,14 @@
-Exposure,Filter,Type,Prefix,RawPrefix,FilterEnabled,ExpEnabled,FITSDirectory,targetName,signature
-,,,,,,,,,//
-,,,,,,,/bar/toto,,/bar/toto//
-,,Bias,,,,,/bar/toto,,/bar/toto/Bias/Bias
-0.00001,sobel,Bias,prefix,,,1,/bar/toto,,/bar/toto/Bias/Bias_0.000010_secs
-1.00001,sobel,Bias,prefix,,,1,/bar/toto,,/bar/toto/Bias/Bias_1.000_secs
-0.1,sobel,Bias,prefix,,,1,/bar/toto,,/bar/toto/Bias/Bias_0.100_secs
-,sobel,Bias,prefix,,,1,/bar/toto,,/bar/toto/Bias/Bias_0_secs
-1.00,sobel,Bias,prefix,,,1,/bar/toto,,/bar/toto/Bias/Bias_1_secs
-,,Bias,prefix,toto,,,/bar/toto,,/bar/toto/Bias/toto_Bias
-0.00001,,Bias,prefix,toto,,1,/bar/toto,,/bar/toto/Bias/toto_Bias_0.000010_secs
-0.1,,Bias,prefix,toto,,1,/bar/toto,,/bar/toto/Bias/toto_Bias_0.100_secs
-,,Bias,prefix,toto,,1,/bar/toto,,/bar/toto/Bias/toto_Bias_0_secs
-1.00,,Bias,prefix,toto,,1,/bar/toto,,/bar/toto/Bias/toto_Bias_1_secs
-,,Dark,,,,,/bar/toto,,/bar/toto/Dark/Dark
-0.00001,sobel,Dark,prefix,,,1,/bar/toto,,/bar/toto/Dark/Dark_0.000010_secs
-0.1,sobel,Dark,prefix,,,1,/bar/toto,,/bar/toto/Dark/Dark_0.100_secs
-,sobel,Dark,prefix,,,1,/bar/toto,,/bar/toto/Dark/Dark_0_secs
-1.00,sobel,Dark,prefix,,,1,/bar/toto,,/bar/toto/Dark/Dark_1_secs
-,,Dark,prefix,toto,,,/bar/toto,,/bar/toto/Dark/toto_Dark
-0.00001,,Dark,prefix,toto,,1,/bar/toto,,/bar/toto/Dark/toto_Dark_0.000010_secs
-0.1,,Dark,prefix,toto,,1,/bar/toto,,/bar/toto/Dark/toto_Dark_0.100_secs
-,,Dark,prefix,toto,,1,/bar/toto,,/bar/toto/Dark/toto_Dark_0_secs
-1.00,,Dark,prefix,toto,,1,/bar/toto,,/bar/toto/Dark/toto_Dark_1_secs
-,,Flat,,,,,/bar/toto,,/bar/toto/Flat/Flat
-,sobel,Flat,,,,,/bar/toto,,/bar/toto/Flat/sobel/Flat
-0.00001,sobel,Flat,prefix,,,1,/bar/toto,,/bar/toto/Flat/sobel/Flat_0.000010_secs
-0.1,sobel,Flat,prefix,,,1,/bar/toto,,/bar/toto/Flat/sobel/Flat_0.100_secs
-,sobel,Flat,prefix,,,1,/bar/toto,,/bar/toto/Flat/sobel/Flat_0_secs
-1.00,sobel,Flat,prefix,,,1,/bar/toto,,/bar/toto/Flat/sobel/Flat_1_secs
-,sobel,Flat,prefix,,1,,/bar/toto,,/bar/toto/Flat/sobel/Flat_sobel
-0.00001,sobel,Flat,prefix,,1,1,/bar/toto,,/bar/toto/Flat/sobel/Flat_sobel_0.000010_secs
-0.1,sobel,Flat,prefix,,1,1,/bar/toto,,/bar/toto/Flat/sobel/Flat_sobel_0.100_secs
-,sobel,Flat,prefix,,1,1,/bar/toto,,/bar/toto/Flat/sobel/Flat_sobel_0_secs
-1.00,sobel,Flat,prefix,,1,1,/bar/toto,,/bar/toto/Flat/sobel/Flat_sobel_1_secs
-,sobel,Flat,prefix,toto,,,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat
-0.00001,sobel,Flat,prefix,toto,,1,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat_0.000010_secs
-0.1,sobel,Flat,prefix,toto,,1,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat_0.100_secs
-,sobel,Flat,prefix,toto,,1,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat_0_secs
-1.00,sobel,Flat,prefix,toto,,1,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat_1_secs
-,sobel,Flat,prefix,toto,1,,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat_sobel
-0.00001,sobel,Flat,prefix,toto,1,1,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat_sobel_0.000010_secs
-0.1,sobel,Flat,prefix,toto,1,1,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat_sobel_0.100_secs
-,sobel,Flat,prefix,toto,1,1,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat_sobel_0_secs
-1.00,sobel,Flat,prefix,toto,1,1,/bar/toto,,/bar/toto/Flat/sobel/toto_Flat_sobel_1_secs
-,,Flat,prefix,toto,,,/bar/toto,,/bar/toto/Flat/toto_Flat
-0.00001,,Flat,prefix,toto,,1,/bar/toto,,/bar/toto/Flat/toto_Flat_0.000010_secs
-0.1,,Flat,prefix,toto,,1,/bar/toto,,/bar/toto/Flat/toto_Flat_0.100_secs
-,,Flat,prefix,toto,,1,/bar/toto,,/bar/toto/Flat/toto_Flat_0_secs
-1.00,,Flat,prefix,toto,,1,/bar/toto,,/bar/toto/Flat/toto_Flat_1_secs
-,,Bias,,,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias
-0.00001,sobel,Bias,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias_0.000010_secs
-0.1,sobel,Bias,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias_0.100_secs
-,sobel,Bias,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias_0_secs
-1.00,sobel,Bias,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias_1_secs
-,,Bias,prefix,toto,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias
-0.00001,,Bias,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias_0.000010_secs
-0.1,,Bias,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias_0.100_secs
-,,Bias,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias_0_secs
-1.00,,Bias,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias_1_secs
-,,Dark,,,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark
-0.00001,sobel,Dark,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark_0.000010_secs
-0.1,sobel,Dark,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark_0.100_secs
-,sobel,Dark,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark_0_secs
-1.00,sobel,Dark,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark_1_secs
-,,Dark,prefix,toto,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark
-0.00001,,Dark,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark_0.000010_secs
-0.1,,Dark,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark_0.100_secs
-,,Dark,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark_0_secs
-1.00,,Dark,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark_1_secs
-,,Flat,,,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/foo_bar_toto_tata_coco_fofo_Flat
-,sobel,Flat,,,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat
-0.00001,sobel,Flat,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_0.000010_secs
-0.1,sobel,Flat,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_0.100_secs
-,sobel,Flat,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_0_secs
-1.00,sobel,Flat,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_1_secs
-,sobel,Flat,prefix,,1,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel
-0.00001,sobel,Flat,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel_0.000010_secs
-0.1,sobel,Flat,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel_0.100_secs
-,sobel,Flat,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel_0_secs
-1.00,sobel,Flat,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel_1_secs
-,sobel,Flat,prefix,toto,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat
-0.00001,sobel,Flat,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_0.000010_secs
-0.1,sobel,Flat,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_0.100_secs
-,sobel,Flat,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_0_secs
-1.00,sobel,Flat,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_1_secs
-,sobel,Flat,prefix,toto,1,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel
-0.00001,sobel,Flat,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel_0.000010_secs
-0.1,sobel,Flat,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel_0.100_secs
-,sobel,Flat,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel_0_secs
-1.00,sobel,Flat,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel_1_secs
-,,Flat,prefix,toto,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat
-0.00001,,Flat,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat_0.000010_secs
-0.1,,Flat,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat_0.100_secs
-,,Flat,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat_0_secs
-1.00,,Flat,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat_1_secs
-,,,,,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//foo_bar_toto_tata_coco_fofo_
-,,Light,,,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/foo_bar_toto_tata_coco_fofo_Light
-,sobel,Light,,,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light
-0.00001,sobel,Light,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_0.000010_secs
-0.1,sobel,Light,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_0.100_secs
-,sobel,Light,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_0_secs
-1.00,sobel,Light,prefix,,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_1_secs
-,sobel,Light,prefix,,1,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel
-0.00001,sobel,Light,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel_0.000010_secs
-0.1,sobel,Light,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel_0.100_secs
-,sobel,Light,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel_0_secs
-1.00,sobel,Light,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel_1_secs
-,sobel,Light,prefix,toto,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light
-0.00001,sobel,Light,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_0.000010_secs
-0.1,sobel,Light,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_0.100_secs
-,sobel,Light,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_0_secs
-1.00,sobel,Light,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_1_secs
-,sobel,Light,prefix,toto,1,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel
-0.00001,sobel,Light,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel_0.000010_secs
-0.1,sobel,Light,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel_0.100_secs
-,sobel,Light,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel_0_secs
-1.00,sobel,Light,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel_1_secs
-,,Light,prefix,toto,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/toto_Light
-0.00001,,Light,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/toto_Light_0.000010_secs
-0.1,,Light,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/toto_Light_0.100_secs
-,,Light,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/toto_Light_0_secs
-1.00,,Light,prefix,toto,,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo/Light/toto_Light_1_secs
-,sobel,,,,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo_
-0.00001,sobel,,prefix,,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__0.000010_secs
-0.1,sobel,,prefix,,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__0.100_secs
-,sobel,,prefix,,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__0_secs
-1.00,sobel,,prefix,,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__1_secs
-,sobel,,prefix,,1,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel
-0.00001,sobel,,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel_0.000010_secs
-0.1,sobel,,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel_0.100_secs
-,sobel,,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel_0_secs
-1.00,sobel,,prefix,,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel_1_secs
-,sobel,,prefix,toto,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto_
-0.00001,sobel,,prefix,toto,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto__0.000010_secs
-0.1,sobel,,prefix,toto,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto__0.100_secs
-,sobel,,prefix,toto,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto__0_secs
-1.00,sobel,,prefix,toto,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto__1_secs
-,sobel,,prefix,toto,1,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel
-0.00001,sobel,,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel_0.000010_secs
-0.1,sobel,,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel_0.100_secs
-,sobel,,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel_0_secs
-1.00,sobel,,prefix,toto,1,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel_1_secs
-,,,prefix,toto,,,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//toto_
-0.00001,,,prefix,toto,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//toto__0.000010_secs
-0.1,,,prefix,toto,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//toto__0.100_secs
-,,,prefix,toto,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//toto__0_secs
-1.00,,,prefix,toto,0,1,/bar/toto,foo bar/toto(tata):coco*~fofo_,/bar/toto/foo_bar_toto_tata_coco_fofo//toto__1_secs
-,,Light,,,,,/bar/toto,,/bar/toto/Light/Light
-,sobel,Light,,,,,/bar/toto,,/bar/toto/Light/sobel/Light
-0.00001,sobel,Light,prefix,,,1,/bar/toto,,/bar/toto/Light/sobel/Light_0.000010_secs
-0.1,sobel,Light,prefix,,,1,/bar/toto,,/bar/toto/Light/sobel/Light_0.100_secs
-,sobel,Light,prefix,,,1,/bar/toto,,/bar/toto/Light/sobel/Light_0_secs
-1.00,sobel,Light,prefix,,,1,/bar/toto,,/bar/toto/Light/sobel/Light_1_secs
-,sobel,Light,prefix,,1,,/bar/toto,,/bar/toto/Light/sobel/Light_sobel
-0.00001,sobel,Light,prefix,,1,1,/bar/toto,,/bar/toto/Light/sobel/Light_sobel_0.000010_secs
-0.1,sobel,Light,prefix,,1,1,/bar/toto,,/bar/toto/Light/sobel/Light_sobel_0.100_secs
-,sobel,Light,prefix,,1,1,/bar/toto,,/bar/toto/Light/sobel/Light_sobel_0_secs
-1.00,sobel,Light,prefix,,1,1,/bar/toto,,/bar/toto/Light/sobel/Light_sobel_1_secs
-,sobel,Light,prefix,toto,,,/bar/toto,,/bar/toto/Light/sobel/toto_Light
-0.00001,sobel,Light,prefix,toto,,1,/bar/toto,,/bar/toto/Light/sobel/toto_Light_0.000010_secs
-0.1,sobel,Light,prefix,toto,,1,/bar/toto,,/bar/toto/Light/sobel/toto_Light_0.100_secs
-,sobel,Light,prefix,toto,,1,/bar/toto,,/bar/toto/Light/sobel/toto_Light_0_secs
-1.00,sobel,Light,prefix,toto,,1,/bar/toto,,/bar/toto/Light/sobel/toto_Light_1_secs
-,sobel,Light,prefix,toto,1,,/bar/toto,,/bar/toto/Light/sobel/toto_Light_sobel
-0.00001,sobel,Light,prefix,toto,1,1,/bar/toto,,/bar/toto/Light/sobel/toto_Light_sobel_0.000010_secs
-0.1,sobel,Light,prefix,toto,1,1,/bar/toto,,/bar/toto/Light/sobel/toto_Light_sobel_0.100_secs
-,sobel,Light,prefix,toto,1,1,/bar/toto,,/bar/toto/Light/sobel/toto_Light_sobel_0_secs
-1.00,sobel,Light,prefix,toto,1,1,/bar/toto,,/bar/toto/Light/sobel/toto_Light_sobel_1_secs
-,,Light,prefix,toto,,,/bar/toto,,/bar/toto/Light/toto_Light
-0.00001,,Light,prefix,toto,,1,/bar/toto,,/bar/toto/Light/toto_Light_0.000010_secs
-0.1,,Light,prefix,toto,,1,/bar/toto,,/bar/toto/Light/toto_Light_0.100_secs
-,,Light,prefix,toto,,1,/bar/toto,,/bar/toto/Light/toto_Light_0_secs
-1.00,,Light,prefix,toto,,1,/bar/toto,,/bar/toto/Light/toto_Light_1_secs
-,sobel,,,,,,/bar/toto,,/bar/toto//sobel/
-0.00001,sobel,,prefix,,0,1,/bar/toto,,/bar/toto//sobel/_0.000010_secs
-0.1,sobel,,prefix,,0,1,/bar/toto,,/bar/toto//sobel/_0.100_secs
-,sobel,,prefix,,0,1,/bar/toto,,/bar/toto//sobel/_0_secs
-1.00,sobel,,prefix,,0,1,/bar/toto,,/bar/toto//sobel/_1_secs
-,sobel,,prefix,,1,,/bar/toto,,/bar/toto//sobel/_sobel
-0.00001,sobel,,prefix,,1,1,/bar/toto,,/bar/toto//sobel/_sobel_0.000010_secs
-0.1,sobel,,prefix,,1,1,/bar/toto,,/bar/toto//sobel/_sobel_0.100_secs
-,sobel,,prefix,,1,1,/bar/toto,,/bar/toto//sobel/_sobel_0_secs
-1.00,sobel,,prefix,,1,1,/bar/toto,,/bar/toto//sobel/_sobel_1_secs
-,sobel,,prefix,toto,,,/bar/toto,,/bar/toto//sobel/toto_
-0.00001,sobel,,prefix,toto,0,1,/bar/toto,,/bar/toto//sobel/toto__0.000010_secs
-0.1,sobel,,prefix,toto,0,1,/bar/toto,,/bar/toto//sobel/toto__0.100_secs
-,sobel,,prefix,toto,0,1,/bar/toto,,/bar/toto//sobel/toto__0_secs
-1.00,sobel,,prefix,toto,0,1,/bar/toto,,/bar/toto//sobel/toto__1_secs
-,sobel,,prefix,toto,1,,/bar/toto,,/bar/toto//sobel/toto__sobel
-0.00001,sobel,,prefix,toto,1,1,/bar/toto,,/bar/toto//sobel/toto__sobel_0.000010_secs
-0.1,sobel,,prefix,toto,1,1,/bar/toto,,/bar/toto//sobel/toto__sobel_0.100_secs
-,sobel,,prefix,toto,1,1,/bar/toto,,/bar/toto//sobel/toto__sobel_0_secs
-1.00,sobel,,prefix,toto,1,1,/bar/toto,,/bar/toto//sobel/toto__sobel_1_secs
-,,,prefix,toto,,,/bar/toto,,/bar/toto//toto_
-0.00001,,,prefix,toto,0,1,/bar/toto,,/bar/toto//toto__0.000010_secs
-0.1,,,prefix,toto,0,1,/bar/toto,,/bar/toto//toto__0.100_secs
-,,,prefix,toto,0,1,/bar/toto,,/bar/toto//toto__0_secs
-1.00,,,prefix,toto,0,1,/bar/toto,,/bar/toto//toto__1_secs
-,,Bias,,,,,,,/Bias/Bias
-0.00001,sobel,Bias,prefix,,,1,,,/Bias/Bias_0.000010_secs
-0.1,sobel,Bias,prefix,,,1,,,/Bias/Bias_0.100_secs
-,sobel,Bias,prefix,,,1,,,/Bias/Bias_0_secs
-1.00,sobel,Bias,prefix,,,1,,,/Bias/Bias_1_secs
-,,Bias,prefix,toto,,,,,/Bias/toto_Bias
-0.00001,,Bias,prefix,toto,,1,,,/Bias/toto_Bias_0.000010_secs
-0.1,,Bias,prefix,toto,,1,,,/Bias/toto_Bias_0.100_secs
-,,Bias,prefix,toto,,1,,,/Bias/toto_Bias_0_secs
-1.00,,Bias,prefix,toto,,1,,,/Bias/toto_Bias_1_secs
-,,Dark,,,,,,,/Dark/Dark
-0.00001,sobel,Dark,prefix,,,1,,,/Dark/Dark_0.000010_secs
-0.1,sobel,Dark,prefix,,,1,,,/Dark/Dark_0.100_secs
-,sobel,Dark,prefix,,,1,,,/Dark/Dark_0_secs
-1.00,sobel,Dark,prefix,,,1,,,/Dark/Dark_1_secs
-,,Dark,prefix,toto,,,,,/Dark/toto_Dark
-0.00001,,Dark,prefix,toto,,1,,,/Dark/toto_Dark_0.000010_secs
-0.1,,Dark,prefix,toto,,1,,,/Dark/toto_Dark_0.100_secs
-,,Dark,prefix,toto,,1,,,/Dark/toto_Dark_0_secs
-1.00,,Dark,prefix,toto,,1,,,/Dark/toto_Dark_1_secs
-,,Flat,,,,,,,/Flat/Flat
-,sobel,Flat,,,,,,,/Flat/sobel/Flat
-0.00001,sobel,Flat,prefix,,,1,,,/Flat/sobel/Flat_0.000010_secs
-0.1,sobel,Flat,prefix,,,1,,,/Flat/sobel/Flat_0.100_secs
-,sobel,Flat,prefix,,,1,,,/Flat/sobel/Flat_0_secs
-1.00,sobel,Flat,prefix,,,1,,,/Flat/sobel/Flat_1_secs
-,sobel,Flat,prefix,,1,,,,/Flat/sobel/Flat_sobel
-0.00001,sobel,Flat,prefix,,1,1,,,/Flat/sobel/Flat_sobel_0.000010_secs
-0.1,sobel,Flat,prefix,,1,1,,,/Flat/sobel/Flat_sobel_0.100_secs
-,sobel,Flat,prefix,,1,1,,,/Flat/sobel/Flat_sobel_0_secs
-1.00,sobel,Flat,prefix,,1,1,,,/Flat/sobel/Flat_sobel_1_secs
-,sobel,Flat,prefix,toto,,,,,/Flat/sobel/toto_Flat
-0.00001,sobel,Flat,prefix,toto,,1,,,/Flat/sobel/toto_Flat_0.000010_secs
-0.1,sobel,Flat,prefix,toto,,1,,,/Flat/sobel/toto_Flat_0.100_secs
-,sobel,Flat,prefix,toto,,1,,,/Flat/sobel/toto_Flat_0_secs
-1.00,sobel,Flat,prefix,toto,,1,,,/Flat/sobel/toto_Flat_1_secs
-,sobel,Flat,prefix,toto,1,,,,/Flat/sobel/toto_Flat_sobel
-0.00001,sobel,Flat,prefix,toto,1,1,,,/Flat/sobel/toto_Flat_sobel_0.000010_secs
-0.1,sobel,Flat,prefix,toto,1,1,,,/Flat/sobel/toto_Flat_sobel_0.100_secs
-,sobel,Flat,prefix,toto,1,1,,,/Flat/sobel/toto_Flat_sobel_0_secs
-1.00,sobel,Flat,prefix,toto,1,1,,,/Flat/sobel/toto_Flat_sobel_1_secs
-,,Flat,prefix,toto,,,,,/Flat/toto_Flat
-0.00001,,Flat,prefix,toto,,1,,,/Flat/toto_Flat_0.000010_secs
-0.1,,Flat,prefix,toto,,1,,,/Flat/toto_Flat_0.100_secs
-,,Flat,prefix,toto,,1,,,/Flat/toto_Flat_0_secs
-1.00,,Flat,prefix,toto,,1,,,/Flat/toto_Flat_1_secs
-,,Bias,,,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias
-0.00001,sobel,Bias,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias_0.000010_secs
-0.1,sobel,Bias,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias_0.100_secs
-,sobel,Bias,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias_0_secs
-1.00,sobel,Bias,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/foo_bar_toto_tata_coco_fofo_Bias_1_secs
-,,Bias,prefix,toto,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias
-0.00001,,Bias,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias_0.000010_secs
-0.1,,Bias,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias_0.100_secs
-,,Bias,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias_0_secs
-1.00,,Bias,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Bias/toto_Bias_1_secs
-,,Dark,,,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark
-0.00001,sobel,Dark,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark_0.000010_secs
-0.1,sobel,Dark,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark_0.100_secs
-,sobel,Dark,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark_0_secs
-1.00,sobel,Dark,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/foo_bar_toto_tata_coco_fofo_Dark_1_secs
-,,Dark,prefix,toto,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark
-0.00001,,Dark,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark_0.000010_secs
-0.1,,Dark,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark_0.100_secs
-,,Dark,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark_0_secs
-1.00,,Dark,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Dark/toto_Dark_1_secs
-,,Flat,,,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/foo_bar_toto_tata_coco_fofo_Flat
-,sobel,Flat,,,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat
-0.00001,sobel,Flat,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_0.000010_secs
-0.1,sobel,Flat,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_0.100_secs
-,sobel,Flat,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_0_secs
-1.00,sobel,Flat,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_1_secs
-,sobel,Flat,prefix,,1,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel
-0.00001,sobel,Flat,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel_0.000010_secs
-0.1,sobel,Flat,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel_0.100_secs
-,sobel,Flat,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel_0_secs
-1.00,sobel,Flat,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/foo_bar_toto_tata_coco_fofo_Flat_sobel_1_secs
-,sobel,Flat,prefix,toto,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat
-0.00001,sobel,Flat,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_0.000010_secs
-0.1,sobel,Flat,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_0.100_secs
-,sobel,Flat,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_0_secs
-1.00,sobel,Flat,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_1_secs
-,sobel,Flat,prefix,toto,1,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel
-0.00001,sobel,Flat,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel_0.000010_secs
-0.1,sobel,Flat,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel_0.100_secs
-,sobel,Flat,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel_0_secs
-1.00,sobel,Flat,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/sobel/toto_Flat_sobel_1_secs
-,,Flat,prefix,toto,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat
-0.00001,,Flat,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat_0.000010_secs
-0.1,,Flat,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat_0.100_secs
-,,Flat,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat_0_secs
-1.00,,Flat,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Flat/toto_Flat_1_secs
-,,,,,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//foo_bar_toto_tata_coco_fofo_
-,,Light,,,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/foo_bar_toto_tata_coco_fofo_Light
-,sobel,Light,,,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light
-0.00001,sobel,Light,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_0.000010_secs
-0.1,sobel,Light,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_0.100_secs
-,sobel,Light,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_0_secs
-1.00,sobel,Light,prefix,,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_1_secs
-,sobel,Light,prefix,,1,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel
-0.00001,sobel,Light,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel_0.000010_secs
-0.1,sobel,Light,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel_0.100_secs
-,sobel,Light,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel_0_secs
-1.00,sobel,Light,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/foo_bar_toto_tata_coco_fofo_Light_sobel_1_secs
-,sobel,Light,prefix,toto,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light
-0.00001,sobel,Light,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_0.000010_secs
-0.1,sobel,Light,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_0.100_secs
-,sobel,Light,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_0_secs
-1.00,sobel,Light,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_1_secs
-,sobel,Light,prefix,toto,1,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel
-0.00001,sobel,Light,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel_0.000010_secs
-0.1,sobel,Light,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel_0.100_secs
-,sobel,Light,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel_0_secs
-1.00,sobel,Light,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/sobel/toto_Light_sobel_1_secs
-,,Light,prefix,toto,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/toto_Light
-0.00001,,Light,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/toto_Light_0.000010_secs
-0.1,,Light,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/toto_Light_0.100_secs
-,,Light,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/toto_Light_0_secs
-1.00,,Light,prefix,toto,,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo/Light/toto_Light_1_secs
-,sobel,,,,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo_
-0.00001,sobel,,prefix,,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__0.000010_secs
-0.1,sobel,,prefix,,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__0.100_secs
-,sobel,,prefix,,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__0_secs
-1.00,sobel,,prefix,,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__1_secs
-,sobel,,prefix,,1,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel
-0.00001,sobel,,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel_0.000010_secs
-0.1,sobel,,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel_0.100_secs
-,sobel,,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel_0_secs
-1.00,sobel,,prefix,,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/foo_bar_toto_tata_coco_fofo__sobel_1_secs
-,sobel,,prefix,toto,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto_
-0.00001,sobel,,prefix,toto,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto__0.000010_secs
-0.1,sobel,,prefix,toto,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto__0.100_secs
-,sobel,,prefix,toto,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto__0_secs
-1.00,sobel,,prefix,toto,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto__1_secs
-,sobel,,prefix,toto,1,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel
-0.00001,sobel,,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel_0.000010_secs
-0.1,sobel,,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel_0.100_secs
-,sobel,,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel_0_secs
-1.00,sobel,,prefix,toto,1,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//sobel/toto__sobel_1_secs
-,,,prefix,toto,,,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//toto_
-0.00001,,,prefix,toto,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//toto__0.000010_secs
-0.1,,,prefix,toto,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//toto__0.100_secs
-,,,prefix,toto,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//toto__0_secs
-1.00,,,prefix,toto,0,1,,foo bar/toto(tata):coco*~fofo_,/foo_bar_toto_tata_coco_fofo//toto__1_secs
-,,Light,,,,,,,/Light/Light
-,sobel,Light,,,,,,,/Light/sobel/Light
-0.00001,sobel,Light,prefix,,,1,,,/Light/sobel/Light_0.000010_secs
-0.1,sobel,Light,prefix,,,1,,,/Light/sobel/Light_0.100_secs
-,sobel,Light,prefix,,,1,,,/Light/sobel/Light_0_secs
-1.00,sobel,Light,prefix,,,1,,,/Light/sobel/Light_1_secs
-,sobel,Light,prefix,,1,,,,/Light/sobel/Light_sobel
-0.00001,sobel,Light,prefix,,1,1,,,/Light/sobel/Light_sobel_0.000010_secs
-0.1,sobel,Light,prefix,,1,1,,,/Light/sobel/Light_sobel_0.100_secs
-,sobel,Light,prefix,,1,1,,,/Light/sobel/Light_sobel_0_secs
-1.00,sobel,Light,prefix,,1,1,,,/Light/sobel/Light_sobel_1_secs
-,sobel,Light,prefix,toto,,,,,/Light/sobel/toto_Light
-0.00001,sobel,Light,prefix,toto,,1,,,/Light/sobel/toto_Light_0.000010_secs
-0.1,sobel,Light,prefix,toto,,1,,,/Light/sobel/toto_Light_0.100_secs
-,sobel,Light,prefix,toto,,1,,,/Light/sobel/toto_Light_0_secs
-1.00,sobel,Light,prefix,toto,,1,,,/Light/sobel/toto_Light_1_secs
-,sobel,Light,prefix,toto,1,,,,/Light/sobel/toto_Light_sobel
-0.00001,sobel,Light,prefix,toto,1,1,,,/Light/sobel/toto_Light_sobel_0.000010_secs
-0.1,sobel,Light,prefix,toto,1,1,,,/Light/sobel/toto_Light_sobel_0.100_secs
-,sobel,Light,prefix,toto,1,1,,,/Light/sobel/toto_Light_sobel_0_secs
-1.00,sobel,Light,prefix,toto,1,1,,,/Light/sobel/toto_Light_sobel_1_secs
-,,Light,prefix,toto,,,,,/Light/toto_Light
-0.00001,,Light,prefix,toto,,1,,,/Light/toto_Light_0.000010_secs
-0.1,,Light,prefix,toto,,1,,,/Light/toto_Light_0.100_secs
-,,Light,prefix,toto,,1,,,/Light/toto_Light_0_secs
-1.00,,Light,prefix,toto,,1,,,/Light/toto_Light_1_secs
-,sobel,,,,,,,,//sobel/
-0.00001,sobel,,prefix,,0,1,,,//sobel/_0.000010_secs
-0.1,sobel,,prefix,,0,1,,,//sobel/_0.100_secs
-,sobel,,prefix,,0,1,,,//sobel/_0_secs
-1.00,sobel,,prefix,,0,1,,,//sobel/_1_secs
-,sobel,,prefix,,1,,,,//sobel/_sobel
-0.00001,sobel,,prefix,,1,1,,,//sobel/_sobel_0.000010_secs
-0.1,sobel,,prefix,,1,1,,,//sobel/_sobel_0.100_secs
-,sobel,,prefix,,1,1,,,//sobel/_sobel_0_secs
-1.00,sobel,,prefix,,1,1,,,//sobel/_sobel_1_secs
-,sobel,,prefix,toto,,,,,//sobel/toto_
-0.00001,sobel,,prefix,toto,0,1,,,//sobel/toto__0.000010_secs
-0.1,sobel,,prefix,toto,0,1,,,//sobel/toto__0.100_secs
-,sobel,,prefix,toto,0,1,,,//sobel/toto__0_secs
-1.00,sobel,,prefix,toto,0,1,,,//sobel/toto__1_secs
-,sobel,,prefix,toto,1,,,,//sobel/toto__sobel
-0.00001,sobel,,prefix,toto,1,1,,,//sobel/toto__sobel_0.000010_secs
-0.1,sobel,,prefix,toto,1,1,,,//sobel/toto__sobel_0.100_secs
-,sobel,,prefix,toto,1,1,,,//sobel/toto__sobel_0_secs
-1.00,sobel,,prefix,toto,1,1,,,//sobel/toto__sobel_1_secs
-,,,prefix,toto,,,,,//toto_
-0.00001,,,prefix,toto,0,1,,,//toto__0.000010_secs
-0.1,,,prefix,toto,0,1,,,//toto__0.100_secs
-,,,prefix,toto,0,1,,,//toto__0_secs
-1.00,,,prefix,toto,0,1,,,//toto__1_secs
+Exposure,Filter,Type,Prefix,RawPrefix,FilterEnabled,ExpEnabled,Format,targetName,signature
+,,,,,,,/home/pi_%s3,,/home/pi
+,,,,,,,/home/pi/ABC_%s3,,/home/pi/ABC
+,,Bias,,,,,/home/pi_%s3,,/home/pi
+,,Bias,,,,,/home/pi/%T_%s3,,/home/pi/Bias
+,,Bias,,,,,/home/pi/%T/%s4,,/home/pi/Bias/0001
+,H_Alpha,Light,,,,,/home/pi/%T/%F_%s3,,/home/pi/Light/H_Alpha
+,H_Alpha,Light,,,,,/home/pi/%t/%T/%F_%s3,M42,/home/pi/M42/Light/H_Alpha
+,H_Alpha,Light,,,,,/home/pi/%T/%T_%s6,,/home/pi/Light/Light
+1,,,,,,,/home/pi/%T/%t%e_%s3,,/home/pi/1_secs
+10,,Light,,,,,/home/pi/%T/%t%e_%s3,,/home/pi/Light/10_secs
+20,H_Alpha,Light,,,,,/home/pi/%T/%t_%e_%s3,M42,/home/pi/Light/M42_20_secs
+1,H_Alpha,Flat,,,,,/home/pi/New %target/%Type/%Filter/%T_%exposure_%S3,M42,/home/pi/New M42/Flat/H_Alpha/Flat_1_secs
+,,Light,,,,,/home/pi/%T/%Type_%Datetime_%S3,,/home/pi/Light/Light_\d\d\d\d-\d\d-\d\dT\d\d-\d\d-\d\d
diff --git a/Tests/capture/test_placeholderpath.cpp b/Tests/capture/test_placeholderpath.cpp
index 051fb1a10..2099494db 100644
--- a/Tests/capture/test_placeholderpath.cpp
+++ b/Tests/capture/test_placeholderpath.cpp
@@ -21,6 +21,11 @@ TestPlaceholderPath::TestPlaceholderPath() : QObject()
 {
 }
 
+void TestPlaceholderPath::initTestCase()
+{
+    QDir("/tmp").mkdir("kstars");
+}
+
 TestPlaceholderPath::~TestPlaceholderPath()
 {
 }
@@ -134,8 +139,6 @@ XMLEle* buildXML(
         editXMLEle(ep, FITSDirectory.toStdString().c_str());
     }
 
-    //prXMLEle(stdout, root, 0);
-
     return root;
 }
 
@@ -153,7 +156,7 @@ void TestPlaceholderPath::testSchedulerProcessJobInfo_data()
         "RawPrefix",
         "FilterEnabled",
         "ExpEnabled",
-        "FITSDirectory",
+        "Format",
         "targetName",
         "signature",
     };
@@ -178,12 +181,7 @@ void TestPlaceholderPath::testSchedulerProcessJobInfo()
     QFETCH(QString, RawPrefix);
     QFETCH(QString, FilterEnabled);
     QFETCH(QString, ExpEnabled);
-    QFETCH(QString, FITSDirectory);
-    /*
-     * replace \s / ( ) : * ~ " characters by _
-     * Remove any two or more __ by _
-     * Remove any _ at the end
-     */
+    QFETCH(QString, Format);
     QFETCH(QString, targetName);
     QFETCH(QString, signature);
 
@@ -196,10 +194,9 @@ void TestPlaceholderPath::testSchedulerProcessJobInfo()
                        FilterEnabled,
                        ExpEnabled,
                        "",
-                       FITSDirectory);
+                       Format);
 
     Ekos::SequenceJob job(root);
-    QCOMPARE(job.getCoreProperty(SequenceJob::SJ_Filter).toString(), Filter);
     auto placeholderPath = Ekos::PlaceholderPath();
     placeholderPath.processJobInfo(&job, targetName);
 
@@ -209,349 +206,224 @@ void TestPlaceholderPath::testSchedulerProcessJobInfo()
 #endif
 }
 
-void TestPlaceholderPath::testCaptureAddJob_data()
-{
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-    const QList<const char*> columns =
-    {
-        "Exposure",
-        "Filter",
-        "Type",
-        "Prefix",
-        "RawPrefix",
-        "FilterEnabled",
-        "ExpEnabled",
-        "FITSDirectory",
-        "targetName",
-        "signature",
-    };
-    for (const auto &column : columns)
-    {
-        QTest::addColumn<QString>(column);
-    }
-    parseCSV("testSchedulerProcessJobInfo_data.csv", columns);
-#endif
-}
-
-void TestPlaceholderPath::testCaptureAddJob()
-{
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-    QFETCH(QString, Exposure);
-    QFETCH(QString, Filter);
-    QFETCH(QString, Type);
-    QFETCH(QString, Prefix);
-    QFETCH(QString, RawPrefix);
-    QFETCH(QString, FilterEnabled);
-    QFETCH(QString, ExpEnabled);
-    QFETCH(QString, FITSDirectory);
-    /*
-     * replace \s / ( ) : * ~ " characters by _
-     * Remove any two or more __ by _
-     * Remove any _ at the end
-     */
-    QFETCH(QString, targetName);
-    QFETCH(QString, signature);
-
-    XMLEle *root = buildXML(
-                       Exposure,
-                       Filter,
-                       Type,
-                       Prefix,
-                       RawPrefix,
-                       FilterEnabled,
-                       ExpEnabled,
-                       "",
-                       FITSDirectory);
-
-    // for addJob, targetName should already be sanitized
-    // taken from scheduler.cpp:2491-2495
-    targetName = targetName.replace( QRegularExpression("\\s|/|\\(|\\)|:|\\*|~|\"" ), "_" )
-                 // Remove any two or more __
-                 .replace( QRegularExpression("_{2,}"), "_")
-                 // Remove any _ at the end
-                 .replace( QRegularExpression("_$"), "");
-    Ekos::SequenceJob job(root);
-    QCOMPARE(job.getCoreProperty(SequenceJob::SJ_Filter).toString(), Filter);
-    auto placeholderPath = Ekos::PlaceholderPath();
-    placeholderPath.addJob(&job, targetName);
-
-    QCOMPARE(job.getSignature(), signature);
-
-    delXMLEle(root);
-#endif
-}
-
-void TestPlaceholderPath::testCCDGenerateFilename_data()
-{
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-    QTest::addColumn<QString>("format");
-    QTest::addColumn<bool>("batch_mode");
-    QTest::addColumn<QString>("fitsDir");
-    QTest::addColumn<QString>("seqPrefix");
-    QTest::addColumn<int>("nextSequenceID");
-    QTest::addColumn<QString>("desiredFilename");
-
-    // format
-    QTest::addRow("0")  << ""      << false << ""    << ""            << 0 << "/.+/kstars/000";
-    QTest::addRow("1")  << ""      << false << ""    << ""            << 1 << "/.+/kstars/001";
-    QTest::addRow("2")  << ""      << false << ""    << "_ISO8601"    << 0 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000";
-    QTest::addRow("3")  << ""      << false << ""    << "_ISO8601"    << 1 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001";
-    QTest::addRow("4")  << ""      << false << ""    << "_ISO8601bar" << 0 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000";
-    QTest::addRow("5")  << ""      << false << ""    << "_ISO8601bar" << 1 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001";
-    QTest::addRow("6")  << ""      << false << ""    << "bar"         << 0 << "/.+/kstars/bar_000";
-    QTest::addRow("7")  << ""      << false << ""    << "bar"         << 1 << "/.+/kstars/bar_001";
-    QTest::addRow("8")  << ""      << false << "foo" << ""            << 0 << "/.+/kstars/000";
-    QTest::addRow("9")  << ""      << false << "foo" << ""            << 1 << "/.+/kstars/001";
-    QTest::addRow("10") << ""      << false << "foo" << "_ISO8601"    << 0 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000";
-    QTest::addRow("11") << ""      << false << "foo" << "_ISO8601"    << 1 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001";
-    QTest::addRow("12") << ""      << false << "foo" << "_ISO8601bar" << 0 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000";
-    QTest::addRow("13") << ""      << false << "foo" << "_ISO8601bar" << 1 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001";
-    QTest::addRow("14") << ""      << false << "foo" << "bar"         << 0 << "/.+/kstars/bar_000";
-    QTest::addRow("15") << ""      << false << "foo" << "bar"         << 1 << "/.+/kstars/bar_001";
-    QTest::addRow("16") << ""      << true  << ""    << ""            << 0 << "/.+/000";
-    QTest::addRow("17") << ""      << true  << ""    << ""            << 1 << "/.+/001";
-    QTest::addRow("18") << ""      << true  << ""    << "_ISO8601"    << 0 <<
-                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000";
-    QTest::addRow("19") << ""      << true  << ""    << "_ISO8601"    << 1 <<
-                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001";
-    QTest::addRow("20") << ""      << true  << ""    << "_ISO8601bar" << 0 <<
-                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000";
-    QTest::addRow("21") << ""      << true  << ""    << "_ISO8601bar" << 1 <<
-                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001";
-    QTest::addRow("22") << ""      << true  << ""    << "bar"         << 0 << "/.+/bar_000";
-    QTest::addRow("23") << ""      << true  << ""    << "bar"         << 1 << "/.+/bar_001";
-    QTest::addRow("24") << ""      << true  << "foo" << ""            << 0 << "foo/000";
-    QTest::addRow("25") << ""      << true  << "foo" << ""            << 1 << "foo/001";
-    QTest::addRow("26") << ""      << true  << "foo" << "_ISO8601"    << 0 <<
-                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000";
-    QTest::addRow("27") << ""      << true  << "foo" << "_ISO8601"    << 1 <<
-                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001";
-    QTest::addRow("28") << ""      << true  << "foo" << "_ISO8601bar" << 0 <<
-                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000";
-    QTest::addRow("29") << ""      << true  << "foo" << "_ISO8601bar" << 1 <<
-                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001";
-    QTest::addRow("30") << ""      << true  << "foo" << "bar"         << 0 << "foo/bar_000";
-    QTest::addRow("31") << ""      << true  << "foo" << "bar"         << 1 << "foo/bar_001";
-    QTest::addRow("32") << ".fits" << false << ""    << ""            << 0 << "/.+/kstars/000.fits";
-    QTest::addRow("33") << ".fits" << false << ""    << ""            << 1 << "/.+/kstars/001.fits";
-    QTest::addRow("34") << ".fits" << false << ""    << "_ISO8601"    << 0 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000.fits";
-    QTest::addRow("35") << ".fits" << false << ""    << "_ISO8601"    << 1 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001.fits";
-    QTest::addRow("36") << ".fits" << false << ""    << "_ISO8601bar" << 0 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000.fits";
-    QTest::addRow("37") << ".fits" << false << ""    << "_ISO8601bar" << 1 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001.fits";
-    QTest::addRow("38") << ".fits" << false << ""    << "bar"         << 0 << "/.+/kstars/bar_000.fits";
-    QTest::addRow("39") << ".fits" << false << ""    << "bar"         << 1 << "/.+/kstars/bar_001.fits";
-    QTest::addRow("40") << ".fits" << false << "foo" << ""            << 0 << "/.+/kstars/000.fits";
-    QTest::addRow("41") << ".fits" << false << "foo" << ""            << 1 << "/.+/kstars/001.fits";
-    QTest::addRow("42") << ".fits" << false << "foo" << "_ISO8601"    << 0 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000.fits";
-    QTest::addRow("43") << ".fits" << false << "foo" << "_ISO8601"    << 1 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001.fits";
-    QTest::addRow("44") << ".fits" << false << "foo" << "_ISO8601bar" << 0 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000.fits";
-    QTest::addRow("45") << ".fits" << false << "foo" << "_ISO8601bar" << 1 <<
-                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001.fits";
-    QTest::addRow("46") << ".fits" << false << "foo" << "bar"         << 0 << "/.+/kstars/bar_000.fits";
-    QTest::addRow("47") << ".fits" << false << "foo" << "bar"         << 1 << "/.+/kstars/bar_001.fits";
-    QTest::addRow("48") << ".fits" << true  << ""    << ""            << 0 << "/.+/000.fits";
-    QTest::addRow("49") << ".fits" << true  << ""    << ""            << 1 << "/.+/001.fits";
-    QTest::addRow("50") << ".fits" << true  << ""    << "_ISO8601"    << 0 <<
-                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000.fits";
-    QTest::addRow("51") << ".fits" << true  << ""    << "_ISO8601"    << 1 <<
-                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001.fits";
-    QTest::addRow("52") << ".fits" << true  << ""    << "_ISO8601bar" << 0 <<
-                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000.fits";
-    QTest::addRow("53") << ".fits" << true  << ""    << "_ISO8601bar" << 1 <<
-                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001.fits";
-    QTest::addRow("54") << ".fits" << true  << ""    << "bar"         << 0 << "/.+/bar_000.fits";
-    QTest::addRow("55") << ".fits" << true  << ""    << "bar"         << 1 << "/.+/bar_001.fits";
-    QTest::addRow("56") << ".fits" << true  << "foo" << ""            << 0 << "foo/000.fits";
-    QTest::addRow("57") << ".fits" << true  << "foo" << ""            << 1 << "foo/001.fits";
-    QTest::addRow("58") << ".fits" << true  << "foo" << "_ISO8601"    << 0 <<
-                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000.fits";
-    QTest::addRow("59") << ".fits" << true  << "foo" << "_ISO8601"    << 1 <<
-                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001.fits";
-    QTest::addRow("60") << ".fits" << true  << "foo" << "_ISO8601bar" << 0 <<
-                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000.fits";
-    QTest::addRow("61") << ".fits" << true  << "foo" << "_ISO8601bar" << 1 <<
-                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001.fits";
-    QTest::addRow("62") << ".fits" << true  << "foo" << "bar"         << 0 << "foo/bar_000.fits";
-    QTest::addRow("63") << ".fits" << true  << "foo" << "bar"         << 1 << "foo/bar_001.fits";
-#endif
-}
-
-void TestPlaceholderPath::testCCDGenerateFilename()
-{
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-    QFETCH(QString, format);
-    QFETCH(bool, batch_mode);
-    QFETCH(QString, fitsDir);
-    QFETCH(QString, seqPrefix);
-    QFETCH(int, nextSequenceID);
-    QFETCH(QString, desiredFilename);
-
-    QString filename;
-    auto placeholderPath = Ekos::PlaceholderPath();
-    placeholderPath.generateFilenameOld(format, batch_mode, &filename, fitsDir, seqPrefix, nextSequenceID);
-
-    QVERIFY(QRegularExpression(desiredFilename).match(filename).hasMatch());
-#endif
-}
-
-void TestPlaceholderPath::testSequenceJobSignature_data()
-{
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-    QTest::addColumn<QString>("localDir");
-    QTest::addColumn<QString>("directoryPostfix");
-    QTest::addColumn<QString>("fullPrefix");
-    QTest::addColumn<QString>("signature");
-
-    QTest::addRow("empty")                                << ""     << ""    << ""     << "/";
-    QTest::addRow("localDir")                             << "/foo" << ""    << ""     << "/foo/";
-    QTest::addRow("directoryPostfix")                     << ""     << "bar" << ""     << "bar/";
-    QTest::addRow("fullPrefix")                           << ""     << ""    << "toto" << "/toto";
-    QTest::addRow("localDir+directoryPostfix")            << "/foo" << "bar" << ""     << "/foobar/";
-    QTest::addRow("directoryPostfix+fullPrefix")          << ""     << "bar" << "toto" << "bar/toto";
-    QTest::addRow("localDir+fullPrefix")                  << "/foo" << ""    << "toto" << "/foo/toto";
-    QTest::addRow("localDir+directoryPostfix+fullPrefix") << "/foo" << "bar" << "toto" << "/foobar/toto";
-#endif
-}
-
-Q_DECLARE_METATYPE(CCDFrameType)
-
-void TestPlaceholderPath::testSequenceJobSignature()
-{
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-    QFETCH(QString, localDir);
-    QFETCH(QString, directoryPostfix);
-    QFETCH(QString, fullPrefix);
-    QFETCH(QString, signature);
-
-    QSharedPointer<Ekos::CaptureModuleState> captureModuleState;
-    captureModuleState.reset(new Ekos::CaptureModuleState());
-    QSharedPointer<Ekos::CaptureDeviceAdaptor> cda;
-    cda.reset(new Ekos::CaptureDeviceAdaptor(captureModuleState));
-    auto job = new Ekos::SequenceJob(cda, captureModuleState);
-    job->setCoreProperty(SequenceJob::SJ_LocalDirectory, localDir);
-    job->setCoreProperty(SequenceJob::SJ_DirectoryPostfix, directoryPostfix);
-    job->setCoreProperty(SequenceJob::SJ_FullPrefix, fullPrefix);
-
-    QCOMPARE(job->getSignature(), signature);
-
-    delete job;
-#endif
-}
-
-void TestPlaceholderPath::testFullNamingSequence_data()
-{
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-    const QList<const char*> columns =
-    {
-        "Exposure",
-        "Filter",
-        "Type",
-        "Prefix",
-        "RawPrefix",
-        "FilterEnabled",
-        "ExpEnabled",
-        "TimeStampEnabled",
-        "FITSDirectory",
-        "targetName",
-        "batch_mode",
-        "nextSequenceID",
-        "result",
-    };
-    for (const auto &column : columns)
-    {
-        QTest::addColumn<QString>(column);
-    }
-    parseCSV("testFullNamingSequence_data_small.csv", columns);
-#endif
-}
-
-void TestPlaceholderPath::testFullNamingSequence()
-{
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-
-    QFETCH(QString, Exposure);
-    QFETCH(QString, Filter);
-    QFETCH(QString, Type);
-    QFETCH(QString, Prefix);
-    QFETCH(QString, RawPrefix);
-    QFETCH(QString, FilterEnabled);
-    QFETCH(QString, ExpEnabled);
-    QFETCH(QString, TimeStampEnabled);
-    QFETCH(QString, FITSDirectory);
-    QFETCH(QString, targetName);
-    QFETCH(QString, batch_mode);
-    QFETCH(QString, nextSequenceID);
-    QFETCH(QString, result);
-
-    XMLEle *root = buildXML(
-                       Exposure,
-                       Filter,
-                       Type,
-                       Prefix,
-                       RawPrefix,
-                       FilterEnabled,
-                       ExpEnabled,
-                       TimeStampEnabled,
-                       FITSDirectory);
-
-    Ekos::SequenceJob job(root);
-    auto placeholderPath = Ekos::PlaceholderPath();
-    // for addJob, targetName should already be sanitized
-    // taken from scheduler.cpp:2491-2495
-    targetName = targetName.replace( QRegularExpression("\\s|/|\\(|\\)|:|\\*|~|\"" ), "_" )
-                 // Remove any two or more __
-                 .replace( QRegularExpression("_{2,}"), "_")
-                 // Remove any _ at the end
-                 .replace( QRegularExpression("_$"), "");
-    placeholderPath.addJob(&job, targetName);
-    QString fitsDir, filename;
-    // from sequencejob.cpp:302-303
-    auto localDir = job.getCoreProperty(SequenceJob::SJ_LocalDirectory).toString();
-    if (localDir.isEmpty() == false)
-        fitsDir = localDir + job.getCoreProperty(SequenceJob::SJ_DirectoryPostfix).toString();
-    placeholderPath.generateFilenameOld(".fits",
-                                        bool(batch_mode.toInt()),
-                                        &filename,
-                                        fitsDir,
-                                        job.getCoreProperty(SequenceJob::SJ_FullPrefix).toString(),
-                                        nextSequenceID.toInt());
-    //QCOMPARE(filename, result);
-    QVERIFY2(QRegularExpression(result).match(filename).hasMatch(),
-             QString("\nExpected: %1\nObtained: %2\n").arg(result, filename).toStdString().c_str());
-
-#endif
-}
+//void TestPlaceholderPath::testCCDGenerateFilename_data()
+//{
+//#if QT_VERSION < 0x050900
+//    QSKIP("Skipping fixture-based test on old QT version.");
+//#else
+//    QTest::addColumn<QString>("format");
+//    QTest::addColumn<bool>("batch_mode");
+//    QTest::addColumn<QString>("fitsDir");
+//    QTest::addColumn<QString>("seqPrefix");
+//    QTest::addColumn<int>("nextSequenceID");
+//    QTest::addColumn<QString>("desiredFilename");
+//
+//    // format
+//    QTest::addRow("0")  << ""      << false << ""    << ""            << 0 << "/.+/kstars/000";
+//    QTest::addRow("1")  << ""      << false << ""    << ""            << 1 << "/.+/kstars/001";
+//    QTest::addRow("2")  << ""      << false << ""    << "_ISO8601"    << 0 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000";
+//    QTest::addRow("3")  << ""      << false << ""    << "_ISO8601"    << 1 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001";
+//    QTest::addRow("4")  << ""      << false << ""    << "_ISO8601bar" << 0 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000";
+//    QTest::addRow("5")  << ""      << false << ""    << "_ISO8601bar" << 1 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001";
+//    QTest::addRow("6")  << ""      << false << ""    << "bar"         << 0 << "/.+/kstars/bar_000";
+//    QTest::addRow("7")  << ""      << false << ""    << "bar"         << 1 << "/.+/kstars/bar_001";
+//    QTest::addRow("8")  << ""      << false << "foo" << ""            << 0 << "/.+/kstars/000";
+//    QTest::addRow("9")  << ""      << false << "foo" << ""            << 1 << "/.+/kstars/001";
+//    QTest::addRow("10") << ""      << false << "foo" << "_ISO8601"    << 0 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000";
+//    QTest::addRow("11") << ""      << false << "foo" << "_ISO8601"    << 1 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001";
+//    QTest::addRow("12") << ""      << false << "foo" << "_ISO8601bar" << 0 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000";
+//    QTest::addRow("13") << ""      << false << "foo" << "_ISO8601bar" << 1 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001";
+//    QTest::addRow("14") << ""      << false << "foo" << "bar"         << 0 << "/.+/kstars/bar_000";
+//    QTest::addRow("15") << ""      << false << "foo" << "bar"         << 1 << "/.+/kstars/bar_001";
+//    QTest::addRow("16") << ""      << true  << ""    << ""            << 0 << "/.+/000";
+//    QTest::addRow("17") << ""      << true  << ""    << ""            << 1 << "/.+/001";
+//    QTest::addRow("18") << ""      << true  << ""    << "_ISO8601"    << 0 <<
+//                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000";
+//    QTest::addRow("19") << ""      << true  << ""    << "_ISO8601"    << 1 <<
+//                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001";
+//    QTest::addRow("20") << ""      << true  << ""    << "_ISO8601bar" << 0 <<
+//                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000";
+//    QTest::addRow("21") << ""      << true  << ""    << "_ISO8601bar" << 1 <<
+//                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001";
+//    QTest::addRow("22") << ""      << true  << ""    << "bar"         << 0 << "/.+/bar_000";
+//    QTest::addRow("23") << ""      << true  << ""    << "bar"         << 1 << "/.+/bar_001";
+//    QTest::addRow("24") << ""      << true  << "foo" << ""            << 0 << "foo/000";
+//    QTest::addRow("25") << ""      << true  << "foo" << ""            << 1 << "foo/001";
+//    QTest::addRow("26") << ""      << true  << "foo" << "_ISO8601"    << 0 <<
+//                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000";
+//    QTest::addRow("27") << ""      << true  << "foo" << "_ISO8601"    << 1 <<
+//                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001";
+//    QTest::addRow("28") << ""      << true  << "foo" << "_ISO8601bar" << 0 <<
+//                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000";
+//    QTest::addRow("29") << ""      << true  << "foo" << "_ISO8601bar" << 1 <<
+//                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001";
+//    QTest::addRow("30") << ""      << true  << "foo" << "bar"         << 0 << "foo/bar_000";
+//    QTest::addRow("31") << ""      << true  << "foo" << "bar"         << 1 << "foo/bar_001";
+//    QTest::addRow("32") << ".fits" << false << ""    << ""            << 0 << "/.+/kstars/000.fits";
+//    QTest::addRow("33") << ".fits" << false << ""    << ""            << 1 << "/.+/kstars/001.fits";
+//    QTest::addRow("34") << ".fits" << false << ""    << "_ISO8601"    << 0 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000.fits";
+//    QTest::addRow("35") << ".fits" << false << ""    << "_ISO8601"    << 1 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001.fits";
+//    QTest::addRow("36") << ".fits" << false << ""    << "_ISO8601bar" << 0 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000.fits";
+//    QTest::addRow("37") << ".fits" << false << ""    << "_ISO8601bar" << 1 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001.fits";
+//    QTest::addRow("38") << ".fits" << false << ""    << "bar"         << 0 << "/.+/kstars/bar_000.fits";
+//    QTest::addRow("39") << ".fits" << false << ""    << "bar"         << 1 << "/.+/kstars/bar_001.fits";
+//    QTest::addRow("40") << ".fits" << false << "foo" << ""            << 0 << "/.+/kstars/000.fits";
+//    QTest::addRow("41") << ".fits" << false << "foo" << ""            << 1 << "/.+/kstars/001.fits";
+//    QTest::addRow("42") << ".fits" << false << "foo" << "_ISO8601"    << 0 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000.fits";
+//    QTest::addRow("43") << ".fits" << false << "foo" << "_ISO8601"    << 1 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001.fits";
+//    QTest::addRow("44") << ".fits" << false << "foo" << "_ISO8601bar" << 0 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000.fits";
+//    QTest::addRow("45") << ".fits" << false << "foo" << "_ISO8601bar" << 1 <<
+//                        "/.+/kstars/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001.fits";
+//    QTest::addRow("46") << ".fits" << false << "foo" << "bar"         << 0 << "/.+/kstars/bar_000.fits";
+//    QTest::addRow("47") << ".fits" << false << "foo" << "bar"         << 1 << "/.+/kstars/bar_001.fits";
+//    QTest::addRow("48") << ".fits" << true  << ""    << ""            << 0 << "/.+/000.fits";
+//    QTest::addRow("49") << ".fits" << true  << ""    << ""            << 1 << "/.+/001.fits";
+//    QTest::addRow("50") << ".fits" << true  << ""    << "_ISO8601"    << 0 <<
+//                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000.fits";
+//    QTest::addRow("51") << ".fits" << true  << ""    << "_ISO8601"    << 1 <<
+//                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001.fits";
+//    QTest::addRow("52") << ".fits" << true  << ""    << "_ISO8601bar" << 0 <<
+//                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000.fits";
+//    QTest::addRow("53") << ".fits" << true  << ""    << "_ISO8601bar" << 1 <<
+//                        "/.+/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001.fits";
+//    QTest::addRow("54") << ".fits" << true  << ""    << "bar"         << 0 << "/.+/bar_000.fits";
+//    QTest::addRow("55") << ".fits" << true  << ""    << "bar"         << 1 << "/.+/bar_001.fits";
+//    QTest::addRow("56") << ".fits" << true  << "foo" << ""            << 0 << "foo/000.fits";
+//    QTest::addRow("57") << ".fits" << true  << "foo" << ""            << 1 << "foo/001.fits";
+//    QTest::addRow("58") << ".fits" << true  << "foo" << "_ISO8601"    << 0 <<
+//                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_000.fits";
+//    QTest::addRow("59") << ".fits" << true  << "foo" << "_ISO8601"    << 1 <<
+//                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}_001.fits";
+//    QTest::addRow("60") << ".fits" << true  << "foo" << "_ISO8601bar" << 0 <<
+//                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_000.fits";
+//    QTest::addRow("61") << ".fits" << true  << "foo" << "_ISO8601bar" << 1 <<
+//                        "foo/_\\d{4}-\\d{2}-\\d{2}T\\d{2}-\\d{2}-\\d{2}bar_001.fits";
+//    QTest::addRow("62") << ".fits" << true  << "foo" << "bar"         << 0 << "foo/bar_000.fits";
+//    QTest::addRow("63") << ".fits" << true  << "foo" << "bar"         << 1 << "foo/bar_001.fits";
+//#endif
+//}
+
+//void TestPlaceholderPath::testCCDGenerateFilename()
+//{
+//#if QT_VERSION < 0x050900
+//    QSKIP("Skipping fixture-based test on old QT version.");
+//#else
+//    QFETCH(QString, format);
+//    QFETCH(bool, batch_mode);
+//    QFETCH(QString, fitsDir);
+//    QFETCH(QString, seqPrefix);
+//    QFETCH(int, nextSequenceID);
+//    QFETCH(QString, desiredFilename);
+//
+//    QString filename;
+//    auto placeholderPath = Ekos::PlaceholderPath();
+//    placeholderPath.generateFilenameOld(format, batch_mode, &filename, fitsDir, seqPrefix, nextSequenceID);
+//
+//    QVERIFY(QRegularExpression(desiredFilename).match(filename).hasMatch());
+//#endif
+//}
+
+//void TestPlaceholderPath::testFullNamingSequence_data()
+//{
+//#if QT_VERSION < 0x050900
+//    QSKIP("Skipping fixture-based test on old QT version.");
+//#else
+//    const QList<const char*> columns =
+//    {
+//        "Exposure",
+//        "Filter",
+//        "Type",
+//        "Prefix",
+//        "RawPrefix",
+//        "FilterEnabled",
+//        "ExpEnabled",
+//        "TimeStampEnabled",
+//        "FITSDirectory",
+//        "targetName",
+//        "batch_mode",
+//        "nextSequenceID",
+//        "result",
+//    };
+//    for (const auto &column : columns)
+//    {
+//        QTest::addColumn<QString>(column);
+//    }
+//    parseCSV("testFullNamingSequence_data_small.csv", columns);
+//#endif
+//}
+
+//void TestPlaceholderPath::testFullNamingSequence()
+//{
+//#if QT_VERSION < 0x050900
+//    QSKIP("Skipping fixture-based test on old QT version.");
+//#else
+//
+//    QFETCH(QString, Exposure);
+//    QFETCH(QString, Filter);
+//    QFETCH(QString, Type);
+//    QFETCH(QString, Prefix);
+//    QFETCH(QString, RawPrefix);
+//    QFETCH(QString, FilterEnabled);
+//    QFETCH(QString, ExpEnabled);
+//    QFETCH(QString, TimeStampEnabled);
+//    QFETCH(QString, FITSDirectory);
+//    QFETCH(QString, targetName);
+//    QFETCH(QString, batch_mode);
+//    QFETCH(QString, nextSequenceID);
+//    QFETCH(QString, result);
+//
+//    XMLEle *root = buildXML(
+//                       Exposure,
+//                       Filter,
+//                       Type,
+//                       Prefix,
+//                       RawPrefix,
+//                       FilterEnabled,
+//                       ExpEnabled,
+//                       TimeStampEnabled,
+//                       FITSDirectory);
+//
+//    Ekos::SequenceJob job(root);
+//    auto placeholderPath = Ekos::PlaceholderPath();
+//    // for addJob, targetName should already be sanitized
+//    // taken from scheduler.cpp:2491-2495
+//    targetName = targetName.replace( QRegularExpression("\\s|/|\\(|\\)|:|\\*|~|\"" ), "_" )
+//                 // Remove any two or more __
+//                 .replace( QRegularExpression("_{2,}"), "_")
+//                 // Remove any _ at the end
+//                 .replace( QRegularExpression("_$"), "");
+//    placeholderPath.addJob(&job, targetName);
+//    QString fitsDir, filename;
+//    // from sequencejob.cpp:302-303
+//    auto localDir = job.getCoreProperty(SequenceJob::SJ_LocalDirectory).toString();
+//    if (localDir.isEmpty() == false)
+//        fitsDir = localDir + job.getCoreProperty(SequenceJob::SJ_DirectoryPostfix).toString();
+//    placeholderPath.generateFilenameOld(".fits",
+//                                        bool(batch_mode.toInt()),
+//                                        &filename,
+//                                        fitsDir,
+//                                        job.getCoreProperty(SequenceJob::SJ_FullPrefix).toString(),
+//                                        nextSequenceID.toInt());
+//    QVERIFY2(QRegularExpression(result).match(filename).hasMatch(),
+//             QString("\nExpected: %1\nObtained: %2\n").arg(result, filename).toStdString().c_str());
+//
+//#endif
+//}
 
 void TestPlaceholderPath::testFlexibleNaming_data()
 {
@@ -579,37 +451,36 @@ void TestPlaceholderPath::testFlexibleNaming_data()
     {
         QTest::addColumn<QString>(column);
     }
-    QTest::addRow("infinite")  << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/%f_100x30s_RGB.esq"
-                               << "" << "1" << "" << "%f"  << "^%f_100x30s_RGB\\.fits$";
     QTest::addRow("f")  << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%f"  << "^100x30s_RGB\\.fits$";
-    QTest::addRow("p")  << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%p"  << "^/home/user/Images/NGC7635\\.fits$";
-    QTest::addRow("p1") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%p1" << "^/home/user/Images/NGC7635\\.fits$";
-    QTest::addRow("p2") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%p2" << "^/home/user/Images\\.fits$";
-    QTest::addRow("p3") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%p3" << "^/home/user\\.fits$";
-    QTest::addRow("p4") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%p4" << "^/home\\.fits$";
-    QTest::addRow("d")  << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%d"  << "^NGC7635\\.fits$";
-    QTest::addRow("d1") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%d1" << "^NGC7635\\.fits$";
-    QTest::addRow("d2") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%d2" << "^Images\\.fits$";
-    QTest::addRow("d3") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%d3" << "^user\\.fits$";
-    QTest::addRow("d4") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
-                        "1" << "" << "%d4" << "^home\\.fits$";
+                        "1" << "" << "/%f"  << "^/100x30s_RGB\\.fits$";
+    // %p & %d tags disabled for simplicity
+    //    QTest::addRow("p")  << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%p"  << "^/home/user/Images/NGC7635\\.fits$";
+    //    QTest::addRow("p1") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%p1" << "^/home/user/Images/NGC7635\\.fits$";
+    //    QTest::addRow("p2") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%p2" << "^/home/user/Images\\.fits$";
+    //    QTest::addRow("p3") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%p3" << "^/home/user\\.fits$";
+    //    QTest::addRow("p4") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%p4" << "^/home\\.fits$";
+    //    QTest::addRow("d")  << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%d"  << "^NGC7635\\.fits$";
+    //    QTest::addRow("d1") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%d1" << "^NGC7635\\.fits$";
+    //    QTest::addRow("d2") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%d2" << "^Images\\.fits$";
+    //    QTest::addRow("d3") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%d3" << "^user\\.fits$";
+    //    QTest::addRow("d4") << "" << "" << "" << "" << "" << "" << "" << "" << "/home/user/Images/NGC7635/100x30s_RGB.esq" << "" <<
+    //                        "1" << "" << "%d4" << "^home\\.fits$";
 
     QTest::addRow("t")  << ""      << ""      << ""      << ""       << "" << ""  << ""  << ""  << "" << "target" << "" << ""
                         << "%t"  << "^/tmp/kstars/target\\.fits$";
     QTest::addRow("T")  << ""      << ""      << "Light" << ""       << "" << ""  << ""  << ""  << "" << ""       << "" << ""
                         << "%T"  << "^/tmp/kstars/Light\\.fits$";
-    QTest::addRow("F")  << ""      << "sobel" << ""      << "prefix" << "" << "1" << ""  << ""  << "" << ""       << "" << ""
-                        << "%F"  << "^/tmp/kstars/sobel\\.fits$";
+    QTest::addRow("F")  << ""      << "H_Alpha" << ""      << "prefix" << "" << "1" << ""  << ""  << "" << ""       << "" << ""
+                        << "%F"  << "^/tmp/kstars/H_Alpha\\.fits$";
     QTest::addRow("e")  << "0.001" << ""      << ""      << "prefix" << "" << ""  << "1" << ""  << "" << ""       << "" << ""
                         << "%e"  << "^/tmp/kstars/0.001_secs\\.fits$";
     QTest::addRow("D")  << ""      << ""      << ""      << "prefix" << "" << ""  << ""  << "1" << "" << ""       << "" << ""
@@ -633,6 +504,7 @@ void TestPlaceholderPath::testFlexibleNaming_data()
                               "^/tmp/kstars/%a_\\.fits$";
 
     parseCSV("testFlexibleNaming_data_small.csv", columns);
+
 #endif
 }
 
@@ -665,27 +537,114 @@ void TestPlaceholderPath::testFlexibleNaming()
                        FilterEnabled,
                        ExpEnabled,
                        TimeStampEnabled,
-                       "");
+                       format);
 
     Ekos::SequenceJob job(root);
     auto placeholderPath = Ekos::PlaceholderPath(seqFilename);
-    QString filename;
     bool bm = bool(batch_mode.toInt());
     int i = nextSequenceID.toInt();
-    placeholderPath.generateFilename(format, job, targetName, bm, i, ".fits", &filename);
+    QString filename = placeholderPath.generateFilename(job, targetName, bm, i, ".fits", "");
     QVERIFY2(QRegularExpression(result).match(filename).hasMatch(),
              QString("\nExpected: %1\nObtained: %2\n").arg(result, filename).toStdString().c_str());
 
     job.setCoreProperty(SequenceJob::SJ_TargetName, targetName);
     placeholderPath.setGenerateFilenameSettings(job);
-    placeholderPath.generateFilename(format, job.getCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled).toBool(), bm, i,
-                                     ".fits", &filename);
+    filename = placeholderPath.generateFilename(bm, i, ".fits", "");
     QVERIFY2(QRegularExpression(result).match(filename).hasMatch(),
              QString("\nExpected: %1\nObtained: %2\n").arg(result, filename).toStdString().c_str());
 #endif
 }
 
-void TestPlaceholderPath::testFlexibleNamingChangeBehavior_data()
+void TestPlaceholderPath::testFlexibleNamingGlob_data()
+{
+#if QT_VERSION < 0x050900
+    QSKIP("Skipping fixture-based test on old QT version.");
+#else
+    const QList<const char*> columns =
+    {
+        "TimeStampEnabled",
+        "nextSequenceID",
+        "format",
+        "result",
+    };
+    for (const auto &column : columns)
+    {
+        QTest::addColumn<QString>(column);
+    }
+    QTest::addRow("D")  << "1" << ""  << "%D"  << "/tmp/kstars/\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d-\\d\\d-\\d\\d.fits";
+    QTest::addRow("s_D")  << "1" << ""  << "%D_%s"  <<
+                          "/tmp/kstars/\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d-\\d\\d-\\d\\d_(?<id>\\d+).fits";
+    QTest::addRow("s")  << ""  << "1" << "%s"  << "/tmp/kstars/(?<id>\\d+).fits";
+    QTest::addRow("s1") << ""  << "1" << "%s1" << "/tmp/kstars/(?<id>\\d+).fits";
+    QTest::addRow("s2") << ""  << "1" << "%s2" << "/tmp/kstars/(?<id>\\d+).fits";
+    QTest::addRow("s3") << ""  << "1" << "%s3" << "/tmp/kstars/(?<id>\\d+).fits";
+    QTest::addRow("s4") << ""  << "1" << "%s4" << "/tmp/kstars/(?<id>\\d+).fits";
+
+    QTest::addRow("_s") << ""  << "1" << "_%s" << "/tmp/kstars/_(?<id>\\d+).fits";
+#endif
+}
+
+void TestPlaceholderPath::testFlexibleNamingGlob()
+{
+#if QT_VERSION < 0x050900
+    QSKIP("Skipping fixture-based test on old QT version.");
+#else
+    QFETCH(QString, TimeStampEnabled);
+    QFETCH(QString, nextSequenceID);
+    QFETCH(QString, format);
+    QFETCH(QString, result);
+
+    XMLEle *root = buildXML(
+                       "",
+                       "",
+                       "",
+                       "prefix",
+                       "",
+                       "",
+                       "",
+                       TimeStampEnabled,
+                       format);
+
+    Ekos::SequenceJob job(root);
+    auto placeholderPath = Ekos::PlaceholderPath("");
+    bool bm = false;
+    int i = nextSequenceID.toInt();
+    QString filename = placeholderPath.generateFilename(job, "", bm, i, ".fits", "", true);
+    QCOMPARE(result, filename);
+    job.setCoreProperty(SequenceJob::SJ_TargetName, "");
+    placeholderPath.setGenerateFilenameSettings(job);
+    filename = placeholderPath.generateFilename(bm, i, ".fits", "", true);
+    QCOMPARE(result, filename);
+#endif
+}
+
+void TestPlaceholderPath::testRemainingPlaceholders_data()
+{
+#if QT_VERSION < 0x050900
+    QSKIP("Skipping fixture-based test on old QT version.");
+#else
+    QTest::addColumn<QString>("Filename");
+    QTest::addColumn<QStringList>("Result");
+    QTest::addRow("0")  << "test.fits" << QStringList();
+    QTest::addRow("1")  << "%f_test.fits" << QStringList({"%f"});
+    QTest::addRow("2")  << "%p/%f_test.fits" << QStringList({"%p", "%f"});
+#endif
+}
+
+void TestPlaceholderPath::testRemainingPlaceholders()
+{
+#if QT_VERSION < 0x050900
+    QSKIP("Skipping fixture-based test on old QT version.");
+#else
+    QFETCH(QString, Filename);
+    QFETCH(QStringList, Result);
+
+    auto remainingPlaceholders = Ekos::PlaceholderPath::remainingPlaceholders(Filename);
+    QCOMPARE(remainingPlaceholders, Result);
+#endif
+}
+
+void TestPlaceholderPath::testGetCompletedFileIds_data()
 {
 #if QT_VERSION < 0x050900
     QSKIP("Skipping fixture-based test on old QT version.");
@@ -702,21 +661,30 @@ void TestPlaceholderPath::testFlexibleNamingChangeBehavior_data()
         "TimeStampEnabled",
         "seqFilename",
         "targetName",
-        "batch_mode",
-        "nextSequenceID",
         "format",
-        "old_result",
-        "new_result",
     };
     for (const auto &column : columns)
     {
         QTest::addColumn<QString>(column);
     }
-    parseCSV("testFlexibleNamingChangeBehavior_data_small.csv", columns);
+
+    // tags %d & %p disabled for simplicity
+    //    QTest::addRow("f1") << "0.001" << "H_Alpha" << "Light" << "prefix" << "" << "1" << "1" << "1" <<
+    //                        "/tmp/kstars/NGC7635/100x30s_RGB.esq" << "M42" << "%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3";
+    //    QTest::addRow("f2") << "0.001" << "H_Alpha" << "Light" << "prefix" << "" << "1" << "1" << "1" <<
+    //                        "/tmp/kstars/NGC7635/100x30s_RGB.esq" << "M42" << "%p1/%t/%T/%F/%D_%s3_%t_%T_%F_%e";
+    //    QTest::addRow("f3") << "0.001" << "H_Alpha" << "Light" << "prefix" << "" << "1" << "1" << "0" <<
+    //                        "/tmp/kstars/NGC7635/100x30s_RGB.esq" << "M42" << "%p1/%t/%T/%F/%s3_%t_%T_%F_%e";
+    QTest::addRow("f1") << "0.001" << "H_Alpha" << "Light" << "prefix" << "" << "1" << "1" << "1" <<
+                        "/tmp/kstars/NGC7635/100x30s_RGB.esq" << "M42" << "/tmp/kstars/%t/%T/%F/%t_%T_%F_%e_%D_%s3";
+    QTest::addRow("f2") << "0.001" << "H_Alpha" << "Light" << "prefix" << "" << "1" << "1" << "1" <<
+                        "/tmp/kstars/NGC7635/100x30s_RGB.esq" << "M42" << "/tmp/kstars/%t/%T/%F/%D_%s3_%t_%T_%F_%e";
+    QTest::addRow("f3") << "0.001" << "H_Alpha" << "Light" << "prefix" << "" << "1" << "1" << "0" <<
+                        "/tmp/kstars/NGC7635/100x30s_RGB.esq" << "M42" << "/tmp/kstars/%t/%T/%F/%s3_%t_%T_%F_%e";
 #endif
 }
 
-void TestPlaceholderPath::testFlexibleNamingChangeBehavior()
+void TestPlaceholderPath::testGetCompletedFileIds()
 {
 #if QT_VERSION < 0x050900
     QSKIP("Skipping fixture-based test on old QT version.");
@@ -731,11 +699,7 @@ void TestPlaceholderPath::testFlexibleNamingChangeBehavior()
     QFETCH(QString, TimeStampEnabled);
     QFETCH(QString, seqFilename);
     QFETCH(QString, targetName);
-    QFETCH(QString, batch_mode);
-    QFETCH(QString, nextSequenceID);
     QFETCH(QString, format);
-    QFETCH(QString, old_result);
-    QFETCH(QString, new_result);
 
     XMLEle *root = buildXML(
                        Exposure,
@@ -746,59 +710,32 @@ void TestPlaceholderPath::testFlexibleNamingChangeBehavior()
                        FilterEnabled,
                        ExpEnabled,
                        TimeStampEnabled,
-                       "");
+                       format);
 
     Ekos::SequenceJob job(root);
     auto placeholderPath = Ekos::PlaceholderPath(seqFilename);
-    QString filename;
-    bool bm = bool(batch_mode.toInt());
-    int i = nextSequenceID.toInt();
-    placeholderPath.generateFilename(format, job, targetName, bm, i, ".fits", &filename);
-    QEXPECT_FAIL("", "original filename had __ or // or /_ that are now removed", Continue);
-    QVERIFY2(QRegularExpression(old_result).match(filename).hasMatch(),
-             QString("\nNot Expected: %1\nObtained: %2\n").arg(old_result, filename).toStdString().c_str());
-    QVERIFY2(QRegularExpression(new_result).match(filename).hasMatch(),
-             QString("\nExpected: %1\nObtained: %2\n").arg(new_result, filename).toStdString().c_str());
-
+    bool bm = true;
     job.setCoreProperty(SequenceJob::SJ_TargetName, targetName);
     placeholderPath.setGenerateFilenameSettings(job);
-    placeholderPath.generateFilename(format,
-                                     job.getCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled).toBool(),
-                                     bm,
-                                     i,
-                                     ".fits",
-                                     &filename);
-    QEXPECT_FAIL("", "original filename had __ or // or /_ that are now removed", Continue);
-    QVERIFY2(QRegularExpression(old_result).match(filename).hasMatch(),
-             QString("\nNot Expected: %1\nObtained: %2\n").arg(old_result, filename).toStdString().c_str());
-    QVERIFY2(QRegularExpression(new_result).match(filename).hasMatch(),
-             QString("\nExpected: %1\nObtained: %2\n").arg(new_result, filename).toStdString().c_str());
-#endif
-}
+    int nextSequenceID;
+    for (int id = 1; id < 4; id++)
+    {
+        nextSequenceID = placeholderPath.getCompletedFiles(job, targetName);
+        QCOMPARE(nextSequenceID, id - 1);
+        nextSequenceID = placeholderPath.checkSeqBoundary(job, targetName);
+        QCOMPARE(nextSequenceID, id);
+        QString filename = placeholderPath.generateFilename(bm, id, ".fits", "");
+        QDir path;
+        path.mkpath(QFileInfo(filename).dir().path());
+        QFile(filename).open(QIODevice::WriteOnly);
+    }
 
-void TestPlaceholderPath::testRemainingPlaceholders_data()
-{
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-    QTest::addColumn<QString>("Filename");
-    QTest::addColumn<QStringList>("Result");
-    QTest::addRow("0")  << "test.fits" << QStringList();
-    QTest::addRow("1")  << "%f_test.fits" << QStringList({"%f"});
-    QTest::addRow("2")  << "%p/%f_test.fits" << QStringList({"%p", "%f"});
 #endif
 }
 
-void TestPlaceholderPath::testRemainingPlaceholders()
+void TestPlaceholderPath::cleanupTestCase()
 {
-#if QT_VERSION < 0x050900
-    QSKIP("Skipping fixture-based test on old QT version.");
-#else
-    QFETCH(QString, Filename);
-    QFETCH(QStringList, Result);
-
-    auto remainingPlaceholders = Ekos::PlaceholderPath::remainingPlaceholders(Filename);
-    QCOMPARE(remainingPlaceholders, Result);
-#endif
+    QDir("/tmp/kstars").removeRecursively();
 }
+
 QTEST_GUILESS_MAIN(TestPlaceholderPath)
diff --git a/Tests/capture/test_placeholderpath.h b/Tests/capture/test_placeholderpath.h
index c0b6bcc12..70454265d 100644
--- a/Tests/capture/test_placeholderpath.h
+++ b/Tests/capture/test_placeholderpath.h
@@ -28,28 +28,29 @@ class TestPlaceholderPath : public QObject
 
   private slots:
 
+    void initTestCase();
     void testSchedulerProcessJobInfo_data();
     void testSchedulerProcessJobInfo();
 
-    void testCaptureAddJob_data();
-    void testCaptureAddJob();
+//    void testCCDGenerateFilename_data();
+//    void testCCDGenerateFilename();
 
-    void testCCDGenerateFilename_data();
-    void testCCDGenerateFilename();
-
-    void testSequenceJobSignature_data();
-    void testSequenceJobSignature();
-
-    void testFullNamingSequence_data();
-    void testFullNamingSequence();
+//    void testFullNamingSequence_data();
+//    void testFullNamingSequence();
 
     void testFlexibleNaming_data();
     void testFlexibleNaming();
-    void testFlexibleNamingChangeBehavior_data();
-    void testFlexibleNamingChangeBehavior();
+
+    void testFlexibleNamingGlob_data();
+    void testFlexibleNamingGlob();
 
     void testRemainingPlaceholders_data();
     void testRemainingPlaceholders();
+
+    void testGetCompletedFileIds_data();
+    void testGetCompletedFileIds();
+
+    void cleanupTestCase();
 };
 
 #endif
diff --git a/Tests/kstars_ui/test_ekos_capture.cpp b/Tests/kstars_ui/test_ekos_capture.cpp
index 0657b57ee..295a52a87 100644
--- a/Tests/kstars_ui/test_ekos_capture.cpp
+++ b/Tests/kstars_ui/test_ekos_capture.cpp
@@ -40,7 +40,7 @@ void TestEkosCapture::init()
 {
     Ekos::Manager * const ekos = Ekos::Manager::Instance();
 
-    // Wait for Capture to come up, switch to Focus tab
+    // Wait for Capture to come up, switch to Capture tab
     QTRY_VERIFY_WITH_TIMEOUT(ekos->captureModule() != nullptr, 5000);
     KTRY_EKOS_GADGET(QTabWidget, toolsWidget);
     toolsWidget->setCurrentWidget(ekos->captureModule());
@@ -171,7 +171,7 @@ void TestEkosCapture::testCaptureSingle()
     QVERIFY(destination.autoRemove());
 
     // Add an exposure
-    KTRY_CAPTURE_ADD_LIGHT(0.5, 1, 0, "Red", destination.path());
+    KTRY_CAPTURE_ADD_LIGHT(0.5, 1, 0, "Red", destination.path()+"/%T_");
 
     // Start capturing and wait for procedure to end (visual icon changing)
     KTRY_CAPTURE_GADGET(QPushButton, startB);
@@ -183,7 +183,7 @@ void TestEkosCapture::testCaptureSingle()
     // Verify a FITS file was created
     QTRY_VERIFY_WITH_TIMEOUT(m_CaptureHelper->searchFITS(QDir(destination.path())).count() == 1, 1000);
     QVERIFY(m_CaptureHelper->searchFITS(QDir(destination.path()))[0].startsWith("Light_"));
-    QVERIFY(m_CaptureHelper->searchFITS(QDir(destination.path()))[0].endsWith("_001.fits"));
+    QVERIFY(m_CaptureHelper->searchFITS(QDir(destination.path()))[0].endsWith("001.fits"));
 
     // Reset sequence state - this makes a confirmation dialog appear
     volatile bool dialogValidated = false;
@@ -208,9 +208,9 @@ void TestEkosCapture::testCaptureSingle()
     // Verify an additional FITS file was created - asynchronously eventually
     QTRY_VERIFY_WITH_TIMEOUT(m_CaptureHelper->searchFITS(QDir(destination.path())).count() == 2, 2000);
     QVERIFY(m_CaptureHelper->searchFITS(QDir(destination.path()))[0].startsWith("Light_"));
-    QVERIFY(m_CaptureHelper->searchFITS(QDir(destination.path()))[0].endsWith("_001.fits"));
+    QVERIFY(m_CaptureHelper->searchFITS(QDir(destination.path()))[0].endsWith("001.fits"));
     QVERIFY(m_CaptureHelper->searchFITS(QDir(destination.path()))[1].startsWith("Light_"));
-    QVERIFY(m_CaptureHelper->searchFITS(QDir(destination.path()))[1].endsWith("_002.fits"));
+    QVERIFY(m_CaptureHelper->searchFITS(QDir(destination.path()))[1].endsWith("002.fits"));
 
     // TODO: test storage options
 }
@@ -223,11 +223,11 @@ void TestEkosCapture::testCaptureMultiple()
     QVERIFY(destination.autoRemove());
 
     // Add a few exposures
-    KTRY_CAPTURE_ADD_LIGHT(0.5, 1, 0, "Red", destination.path());
-    KTRY_CAPTURE_ADD_LIGHT(0.7, 2, 0, "SII", destination.path());
-    KTRY_CAPTURE_ADD_LIGHT(0.2, 5, 0, "Green", destination.path());
-    KTRY_CAPTURE_ADD_LIGHT(0.9, 2, 0, "Luminance", destination.path());
-    KTRY_CAPTURE_ADD_LIGHT(0.5, 1, 1, "H_Alpha", destination.path());
+    KTRY_CAPTURE_ADD_LIGHT(0.5, 1, 0, "Red", destination.path()+"/%T");
+    KTRY_CAPTURE_ADD_LIGHT(0.7, 2, 0, "SII", destination.path()+"/%T");
+    KTRY_CAPTURE_ADD_LIGHT(0.2, 5, 0, "Green", destination.path()+"/%T");
+    KTRY_CAPTURE_ADD_LIGHT(0.9, 2, 0, "Luminance", destination.path()+"/%T");
+    KTRY_CAPTURE_ADD_LIGHT(0.5, 1, 1, "H_Alpha", destination.path()+"/%T");
     QWARN("A sequence of exposures under 1 second will always take 1 second to capture each of them.");
     //size_t const duration = (500+0)*1+(700+0)*2+(200+0)*5+(900+0)*2+(500+1000)*1;
     size_t const duration = 1000 * (1 + 2 + 5 + 2 + 1);
@@ -311,8 +311,8 @@ void TestEkosCapture::testCaptureDarkFlats()
     QTRY_VERIFY_WITH_TIMEOUT(dialogValidated, 1000);
 
     // Add flats
-    KTRY_CAPTURE_ADD_FLAT(1, 2, 0, "Red", destination.path());
-    KTRY_CAPTURE_ADD_FLAT(0.1, 3, 0, "Green", destination.path());
+    KTRY_CAPTURE_ADD_FLAT(1, 2, 0, "Red", destination.path()+"/%T/%F/%T");
+    KTRY_CAPTURE_ADD_FLAT(0.1, 3, 0, "Green", destination.path()+"/%T/%F/%T");
 
     // Generate Dark Flats
     KTRY_CAPTURE_CLICK(generateDarkFlatsB);
diff --git a/Tests/kstars_ui/test_ekos_capture_count.cpp b/Tests/kstars_ui/test_ekos_capture_count.cpp
index f941cbe53..44461b095 100644
--- a/Tests/kstars_ui/test_ekos_capture_count.cpp
+++ b/Tests/kstars_ui/test_ekos_capture_count.cpp
@@ -301,7 +301,11 @@ bool TestEkosCaptureCount::prepareScheduledCapture(SchedulerJob::CompletionCondi
     }
 
     // step 2: create the sequence for the test
-    KVERIFY_SUB(m_CaptureHelper->fillCaptureSequences(target, sequence, exptime, m_CaptureHelper->getImageLocation()->path()));
+
+    // add target to path to emulate the behavior of the scheduler
+    QString imagepath = m_CaptureHelper->getImageLocation()->path() + "/" + target;
+
+    KVERIFY_SUB(m_CaptureHelper->fillCaptureSequences(target, sequence, exptime, imagepath));
     KVERIFY_SUB(fillCapturedFramesMap(""));
     if (rememberJobProgress)
         KVERIFY_SUB(setExpectedFrames(expectedFrames));
diff --git a/Tests/kstars_ui/test_ekos_capture_helper.cpp b/Tests/kstars_ui/test_ekos_capture_helper.cpp
index f86cef732..f35a0998f 100644
--- a/Tests/kstars_ui/test_ekos_capture_helper.cpp
+++ b/Tests/kstars_ui/test_ekos_capture_helper.cpp
@@ -150,10 +150,9 @@ bool TestEkosCaptureHelper::fillCaptureSequences(QString target, QString sequenc
         KVERIFY_SUB(value.indexOf(":") > -1);
         QString filter = value.left(value.indexOf(":"));
         int count      = value.right(value.length()-value.indexOf(":")-1).toInt();
-        KTRY_SET_CHECKBOX_SUB(Ekos::Manager::Instance()->captureModule(), fileTimestampS, true);
         KTRY_SET_LINEEDIT_SUB(Ekos::Manager::Instance()->captureModule(), filePrefixT, target);
         if (count > 0)
-            KWRAP_SUB(KTRY_CAPTURE_ADD_LIGHT(exptime, count, 0, filter, fitsDirectory));
+            KWRAP_SUB(KTRY_CAPTURE_ADD_LIGHT(exptime, count, 0, filter, fitsDirectory + "/%T/%F/%t_%T"));
         // ensure that no old values are present
         Ekos::Manager::Instance()->captureModule()->setCapturedFramesMap(calculateSignature(target, filter), 0);
     }
diff --git a/Tests/scheduler/testschedulerunit.cpp b/Tests/scheduler/testschedulerunit.cpp
index 439b01b93..b8df3ae48 100644
--- a/Tests/scheduler/testschedulerunit.cpp
+++ b/Tests/scheduler/testschedulerunit.cpp
@@ -478,6 +478,31 @@ void TestSchedulerUnit::estimateJobTimeTest()
     // The last arg is for logging. Use nullptr for testing.
     QVERIFY(Scheduler::loadSequenceQueue(seqFile9Filters, &job, jobs, hasAutoFocus, nullptr));
     // 2. Get the signiture of the first job
+    SequenceJob *seqJob = jobs[0];
+    QString tempFormat = seqJob->getCoreProperty(SequenceJob::SJ_LocalDirectory).toString();
+    if (!tempFormat.contains("%"))
+    {
+        if (!tempFormat.endsWith("/"))
+            tempFormat.append("/");
+        tempFormat.append("%t/%T/");
+        if(!seqJob->getCoreProperty(SequenceJob::SJ_Filter).toString().isEmpty())
+            tempFormat.append("%F/");
+        if(!seqJob->getCoreProperty(SequenceJob::SJ_RawPrefix).toString().isEmpty())
+            tempFormat.append("%t_");
+        tempFormat.append("%T_");
+        if(!seqJob->getCoreProperty(SequenceJob::SJ_Filter).toString().isEmpty())
+            tempFormat.append("%F_");
+        if(seqJob->getCoreProperty(SequenceJob::SJ_ExpPrefixEnabled).toBool() == true)
+            tempFormat.append("%e_");
+        if(seqJob->getCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled).toBool() == true)
+            tempFormat.append("%D_");
+        seqJob->setCoreProperty(SequenceJob::SJ_LocalDirectory, tempFormat);
+    }
+
+    auto placeholderPath = Ekos::PlaceholderPath();
+    QString signature = placeholderPath.generateFilename(*seqJob, seqJob->getCoreProperty(SequenceJob::SJ_TargetName).toString(),
+                                                         true, 1, ".fits", "", false, true);
+    seqJob->setCoreProperty(SequenceJob::SJ_Signature, signature);
     QString sig0 = jobs[0]->getSignature();
     // 3. The first job has 6 exposures, each of 20s duration. Set it up that 2 are already done.
     capturedFramesCount[sig0] = 2;
diff --git a/doc/ekos-capture.docbook b/doc/ekos-capture.docbook
index f4af3325c..6587fdf06 100644
--- a/doc/ekos-capture.docbook
+++ b/doc/ekos-capture.docbook
@@ -19,7 +19,7 @@
         </mediaobject>
     </screenshot>
     <para>
-        The CCD Module is your primary image and video acquisition module in Ekos. It enables you to capture single (Preview), multiple images (Sequence Queue), or record <ulink url="https://sites.google.com/site/astropipp/ser-player">SER</ulink> videos along with a selection of filter wheel and rotator, if available.
+        The Capture Module is your primary image and video acquisition module in Ekos. It enables you to capture single (Preview), multiple images (Sequence Queue), or record <ulink url="https://sites.google.com/site/astropipp/ser-player">SER</ulink> videos along with a selection of filter wheel and rotator, if available.
     </para>
     <sect3 id="capture-ccd-filter-wheel">
         <title>CCD & Filter Wheel Group</title>
@@ -162,42 +162,80 @@
         <itemizedlist>
             <listitem>
                 <para>
-                    <guilabel>Prefix</guilabel>: Specify the prefix to append to the generated filename. You may also append the frame type, filter, expose duration, and ISO 8601 timestamp. For example, if you specify Prefix as <userinput>M45</userinput> and checked the Type and Filter checkboxes, and assuming your filter was set to <guimenuitem>Red</guimenuitem> and your frame type is <guimenuitem>Light</guimenuitem>, the generated file names will be as follows:
+                    <guilabel>Target</guilabel>: The name of the celestial target to be captured ⪚ M42. Can be preloaded by the Scheduler Module and by selection with KStars.
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <guilabel>Format</guilabel>: The Format string defines the path and filename of the captured images by the use of placeholder tags that are filled in with the selected item of data at save time.
+                </para>
+                <para>
+                    A tag is identified by the % character. All tags have a single letter short form, and a self descriptive long form.
+                </para>
+                <para>
+                    Arbitary text may also be included within the Format string, <emphasis role="bold">except the % and \ characters.</emphasis> The / path character can be used to define aribtary directories.
+                </para>
+                <para>
+                    Note: Tags are case sensitive in both their short and long forms.
+                </para>
+                <para>
+                    Available placeholder tags:
                 </para>
                 <itemizedlist>
                     <listitem>
                         <para>
-                            M45_Light_Red_001.fits
+                            <emphasis role="bold">%f</emphasis> or <emphasis role="bold">%filename</emphasis>: The name of the sequence .esq file, without extension.
                         </para>
                     </listitem>
                     <listitem>
                         <para>
-                            M45_Light_Red_002.fits
+                            <emphasis role="bold">%D</emphasis> or <emphasis role="bold">%Datetime</emphasis>: The current time and date <emphasis role="bold">when the file is saved. Only use this tag in the filename portion of the format, not in the path portion.</emphasis>
+                        </para>
+                    </listitem>
+                    <listitem>
+                        <para>
+                            <emphasis role="bold">%T</emphasis> or <emphasis role="bold">%Type</emphasis>: The frame type ⪚ 'Light', 'Bias', 'Dark', 'Flat'...
                         </para>
                     </listitem>
-                </itemizedlist>
-                <para>
-                    If <guilabel>TS</guilabel> was checked, a timestamp will be appended to the filename, ⪚
-                </para>
-                <itemizedlist>
                     <listitem>
                         <para>
-                            M45_Light_Red_001_2016-11-09T23-47-46.fits</para>
+                            <emphasis role="bold">%e</emphasis> or <emphasis role="bold">%exposure</emphasis>: The exposure duration in seconds.
+                        </para>
+                    </listitem>
+                    <listitem>
+                        <para>
+                            <emphasis role="bold">%F</emphasis> or <emphasis role="bold">%Filter</emphasis>: The active filter name.
+                        </para>
                     </listitem>
                     <listitem>
                         <para>
-                            M45_Light_Red_002_2016-11-09T23-48-34.fits</para>
+                            <emphasis role="bold">%t</emphasis> or <emphasis role="bold">%target</emphasis>: The Target name.
+                        </para>
+                    </listitem>
+                    <listitem>
+                        <para>
+                            <emphasis role="bold">%s*</emphasis> or <emphasis role="bold">%sequence*</emphasis>: Placeholder %s* or %sequence: The image sequence identifier where * is the number of digits used (1-9). <emphasis role="bold">This tag is mandatory and must be the last element in the format.</emphasis>
+                        </para>
                     </listitem>
                 </itemizedlist>
             </listitem>
             <listitem>
                 <para>
-                    <guilabel>Script</guilabel>: Specify an <emphasis>optional</emphasis> script to be executed after each capture is complete. The full path of the script must be specified and it must executable. To denote success, the script must return zero as this would allow the sequence to continue. If a non-zero value is returned by the script, the sequence is aborted.
+                    <guilabel>Directory Browse Button</guilabel>: Opens a browse dialog to allow selection of the directory location used in the Format string. Use when first defining a Capture job.
                 </para>
             </listitem>
             <listitem>
                 <para>
-                    <guilabel>Directory</guilabel>: Local directory to save the sequence images to.
+                    <guilabel>Preview</guilabel>: Shows a preview of the resulting filename according to the Format string and other job settings.
+                </para>
+                <para>
+                    Placeholder tags that are specified by the sequence .seq file can only be displayed once the sequence file has been saved. 
+                </para>
+                <para>
+                    The Datetime tag is previewed with the current system time and will be replaced by the time at point of image save.
+                </para>
+                <para>
+                    The sequence tag is always previewed as image 1 in the  sequence and will be automatically incremented when the job is in progress.
                 </para>
             </listitem>
             <listitem>
@@ -227,6 +265,11 @@
                     <guilabel>Remote</guilabel>: When selecting either <guimenuitem>Local</guimenuitem> or <guimenuitem>Both</guimenuitem> modes above, you must specify the remote directory where remote images are saved to.
                 </para>
             </listitem>
+            <listitem>
+                <para>
+                    <guilabel>Preview</guilabel>: Shows a preview of the resulting filename according the provided path job settings. The file name format for saving remotely is pre-defined, placeholder tags may not be used. The file sequence number is always previewed as image 1 in the  sequence and will be automatically incremented when the job is in progress.
+                </para>
+            </listitem>
         </itemizedlist>
     </sect3>
 
diff --git a/doc/ekos_capture.png b/doc/ekos_capture.png
index 24f242abf..53968fb96 100644
Binary files a/doc/ekos_capture.png and b/doc/ekos_capture.png differ
diff --git a/doc/file_settings.png b/doc/file_settings.png
index 1e3a227c0..bd37cea12 100644
Binary files a/doc/file_settings.png and b/doc/file_settings.png differ
diff --git a/kstars/auxiliary/ksutils.cpp b/kstars/auxiliary/ksutils.cpp
index 8f4b30f58..c6e9f5258 100644
--- a/kstars/auxiliary/ksutils.cpp
+++ b/kstars/auxiliary/ksutils.cpp
@@ -1122,6 +1122,10 @@ QString getDefaultPath(const QString &option)
     {
         return QDir::homePath();
     }
+    else if (option == "placeholderFormat")
+    {
+        return "%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3";
+    }
     else if (option == "indiServer")
     {
 #if defined(INDI_PREFIX)
diff --git a/kstars/ekos/capture/capture.cpp b/kstars/ekos/capture/capture.cpp
index 741e53dea..b64bdcf4e 100644
--- a/kstars/ekos/capture/capture.cpp
+++ b/kstars/ekos/capture/capture.cpp
@@ -257,8 +257,6 @@ Capture::Capture()
     addToQueueB->setToolTip(i18n("Add job to sequence queue"));
     removeFromQueueB->setToolTip(i18n("Remove job from sequence queue"));
 
-    fileDirectoryT->setText(Options::fitsDir());
-
     ////////////////////////////////////////////////////////////////////////
     /// Device Adaptor
     ////////////////////////////////////////////////////////////////////////
@@ -338,25 +336,13 @@ Capture::Capture()
     });
 
     // 9. File settings: filter name
-    fileFilterS->setChecked(Options::fileSettingsUseFilter());
-    connect(fileFilterS, &QCheckBox::toggled, [ = ](bool checked)
-    {
-        Options::setFileSettingsUseFilter(checked);
-    });
+    FilterEnabled = Options::fileSettingsUseFilter();
 
     // 10. File settings: duration
-    fileDurationS->setChecked(Options::fileSettingsUseDuration());
-    connect(fileDurationS, &QCheckBox::toggled, [ = ](bool checked)
-    {
-        Options::setFileSettingsUseDuration(checked);
-    });
+    ExpEnabled = Options::fileSettingsUseDuration();
 
     // 11. File settings: timestamp
-    fileTimestampS->setChecked(Options::fileSettingsUseTimestamp());
-    connect(fileTimestampS, &QCheckBox::toggled, [ = ](bool checked)
-    {
-        Options::setFileSettingsUseTimestamp(checked);
-    });
+    TimeStampEnabled = Options::fileSettingsUseTimestamp();
 
     // 12. Refocus after meridian flip
     m_LimitsUI->meridianRefocusS->setChecked(Options::refocusAfterMeridianFlip());
@@ -448,7 +434,15 @@ Capture::Capture()
     targetADU = Options::calibrationADUValue();
     targetADUTolerance = Options::calibrationADUValueTolerance();
 
-    fileDirectoryT->setText(Options::captureDirectory());
+    if(!Options::captureDirectory().isEmpty())
+        fileDirectoryT->setText(Options::captureDirectory());
+    else
+    {
+        fileDirectoryT->setText(KSUtils::getDefaultPath("fitsDir") + QDir::separator() + "Pictures" + QDir::separator() +
+                                "%t" + QDir::separator() + "%T" + QDir::separator() + "%F" + QDir::separator() + "%t_%T");
+        Options::setCaptureDirectory(fileDirectoryT->text());
+    }
+
     connect(fileDirectoryT, &QLineEdit::textChanged, [&]()
     {
         Options::setCaptureDirectory(fileDirectoryT->text());
@@ -492,6 +486,27 @@ Capture::Capture()
 
     // Generate Meridian Flip State
     getMeridianFlipState();
+
+    //Update the filename preview
+    //Runs every second rather than connecting to all of the elements that could change the filename
+    QTimer *previewTimer = new QTimer(this);
+    connect(previewTimer, &QTimer::timeout, this, &Ekos::Capture::generatePreviewFilename);
+    previewTimer->start(1000);
+
+    legacySuffix();
+
+    //If the user changes the format to use placeholder tags then make the legacy
+    //suffix fields unavailble - this is a one-way journey
+    connect(fileDirectoryT, &QLineEdit::textEdited, [&]()
+    {
+        if(fileDirectoryT->text().contains("%"))
+        {
+            Options::setFileSettingsUseFilter(false);
+            Options::setFileSettingsUseDuration(false);
+            Options::setFileSettingsUseTimestamp(false);
+            legacySuffix();
+        }
+    });
 }
 
 Capture::~Capture()
@@ -1918,7 +1933,7 @@ void Capture::processData(const QSharedPointer<FITSData> &data)
  * - increase the frame counter
  * - update the average download time
  *
- * @return IPS_BUSY iff pausing is requested, IPS_OK otherwise.
+ * @return IPS_BUSY if pausing is requested, IPS_OK otherwise.
  */
 IPState Capture::setCaptureComplete()
 {
@@ -2248,7 +2263,7 @@ IPState Capture::resumeSequence()
         {
             if (m_captureDeviceAdaptor->getActiveCamera()->getUploadMode() != ISD::Camera::UPLOAD_LOCAL)
             {
-                checkSeqBoundary(activeJob->getSignature());
+                checkSeqBoundary();
                 m_captureDeviceAdaptor->getActiveCamera()->setNextSequenceID(nextSequenceID);
             }
         }
@@ -2548,7 +2563,7 @@ void Capture::captureImage()
 
     if (m_captureDeviceAdaptor->getActiveCamera()->getUploadMode() != ISD::Camera::UPLOAD_LOCAL)
     {
-        checkSeqBoundary(activeJob->getSignature());
+        checkSeqBoundary();
         m_captureDeviceAdaptor->getActiveCamera()->setNextSequenceID(nextSequenceID);
     }
 
@@ -2584,6 +2599,9 @@ void Capture::captureImage()
         captureStatusWidget->setStatus(i18n("Calibrating..."), Qt::yellow);
 
     m_StartingCapture = true;
+    auto placeholderPath = Ekos::PlaceholderPath(m_SequenceURL.toLocalFile());
+    placeholderPath.setGenerateFilenameSettings(*activeJob);
+    m_captureDeviceAdaptor->getActiveCamera()->setPlaceholderPath(placeholderPath);
     rc = activeJob->capture(m_captureModuleState->getRefocusState()->isAutoFocusReady(),
                             activeJob->getCalibrationStage() == SequenceJobState::CAL_CALIBRATION ? FITS_CALIBRATE : FITS_NORMAL);
 
@@ -2662,13 +2680,9 @@ void Capture::captureImage()
 /*******************************************************************************/
 /* Update the prefix for the sequence of images to be captured                 */
 /*******************************************************************************/
-void Capture::updateSequencePrefix(const QString &newPrefix, const QString &dir)
+void Capture::updateSequencePrefix(const QString &newPrefix)
 {
     seqPrefix = newPrefix;
-
-    // If it doesn't exist, create it
-    QDir().mkpath(dir);
-
     nextSequenceID = 1;
 }
 
@@ -2676,56 +2690,15 @@ void Capture::updateSequencePrefix(const QString &newPrefix, const QString &dir)
 /* Determine the next file number sequence. That is, if we have file1.png      */
 /* and file2.png, then the next sequence should be file3.png		           */
 /*******************************************************************************/
-void Capture::checkSeqBoundary(const QString &path)
+void Capture::checkSeqBoundary()
 {
-    int newFileIndex = -1;
-    QFileInfo const path_info(path);
-    QString const sig_dir(path_info.dir().path());
-    QString const sig_file(path_info.completeBaseName());
-    QString tempName;
-    // seqFileCount = 0;
-
     // No updates during meridian flip
     if (getMeridianFlipState()->getMeridianFlipStage() >= MeridianFlipState::MF_ALIGNING)
         return;
 
-    QDirIterator it(sig_dir, QDir::Files);
-
-    while (it.hasNext())
-    {
-        tempName = it.next();
-        QFileInfo info(tempName);
-
-        // This returns the filename without the extension
-        tempName = info.completeBaseName();
+    auto placeholderPath = Ekos::PlaceholderPath(m_SequenceURL.toLocalFile());
 
-        // This remove any additional extension (e.g. m42_001.fits.fz)
-        // the completeBaseName() would return m42_001.fits
-        // and this remove .fits so we end up with m42_001
-        tempName = tempName.remove(".fits");
-
-        QString finalSeqPrefix = seqPrefix;
-        finalSeqPrefix.remove(SequenceJob::ISOMarker);
-        // find the prefix first
-        if (tempName.startsWith(finalSeqPrefix, Qt::CaseInsensitive) == false)
-            continue;
-
-        /* Do not change the number of captures.
-         * - If the sequence is required by the end-user, unconditionally run what each sequence item is requiring.
-         * - If the sequence is required by the scheduler, use capturedFramesMap to determine when to stop capturing.
-         */
-        //seqFileCount++;
-
-        int lastUnderScoreIndex = tempName.lastIndexOf("_");
-        if (lastUnderScoreIndex > 0)
-        {
-            bool indexOK = false;
-
-            newFileIndex = tempName.midRef(lastUnderScoreIndex + 1).toInt(&indexOK);
-            if (indexOK && newFileIndex >= nextSequenceID)
-                nextSequenceID = newFileIndex + 1;
-        }
-    }
+    nextSequenceID = placeholderPath.checkSeqBoundary(*activeJob, m_TargetName);
 }
 
 void Capture::appendLogText(const QString &text)
@@ -2939,13 +2912,14 @@ bool Capture::addSequenceJob()
     return addJob(false, false);
 }
 
-bool Capture::addJob(bool preview, bool isDarkFlat)
+bool Capture::addJob(bool preview, bool isDarkFlat, filenamePreviewType filenamePreview)
 {
     if (m_captureModuleState->getCaptureState() != CAPTURE_IDLE && m_captureModuleState->getCaptureState() != CAPTURE_ABORTED
             && m_captureModuleState->getCaptureState() != CAPTURE_COMPLETE)
         return false;
 
     SequenceJob * job = nullptr;
+    m_TargetName = filePrefixT->text();
 
     //    if (preview == false && darkSubCheck->isChecked())
     //    {
@@ -2953,19 +2927,23 @@ bool Capture::addJob(bool preview, bool isDarkFlat)
     //        return false;
     //    }
 
-    if (fileUploadModeS->currentIndex() != ISD::Camera::UPLOAD_CLIENT && fileRemoteDirT->text().isEmpty())
+    if (filenamePreview == NOT_PREVIEW)
     {
-        KSNotification::error(i18n("You must set remote directory for Local & Both modes."));
-        return false;
-    }
+        legacySuffix();
+        if (fileUploadModeS->currentIndex() != ISD::Camera::UPLOAD_CLIENT && fileRemoteDirT->text().isEmpty())
+        {
+            KSNotification::error(i18n("You must set remote directory for Local & Both modes."));
+            return false;
+        }
 
-    if (fileUploadModeS->currentIndex() != ISD::Camera::UPLOAD_LOCAL && fileDirectoryT->text().isEmpty())
-    {
-        KSNotification::error(i18n("You must set local directory for Client & Both modes."));
-        return false;
+        if (fileUploadModeS->currentIndex() != ISD::Camera::UPLOAD_LOCAL && fileDirectoryT->text().isEmpty())
+        {
+            KSNotification::error(i18n("You must set local directory for Client & Both modes."));
+            return false;
+        }
     }
 
-    if (m_JobUnderEdit)
+    if (m_JobUnderEdit && filenamePreview == NOT_PREVIEW)
         job = jobs.at(queueTable->currentRow());
     else
     {
@@ -3013,20 +2991,20 @@ bool Capture::addJob(bool preview, bool isDarkFlat)
     // JM 2019-11-26: In case there is no raw prefix set
     // BUT target name is set, we update the prefix to include
     // the target name, which is usually set by the scheduler.
-    if (!m_TargetName.isEmpty())
+    if (!m_TargetName.isEmpty() && filenamePreview == NOT_PREVIEW)
     {
         // Target name as set externally should override Full Target Name that
         // was set by GOTO operation alone.
         m_FullTargetName = m_TargetName;
         m_FullTargetName.replace("_", " ");
-        if (filePrefixT->text().isEmpty())
-            filePrefixT->setText(m_TargetName);
+        filePrefixT->setText(m_TargetName);
+        job->setCoreProperty(SequenceJob::SJ_TargetName, m_TargetName);
     }
 
     job->setCoreProperty(SequenceJob::SJ_RawPrefix, filePrefixT->text());
-    job->setCoreProperty(SequenceJob::SJ_FilterPrefixEnabled, fileFilterS->isChecked());
-    job->setCoreProperty(SequenceJob::SJ_ExpPrefixEnabled, fileDurationS->isChecked());
-    job->setCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled, fileTimestampS->isChecked());
+    job->setCoreProperty(SequenceJob::SJ_FilterPrefixEnabled, FilterEnabled);
+    job->setCoreProperty(SequenceJob::SJ_ExpPrefixEnabled, ExpEnabled);
+    job->setCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled, TimeStampEnabled);
     job->setFrameType(static_cast<CCDFrameType>(qMax(0, captureTypeS->currentIndex())));
 
     job->setCoreProperty(SequenceJob::SJ_EnforceStartGuiderDrift, (job->getFrameType() == FRAME_LIGHT
@@ -3058,13 +3036,29 @@ bool Capture::addJob(bool preview, bool isDarkFlat)
                          captureFrameHN->value()));
     job->setCoreProperty(SequenceJob::SJ_RemoteDirectory, fileRemoteDirT->text());
 
-    // Remove trailing slash, if any.
-    QString fileDirectory = fileDirectoryT->text();
-    while (fileDirectory.endsWith("/"))
+    QString fileDirectory;
+    if (filenamePreview != REMOTE_PREVIEW)
+    {
+        if (!isDarkFlat)
+            fileDirectory = fileDirectoryT->text().append(formatSuffixN->prefix()).append(formatSuffixN->cleanText());
+        else
+            fileDirectory = fileDirectoryT->text();
+    }
+    else
+    {
+        fileDirectory = fileRemoteDirT->text();
+        // Remotely saved files get a predefined format hard coded in the driver
+        if (!fileDirectory.endsWith(QDir::separator()))
+            fileDirectory.append(QDir::separator());
+        fileDirectory.append("%target" + QDir::separator() + "%Type" + QDir::separator() + "%Filter" + QDir::separator() +
+                             "%target_%Type_%s3");
+    }
+
+    while (fileDirectory.endsWith(QDir::separator()))
         fileDirectory.chop(1);
     job->setCoreProperty(SequenceJob::SJ_LocalDirectory, fileDirectory);
 
-    if (m_JobUnderEdit == false)
+    if (m_JobUnderEdit == false || filenamePreview != NOT_PREVIEW)
     {
         // JM 2018-09-24: If this is the first job added
         // We always ignore job progress by default.
@@ -3194,7 +3188,7 @@ bool Capture::addJob(bool preview, bool isDarkFlat)
         queueDownB->setEnabled(true);
     }
 
-    if (m_JobUnderEdit)
+    if (m_JobUnderEdit && filenamePreview == NOT_PREVIEW)
     {
         m_JobUnderEdit = false;
         resetJobEdit();
@@ -3204,6 +3198,10 @@ bool Capture::addJob(bool preview, bool isDarkFlat)
         emit sequenceChanged(m_SequenceArray);
     }
 
+    QString signature = placeholderPath.generateFilename(*job, job->getCoreProperty(SequenceJob::SJ_TargetName).toString(),
+                        true, 1, ".fits", "", false, true);
+    job->setCoreProperty(SequenceJob::SJ_Signature, signature);
+
     return true;
 }
 
@@ -3423,8 +3421,7 @@ void Capture::prepareJob(SequenceJob * job)
         imgProgress->setValue(activeJob->getCompleted());
 
         if (m_captureDeviceAdaptor->getActiveCamera()->getUploadMode() != ISD::Camera::UPLOAD_LOCAL)
-            updateSequencePrefix(activeJob->getCoreProperty(SequenceJob::SJ_FullPrefix).toString(),
-                                 QFileInfo(activeJob->getSignature()).path());
+            updateSequencePrefix(activeJob->getCoreProperty(SequenceJob::SJ_FullPrefix).toString());
 
         // We check if the job is already fully or partially complete by checking how many files of its type exist on the file system
         // The signature is the unique identification path in the system for a particular job. Format is "<storage path>/<target>/<frame type>/<filter name>".
@@ -3436,7 +3433,7 @@ void Capture::prepareJob(SequenceJob * job)
         // If 29 files exist for example, then nextSequenceID would be the NEXT file number (30)
         // Therefore, we know how to number the next file.
         // However, we do not deduce the number of captures to process from this function.
-        checkSeqBoundary(signature);
+        checkSeqBoundary();
 
         // Captured Frames Map contains a list of signatures:count of _already_ captured files in the file system.
         // This map is set by the Scheduler in order to complete efficiently the required captures.
@@ -3739,8 +3736,7 @@ void Capture::executeJob()
             auto placeholderPath = Ekos::PlaceholderPath();
             // Make sure to update Full Prefix as exposure value was changed
             placeholderPath.processJobInfo(activeJob, activeJob->getCoreProperty(SequenceJob::SJ_TargetName).toString());
-            updateSequencePrefix(activeJob->getCoreProperty(SequenceJob::SJ_FullPrefix).toString(),
-                                 QFileInfo(activeJob->getSignature()).path());
+            updateSequencePrefix(activeJob->getCoreProperty(SequenceJob::SJ_FullPrefix).toString());
         }
 
     }
@@ -4184,7 +4180,7 @@ void Capture::meridianFlipStatusChanged(MeridianFlipState::MeridianFlipMountStat
 
         case MeridianFlipState::MOUNT_FLIP_RUNNING:
             setMeridianFlipStage(MeridianFlipState::MF_INITIATED);
-            m_captureModuleState->setCaptureState(CAPTURE_MERIDIAN_FLIP);
+            emit newStatus(Ekos::CAPTURE_MERIDIAN_FLIP);
             break;
 
         case MeridianFlipState::MOUNT_FLIP_COMPLETED:
@@ -4238,13 +4234,13 @@ void Capture::processNewTargetName(const QString &name)
         QString sanitized = name;
         if (sanitized != i18n("unnamed"))
         {
-            m_FullTargetName = name;
             // Remove illegal characters that can be problematic
             sanitized = sanitized.replace( QRegularExpression("\\s|/|\\(|\\)|:|\\*|~|\"" ), "_" )
                         // Remove any two or more __
                         .replace( QRegularExpression("_{2,}"), "_")
                         // Remove any _ at the end
                         .replace( QRegularExpression("_$"), "");
+            m_FullTargetName = name;
             filePrefixT->setText(sanitized);
         }
     }
@@ -4270,6 +4266,15 @@ void Capture::syncTelescopeInfo()
 
 void Capture::saveFITSDirectory()
 {
+    if (!fileDirectoryT->text().isEmpty())
+    {
+        int overwrite = KMessageBox::warningContinueCancel(nullptr,
+                        i18n("Changing directory will overwrite any format previously entered"));
+        if (overwrite == KMessageBox::Cancel)
+        {
+            return;
+        }
+    }
     QString dir =
         QFileDialog::getExistingDirectory(Ekos::Manager::Instance(), i18nc("@title:window", "FITS Save Directory"),
                                           dirPath.toLocalFile());
@@ -4494,16 +4499,21 @@ bool Capture::processJobInfo(XMLEle * root)
         {
             subEP = findXMLEle(ep, "RawPrefix");
             if (subEP)
-                filePrefixT->setText(pcdataXMLEle(subEP));
+            {
+                if (strcmp(pcdataXMLEle(subEP), "") != 0)
+                    filePrefixT->setText(pcdataXMLEle(subEP));
+                else if (!m_FullTargetName.isEmpty())
+                    filePrefixT->setText(m_FullTargetName);
+            }
             subEP = findXMLEle(ep, "FilterEnabled");
             if (subEP)
-                fileFilterS->setChecked(!strcmp("1", pcdataXMLEle(subEP)));
+                FilterEnabled = !strcmp("1", pcdataXMLEle(subEP));
             subEP = findXMLEle(ep, "ExpEnabled");
             if (subEP)
-                fileDurationS->setChecked(!strcmp("1", pcdataXMLEle(subEP)));
+                ExpEnabled = !strcmp("1", pcdataXMLEle(subEP));
             subEP = findXMLEle(ep, "TimeStampEnabled");
             if (subEP)
-                fileTimestampS->setChecked(!strcmp("1", pcdataXMLEle(subEP)));
+                TimeStampEnabled = !strcmp("1", pcdataXMLEle(subEP));
         }
         else if (!strcmp(tagXMLEle(ep), "Count"))
         {
@@ -4531,7 +4541,11 @@ bool Capture::processJobInfo(XMLEle * root)
         }
         else if (!strcmp(tagXMLEle(ep), "FITSDirectory"))
         {
-            fileDirectoryT->setText(pcdataXMLEle(ep));
+            QString fullFormat = pcdataXMLEle(ep);
+            const QString seqDigitTag = "_%s";
+            QString seqDigits = fullFormat.right(fullFormat.length() - (fullFormat.lastIndexOf(seqDigitTag) + seqDigitTag.length()));
+            formatSuffixN->setValue(seqDigits.toInt());
+            fileDirectoryT->setText(fullFormat.left(fullFormat.lastIndexOf(seqDigitTag)));
         }
         else if (!strcmp(tagXMLEle(ep), "RemoteDirectory"))
         {
@@ -4951,9 +4965,6 @@ void Capture::syncGUIToJob(SequenceJob * job)
     }
 
     auto rawPrefix = job->getCoreProperty(SequenceJob::SJ_RawPrefix).toString();
-    auto filterEnabled = job->getCoreProperty(SequenceJob::SJ_FilterPrefixEnabled).toBool();
-    auto expEnabled = job->getCoreProperty(SequenceJob::SJ_ExpPrefixEnabled).toBool();
-    auto tsEnabled = job->getCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled).toBool();
     const auto roi = job->getCoreProperty(SequenceJob::SJ_ROI).toRect();
 
     captureFormatS->setCurrentText(job->getCoreProperty(SequenceJob::SJ_Format).toString());
@@ -4968,9 +4979,6 @@ void Capture::syncGUIToJob(SequenceJob * job)
     FilterPosCombo->setCurrentIndex(job->getTargetFilter() - 1);
     captureTypeS->setCurrentIndex(job->getFrameType());
     filePrefixT->setText(rawPrefix);
-    fileFilterS->setChecked(filterEnabled);
-    fileDurationS->setChecked(expEnabled);
-    fileTimestampS->setChecked(tsEnabled);
     captureCountN->setValue(job->getCoreProperty(SequenceJob::SJ_Count).toInt());
     captureDelayN->setValue(job->getCoreProperty(SequenceJob::SJ_Delay).toInt() / 1000);
     fileUploadModeS->setCurrentIndex(job->getUploadMode());
@@ -6112,8 +6120,7 @@ bool Capture::processPostCaptureCalibrationStage()
                     // since it may include a placeholder for duration which would affect it.
                     if (m_captureDeviceAdaptor->getActiveCamera()
                             && m_captureDeviceAdaptor->getActiveCamera()->getUploadMode() != ISD::Camera::UPLOAD_LOCAL)
-                        updateSequencePrefix(activeJob->getCoreProperty(SequenceJob::SJ_FullPrefix).toString(),
-                                             QFileInfo(activeJob->getSignature()).path());
+                        updateSequencePrefix(activeJob->getCoreProperty(SequenceJob::SJ_FullPrefix).toString());
 
                     startNextExposure();
                     return false;
@@ -6637,18 +6644,12 @@ void Capture::setFileSettings(const QJsonObject &settings)
     const QString prefix = settings["prefix"].toString(filePrefixT->text());
     //const QString script = settings["script"].toString(fileScriptT->text());
     const QString directory = settings["directory"].toString(fileDirectoryT->text());
-    const bool filter = settings["filter"].toBool(fileFilterS->isChecked());
-    const bool duration = settings["duration"].toBool(fileDurationS->isChecked());
-    const bool ts = settings["ts"].toBool(fileTimestampS->isChecked());
     const int upload = settings["upload"].toInt(fileUploadModeS->currentIndex());
     const QString remote = settings["remote"].toString(fileRemoteDirT->text());
 
     filePrefixT->setText(prefix);
     //    fileScriptT->setText(script);
     fileDirectoryT->setText(directory);
-    fileFilterS->setChecked(filter);
-    fileDurationS->setChecked(duration);
-    fileTimestampS->setChecked(ts);
     fileUploadModeS->setCurrentIndex(upload);
     fileRemoteDirT->setText(remote);
 }
@@ -6660,9 +6661,9 @@ QJsonObject Capture::getFileSettings()
         {"prefix", filePrefixT->text()},
         //        {"script", fileScriptT->text()},
         {"directory", fileDirectoryT->text()},
-        {"filter", fileFilterS->isChecked()},
-        {"duration", fileDurationS->isChecked()},
-        {"ts", fileTimestampS->isChecked()},
+        {"filter", FilterEnabled},
+        {"duration", ExpEnabled},
+        {"ts", TimeStampEnabled},
         {"upload", fileUploadModeS->currentIndex()},
         {"remote", fileRemoteDirT->text()}
     };
@@ -7404,5 +7405,108 @@ void Capture::refreshOpticalTrain()
     opticalTrainCombo->blockSignals(false);
 }
 
+void Capture::generatePreviewFilename()
+{
+    if (m_captureModuleState->getCaptureState() == CAPTURE_IDLE || m_captureModuleState->getCaptureState() == CAPTURE_ABORTED
+            || m_captureModuleState->getCaptureState() == CAPTURE_COMPLETE)
+    {
+        FilenamePreviewLabel->setText(previewFilename( LOCAL_PREVIEW ));
+
+        if (fileUploadModeS->currentIndex() != 0)
+            RemotePreviewLabel->setText(previewFilename( REMOTE_PREVIEW ));
+    }
+}
+
+QString Capture::previewFilename(filenamePreviewType previewType)
+{
+    QString previewText = "";
+
+    QString m_format;
+    const QString seqDigitsTag = "%s";
+
+    // Prevent the user entering a sequence tag in the main Format
+    if (fileDirectoryT->text().contains(seqDigitsTag))
+    {
+        fileDirectoryT->setText(fileDirectoryT->text().left(fileDirectoryT->text().indexOf(seqDigitsTag)));
+        if (fileDirectoryT->text().endsWith("-") || fileDirectoryT->text().endsWith("_"))
+            fileDirectoryT->setText(fileDirectoryT->text().left(fileDirectoryT->text().length() - 1));
+    }
+
+    if (previewType == LOCAL_PREVIEW)
+        m_format = fileDirectoryT->text().append(formatSuffixN->prefix()).append(formatSuffixN->cleanText());
+    else if (previewType == REMOTE_PREVIEW)
+        m_format = fileRemoteDirT->text();
+
+    //Guard against an empty format to avoid the empty directory warning pop-up in addjob
+    if (m_format.isEmpty())
+        return previewText;
+    // Tags %d & %p disable for now for simplicity
+    //    else if (m_SequenceURL.toLocalFile().isEmpty() && (m_format.contains("%d") || m_format.contains("%p")
+    //             || m_format.contains("%f")))
+    else if (m_SequenceURL.toLocalFile().isEmpty() && m_format.contains("%f"))
+        previewText = ("Save the sequence file to show filename preview");
+    else if (addJob(true, false, previewType) == true)
+    {
+        QString previewSeq;
+        if (m_SequenceURL.toLocalFile().isEmpty())
+        {
+            if (m_format.startsWith("/"))
+                previewSeq = m_format.left(m_format.lastIndexOf("/"));
+        }
+        else
+            previewSeq = m_SequenceURL.toLocalFile();
+        auto m_placeholderPath = Ekos::PlaceholderPath(previewSeq);
+        auto m_job = jobs.last();
+
+        QString extension = ".fits";
+        if (captureEncodingS->currentText() != "FITS")
+            extension = ".[NATIVE]";
+        previewText = m_placeholderPath.generateFilename(*m_job, filePrefixT->text(), true, 1, extension, "", false);
+        jobs.removeLast();
+    }
+
+    return previewText;
+}
+
+void Capture::legacySuffix()
+{
+    bool legacyMode = false;
+    if(Options::fileSettingsUseFilter() || Options::fileSettingsUseDuration() || Options::fileSettingsUseTimestamp())
+        legacyMode = true;
+
+    if (legacyMode)
+    {
+        QString m_format = fileDirectoryT->text();
+        if (m_format.startsWith("/"))
+        {
+            if (m_format.contains("%"))
+                m_format = m_format.left(m_format.indexOf("%"));
+
+            if (!m_format.endsWith(QDir::separator()))
+                m_format.append(QDir::separator());
+
+            m_format.append("%t" + QDir::separator() + "%T" + QDir::separator());
+
+            if (!FilterPosCombo->currentText().isEmpty())
+                m_format.append("%F" + QDir::separator());
+            if (!filePrefixT->text().isEmpty() || !m_TargetName.isEmpty())
+                m_format.append("%t_");
+
+            m_format.append("%T_");
+
+            if (!FilterPosCombo->currentText().isEmpty() && FilterEnabled)
+                m_format.append("%F_");
+            if (ExpEnabled)
+                m_format.append("%e_");
+            if (TimeStampEnabled)
+                m_format.append("%D_");
+
+            if (m_format.endsWith("_"))
+                m_format.chop(1);
+            fileDirectoryT->setText(m_format);
+            formatSuffixN->setValue(3);
+        }
+    }
+}
 
 }
diff --git a/kstars/ekos/capture/capture.h b/kstars/ekos/capture/capture.h
index 5dce86d1b..9e7b67eb1 100644
--- a/kstars/ekos/capture/capture.h
+++ b/kstars/ekos/capture/capture.h
@@ -101,6 +101,13 @@ class Capture : public QWidget, public Ui::Capture
             ADU_POLYNOMIAL
         } ADUAlgorithm;
 
+        typedef enum
+        {
+            NOT_PREVIEW,
+            LOCAL_PREVIEW,
+            REMOTE_PREVIEW
+        } filenamePreviewType;
+
         typedef IPState (Capture::*PauseFunctionPointer)();
 
         Capture();
@@ -369,7 +376,7 @@ class Capture : public QWidget, public Ui::Capture
         }
 
         /* Capture */
-        void updateSequencePrefix(const QString &newPrefix, const QString &dir);
+        void updateSequencePrefix(const QString &newPrefix);
 
         /**
          * @brief getSequence Return the JSON representation of the current sequeue queue
@@ -653,9 +660,10 @@ class Capture : public QWidget, public Ui::Capture
              * @brief addJob Add a new job to the sequence queue given the settings in the GUI.
              * @param preview True if the job is a preview job, otherwise, it is added as a batch job.
              * @param isDarkFlat True if the job is a dark flat job, false otherwise.
+             * @param filenamePreview if the job is to generate a preview filename
              * @return True if job is added successfully, false otherwise.
              */
-        bool addJob(bool preview = false, bool isDarkFlat = false);
+        bool addJob(bool preview = false, bool isDarkFlat = false, filenamePreviewType filenamePreview = NOT_PREVIEW);
 
         /**
          * @brief removeJob Remove a job sequence from the queue
@@ -784,7 +792,7 @@ class Capture : public QWidget, public Ui::Capture
         void resetFrame();
         void setExposureProgress(ISD::CameraChip *tChip, double value, IPState state);
         void updateCaptureCountDown(int deltaMillis);
-        void checkSeqBoundary(const QString &path);
+        void checkSeqBoundary();
         void saveFITSDirectory();
         void setNewRemoteFile(QString file);
 
@@ -846,6 +854,13 @@ class Capture : public QWidget, public Ui::Capture
 
         void setDownloadProgress();
 
+        // Filename preview
+        void generatePreviewFilename();
+        QString previewFilename(filenamePreviewType = LOCAL_PREVIEW);
+
+        // Legacy filename suffix mapping
+        void legacySuffix();
+
     signals:
         Q_SCRIPTABLE void newLog(const QString &text);
         Q_SCRIPTABLE void meridianFlipStarted();
@@ -1157,5 +1172,9 @@ class Capture : public QWidget, public Ui::Capture
 
         bool m_StartingCapture {true};
         QSharedPointer<FilterManager> m_FilterManager;
+
+        bool FilterEnabled {false};
+        bool ExpEnabled {false};
+        bool TimeStampEnabled {false};
 };
 }
diff --git a/kstars/ekos/capture/capture.ui b/kstars/ekos/capture/capture.ui
index 34b666780..b2f1a1156 100644
--- a/kstars/ekos/capture/capture.ui
+++ b/kstars/ekos/capture/capture.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>727</width>
+    <width>750</width>
     <height>518</height>
    </rect>
   </property>
@@ -897,17 +897,20 @@
           <property name="spacing">
            <number>2</number>
           </property>
-          <item row="3" column="5" colspan="2">
-           <widget class="QLineEdit" name="fileRemoteDirT">
-            <property name="enabled">
-             <bool>false</bool>
+          <item row="4" column="0">
+           <widget class="QLabel" name="label_10">
+            <property name="minimumSize">
+             <size>
+              <width>0</width>
+              <height>20</height>
+             </size>
             </property>
-            <property name="placeholderText">
-             <string>/home/pi</string>
+            <property name="text">
+             <string>Preview:</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="6">
+          <item row="1" column="5">
            <widget class="QPushButton" name="selectFileDirectoryB">
             <property name="sizePolicy">
              <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -932,7 +935,20 @@
             </property>
            </widget>
           </item>
-          <item row="3" column="2">
+          <item row="0" column="0">
+           <widget class="QLabel" name="textLabel1_7">
+            <property name="toolTip">
+             <string><html><head/><body><p>Target is the name of the targetted object.</p><p>It is available to be used in the filename Format via the %t or %type placeholder tag.</p></body></html></string>
+            </property>
+            <property name="whatsThis">
+             <string/>
+            </property>
+            <property name="text">
+             <string>Target:</string>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="1">
            <widget class="QComboBox" name="fileUploadModeS">
             <property name="sizePolicy">
              <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@@ -957,134 +973,134 @@
             </item>
            </widget>
           </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label_3">
+          <item row="3" column="3" colspan="3">
+           <widget class="QLineEdit" name="fileRemoteDirT">
+            <property name="enabled">
+             <bool>false</bool>
+            </property>
+            <property name="placeholderText">
+             <string>/home/pi</string>
+            </property>
+           </widget>
+          </item>
+          <item row="3" column="2">
+           <widget class="QLabel" name="label_2">
             <property name="toolTip">
-             <string>Post-capture script to be executed after an image is captured. The capture sequence is resumed when the script is executed successfully.</string>
+             <string>When storing images on remote devices, specify the directory where captured images are saved to.</string>
             </property>
             <property name="text">
-             <string>Postfix:</string>
+             <string>Remote:</string>
+            </property>
+            <property name="alignment">
+             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
             </property>
            </widget>
           </item>
-          <item row="1" column="1" colspan="6">
-           <layout class="QHBoxLayout" name="postfixHorizontalLayout">
-            <property name="spacing">
-             <number>2</number>
+          <item row="1" column="1" colspan="3">
+           <widget class="QLineEdit" name="fileDirectoryT">
+            <property name="text">
+             <string>Local path / Format</string>
             </property>
-            <item>
-             <widget class="QCheckBox" name="fileFilterS">
-              <property name="toolTip">
-               <string>Append the active filter slot to the prefix</string>
-              </property>
-              <property name="text">
-               <string>Filter</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QCheckBox" name="fileDurationS">
-              <property name="toolTip">
-               <string>Append the expose duration to the prefix</string>
-              </property>
-              <property name="text">
-               <string>Duration</string>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <widget class="QCheckBox" name="fileTimestampS">
-              <property name="toolTip">
-               <string>Append time stamp to the prefix</string>
-              </property>
-              <property name="text">
-               <string>TS</string>
-              </property>
-              <property name="checked">
-               <bool>false</bool>
-              </property>
-             </widget>
-            </item>
-            <item>
-             <spacer name="horizontalSpacer_4">
-              <property name="orientation">
-               <enum>Qt::Horizontal</enum>
-              </property>
-              <property name="sizeHint" stdset="0">
-               <size>
-                <width>40</width>
-                <height>20</height>
-               </size>
-              </property>
-             </spacer>
-            </item>
-           </layout>
+           </widget>
           </item>
-          <item row="2" column="2" colspan="4">
-           <widget class="QLineEdit" name="fileDirectoryT"/>
+          <item row="0" column="1" colspan="5">
+           <widget class="QLineEdit" name="filePrefixT">
+            <property name="placeholderText">
+             <string>Target</string>
+            </property>
+            <property name="clearButtonEnabled">
+             <bool>true</bool>
+            </property>
+           </widget>
           </item>
-          <item row="2" column="0">
-           <widget class="QLabel" name="textLabel1_18">
+          <item row="3" column="0">
+           <widget class="QLabel" name="label_4">
             <property name="toolTip">
-             <string>Local directory to save sequence images</string>
-            </property>
-            <property name="whatsThis">
-             <string/>
+             <string><html><head/><body><p>Select how captured images are uploaded:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Locally</span>: Captured images are saved locally on disk in the directory specified above.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remotely</span>: When connecting to a remote device, select this option to save images on the remote device only. No images are uploaded to Ekos.</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Both</span>: Captured images are saved on both the remote computer <span style=" font-weight:600;">and</span> on the local disk as well.</li></ol><p>When selecting <span style=" font-style:italic;">Remotely</span> or <span style=" font-style:italic;">Both</span>, you must specify the remote directory where the remote images are saved to. By default, all captured images are saved <span style=" font-style:italic;">Locally</span>.</p></body></html></string>
             </property>
             <property name="text">
-             <string>Directory:</string>
+             <string>Save:</string>
             </property>
            </widget>
           </item>
-          <item row="0" column="0">
-           <widget class="QLabel" name="textLabel1_7">
+          <item row="1" column="0">
+           <widget class="QLabel" name="textLabel1_18">
             <property name="toolTip">
-             <string><p>Prefix is used to generate file names ( e.g. M42_HA_240_secs_001.fits)</p>
-<ul>
-<li><strong>Target</strong>: Target Name (e.g. M42)</li>
-<li><strong>Filter</strong>: When using a filter wheel, the filter name is appended to the file name (e.g. HA)</li>
-<li><strong>Duration</strong>: Capture duration is appended to the file name (e.g. 240_secs)</li>
-<li><strong>TS</strong>: ISO 8601 timestamp is appended to the file name (e.g. 2016-10-20T22:42:10)</li>
-</ul></string>
+             <string><html><head/><body><p>Format is used to define the image file names by the use of placeholder tags.</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Placeholder<span style=" font-weight:700;"> %f</span> or <span style=" font-weight:700;">%filename</span>: The name of the .esq file, without extension.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Placeholder<span style=" font-weight:700;"> %D</span> or <span style=" font-weight:700;">%Datetime</span>: The current time and date <span style=" font-weight:700;">when the file is saved.</span></li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Placeholder<span style=" font-weight:700;"> %T</span> or <span style=" font-weight:700;">%Type</span>: The frame type eg: 'Light', 'Bias', 'Dark', 'Flat'...</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Placeholder<span style=" font-weight:700;"> %e</span> or <span style=" font-weight:700;">%exposure</span>: The exposure duration in seconds.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Placeholder<span style=" font-weight:700;"> %F</span> or <span style=" font-weight:700;">%Filter</span>: The active filter name.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Placeholder<span style=" font-weight:700;"> %t</span> or <span style=" font-weight:700;">%target</span>: The Target name.</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Placeholder<span style=" font-weight:700;"> %s*</span> or <span style=" font-weight:700;">%sequence</span>: The image sequence identifier where * is the number of digits used (1-9). <span style=" font-weight:700;">This tag is mandatory and must be the last element in the format.</span></li></ul><p>Arbitary text may also be included within the Format string, <span style=" font-weight:700;">except the % and \ characters.</span> The / path character can be used to define aribtary directories.</p><p>Notes:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Tags are case sensitive in both their short and long forms.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Only use the %Datetime tag in the filename portion of the format, not in the path definition.</li></ul></body></html></string>
             </property>
             <property name="whatsThis">
              <string/>
             </property>
             <property name="text">
-             <string>Prefix:</string>
+             <string>Format:</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="3">
-           <widget class="QLabel" name="label_2">
-            <property name="toolTip">
-             <string>When storing images on remote devices, specify the directory where captured images are saved to.</string>
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_9">
+            <property name="minimumSize">
+             <size>
+              <width>0</width>
+              <height>20</height>
+             </size>
             </property>
             <property name="text">
-             <string>Remote:</string>
+             <string>Preview:</string>
             </property>
-            <property name="alignment">
-             <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+           </widget>
+          </item>
+          <item row="2" column="1" colspan="6">
+           <widget class="QLabel" name="FilenamePreviewLabel">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="font">
+             <font>
+              <pointsize>9</pointsize>
+             </font>
+            </property>
+            <property name="text">
+             <string>Local preview</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="0">
-           <widget class="QLabel" name="label_4">
-            <property name="toolTip">
-             <string><html><head/><body><p>Select how captured images are uploaded:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Locally</span>: Captured images are saved locally on disk in the directory specified above.</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Remotely</span>: When connecting to a remote device, select this option to save images on the remote device only. No images are uploaded to Ekos.</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Both</span>: Captured images are saved on both the remote computer <span style=" font-weight:600;">and</span> on the local disk as well.</li></ol><p>When selecting <span style=" font-style:italic;">Remotely</span> or <span style=" font-style:italic;">Both</span>, you must specify the remote directory where the remote images are saved to. By default, all captured images are saved <span style=" font-style:italic;">Locally</span>.</p></body></html></string>
+          <item row="4" column="1" colspan="6">
+           <widget class="QLabel" name="RemotePreviewLabel">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Maximum" vsizetype="Maximum">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="font">
+             <font>
+              <pointsize>9</pointsize>
+             </font>
             </property>
             <property name="text">
-             <string>Save:</string>
+             <string>Remote preview</string>
             </property>
            </widget>
           </item>
-          <item row="0" column="2" colspan="5">
-           <widget class="QLineEdit" name="filePrefixT">
-            <property name="placeholderText">
-             <string>Target</string>
+          <item row="1" column="4">
+           <widget class="QSpinBox" name="formatSuffixN">
+            <property name="toolTip">
+             <string><html><head/><body><p>Number of digits used to append the sequence number to the filename.</p></body></html></string>
             </property>
-            <property name="clearButtonEnabled">
-             <bool>true</bool>
+            <property name="prefix">
+             <string>_%s</string>
+            </property>
+            <property name="minimum">
+             <number>1</number>
+            </property>
+            <property name="maximum">
+             <number>9</number>
+            </property>
+            <property name="value">
+             <number>3</number>
             </property>
            </widget>
           </item>
@@ -2410,9 +2426,6 @@ font-weight:bold;
   <tabstop>customValuesB</tabstop>
   <tabstop>rotatorB</tabstop>
   <tabstop>filePrefixT</tabstop>
-  <tabstop>fileFilterS</tabstop>
-  <tabstop>fileDurationS</tabstop>
-  <tabstop>fileTimestampS</tabstop>
   <tabstop>fileDirectoryT</tabstop>
   <tabstop>selectFileDirectoryB</tabstop>
   <tabstop>fileUploadModeS</tabstop>
diff --git a/kstars/ekos/capture/placeholderpath.cpp b/kstars/ekos/capture/placeholderpath.cpp
index b9d1c45a2..27f984a86 100644
--- a/kstars/ekos/capture/placeholderpath.cpp
+++ b/kstars/ekos/capture/placeholderpath.cpp
@@ -6,7 +6,6 @@
 
 #include "placeholderpath.h"
 
-#include "ekos/scheduler/schedulerjob.h"
 #include "sequencejob.h"
 #include "Options.h"
 #include "kspaths.h"
@@ -15,11 +14,12 @@
 #include <QStringList>
 
 #include <cmath>
+#include <algorithm>
 
 namespace Ekos
 {
 
-PlaceholderPath::PlaceholderPath(QString seqFilename):
+PlaceholderPath::PlaceholderPath(const QString &seqFilename):
     m_frameTypes(
 {
     {FRAME_LIGHT, "Light"},
@@ -41,7 +41,7 @@ PlaceholderPath::~PlaceholderPath()
 {
 }
 
-void PlaceholderPath::processJobInfo(SequenceJob *job, QString targetName)
+void PlaceholderPath::processJobInfo(SequenceJob *job, const QString &targetName)
 {
     job->setCoreProperty(SequenceJob::SJ_TargetName, targetName);
 
@@ -51,24 +51,23 @@ void PlaceholderPath::processJobInfo(SequenceJob *job, QString targetName)
     auto rawPrefix = job->getCoreProperty(SequenceJob::SJ_RawPrefix).toString();
     auto filterEnabled = job->getCoreProperty(SequenceJob::SJ_FilterPrefixEnabled).toBool();
     auto expEnabled = job->getCoreProperty(SequenceJob::SJ_ExpPrefixEnabled).toBool();
-    //auto tsEnabled = job->getCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled).toBool();
     const auto isDarkFlat = job->getCoreProperty(SequenceJob::SJ_DarkFlat).toBool();
 
     if (isDarkFlat)
         frameType = "DarkFlat";
 
     // Sanitize name
-    //QString targetName = schedJob->getName();
-    targetName = targetName.replace( QRegularExpression("\\s|/|\\(|\\)|:|\\*|~|\"" ), "_" )
-                 // Remove any two or more __
-                 .replace( QRegularExpression("_{2,}"), "_")
-                 // Remove any _ at the end
-                 .replace( QRegularExpression("_$"), "");
+    QString tempTargetName = targetName;
+    tempTargetName.replace( QRegularExpression("\\s|/|\\(|\\)|:|\\*|~|\"" ), "_" )
+    // Remove any two or more __
+    .replace( QRegularExpression("_{2,}"), "_")
+    // Remove any _ at the end
+    .replace( QRegularExpression("_$"), "");
 
     // Because scheduler sets the target name in capture module
     // it would be the same as the raw prefix
-    if (targetName.isEmpty() == false && rawPrefix.isEmpty())
-        rawPrefix = targetName;
+    if (tempTargetName.isEmpty() == false && rawPrefix.isEmpty())
+        rawPrefix = tempTargetName;
 
     // Make full prefix
     QString imagePrefix = rawPrefix;
@@ -79,7 +78,8 @@ void PlaceholderPath::processJobInfo(SequenceJob *job, QString targetName)
     imagePrefix += frameType;
 
     if (filterEnabled && filterType.isEmpty() == false &&
-            (job->getFrameType() == FRAME_LIGHT || job->getFrameType() == FRAME_FLAT || job->getFrameType() == FRAME_NONE || isDarkFlat))
+            (job->getFrameType() == FRAME_LIGHT || job->getFrameType() == FRAME_FLAT || job->getFrameType() == FRAME_NONE
+             || isDarkFlat))
     {
         imagePrefix += '_';
 
@@ -116,19 +116,23 @@ void PlaceholderPath::processJobInfo(SequenceJob *job, QString targetName)
     QString directoryPostfix;
 
     /* FIXME: Refactor directoryPostfix assignment, whose code is duplicated in capture.cpp */
-    if (targetName.isEmpty())
+    if (tempTargetName.isEmpty())
         directoryPostfix = QDir::separator() + frameType;
     else
-        directoryPostfix = QDir::separator() + targetName + QDir::separator() + frameType;
-    if ((job->getFrameType() == FRAME_LIGHT || job->getFrameType() == FRAME_FLAT || job->getFrameType() == FRAME_NONE || isDarkFlat)
+        directoryPostfix = QDir::separator() + tempTargetName + QDir::separator() + frameType;
+    if ((job->getFrameType() == FRAME_LIGHT || job->getFrameType() == FRAME_FLAT || job->getFrameType() == FRAME_NONE
+            || isDarkFlat)
             && filterType.isEmpty() == false)
         directoryPostfix += QDir::separator() + filterType;
 
     job->setCoreProperty(SequenceJob::SJ_DirectoryPostfix, directoryPostfix);
 
+    QString signature = generateFilename(*job, job->getCoreProperty(SequenceJob::SJ_TargetName).toString(), true,
+                                         1, ".fits", "", false, true);
+    job->setCoreProperty(SequenceJob::SJ_Signature, signature);
 }
 
-void PlaceholderPath::addJob(SequenceJob *job, QString targetName)
+void PlaceholderPath::addJob(SequenceJob *job, const QString &targetName)
 {
     job->setCoreProperty(SequenceJob::SJ_TargetName, targetName);
 
@@ -137,7 +141,6 @@ void PlaceholderPath::addJob(SequenceJob *job, QString targetName)
     const auto rawPrefix = job->getCoreProperty(SequenceJob::SJ_RawPrefix).toString();
     QString imagePrefix = rawPrefix;
 
-    // Override
     const auto isDarkFlat = job->getCoreProperty(SequenceJob::SJ_DarkFlat).toBool();
     if (isDarkFlat)
         frameTypeString = "DarkFlat";
@@ -150,9 +153,9 @@ void PlaceholderPath::addJob(SequenceJob *job, QString targetName)
         imagePrefix = targetName;
     }
 
-    constructPrefix(job, imagePrefix);
+    QString tempPrefix = constructPrefix(job, imagePrefix);
 
-    job->setCoreProperty(SequenceJob::SJ_FullPrefix, imagePrefix);
+    job->setCoreProperty(SequenceJob::SJ_FullPrefix, tempPrefix);
 
     QString directoryPostfix;
 
@@ -172,7 +175,7 @@ void PlaceholderPath::addJob(SequenceJob *job, QString targetName)
     job->setCoreProperty(SequenceJob::SJ_DirectoryPostfix, directoryPostfix);
 }
 
-void PlaceholderPath::constructPrefix(SequenceJob *job, QString &imagePrefix)
+QString PlaceholderPath::constructPrefix(const SequenceJob *job, const QString &imagePrefix)
 {
     CCDFrameType frameType = job->getFrameType();
     auto filter = job->getCoreProperty(SequenceJob::SJ_Filter).toString();
@@ -183,12 +186,13 @@ void PlaceholderPath::constructPrefix(SequenceJob *job, QString &imagePrefix)
 
     double exposure = job->getCoreProperty(SequenceJob::SJ_Exposure).toDouble();
 
-    if (imagePrefix.isEmpty() == false)
-        imagePrefix += '_';
+    QString tempImagePrefix = imagePrefix;
+    if (tempImagePrefix.isEmpty() == false)
+        tempImagePrefix += '_';
 
     const auto isDarkFlat = job->getCoreProperty(SequenceJob::SJ_DarkFlat).toBool();
 
-    imagePrefix += isDarkFlat ? "DarkFlat" : CCDFrameTypeNames[frameType];
+    tempImagePrefix += isDarkFlat ? "DarkFlat" : CCDFrameTypeNames[frameType];
 
     if (filterEnabled && filter.isEmpty() == false &&
             (frameType == FRAME_LIGHT ||
@@ -196,254 +200,188 @@ void PlaceholderPath::constructPrefix(SequenceJob *job, QString &imagePrefix)
              frameType == FRAME_NONE ||
              isDarkFlat))
     {
-        imagePrefix += '_';
-        imagePrefix += filter;
+        tempImagePrefix += '_';
+        tempImagePrefix += filter;
     }
     if (expEnabled)
     {
-        imagePrefix += '_';
+        tempImagePrefix += '_';
 
         double exposureValue = job->getCoreProperty(SequenceJob::SJ_Exposure).toDouble();
 
         // Don't use the locale for exposure value in the capture file name, so that we get a "." as decimal separator
         if (exposureValue == static_cast<int>(exposureValue))
             // Whole number
-            imagePrefix += QString::number(exposure, 'd', 0) + QString("_secs");
+            tempImagePrefix += QString::number(exposure, 'd', 0) + QString("_secs");
         else
         {
             // Decimal
             if (exposure >= 0.001)
-                imagePrefix += QString::number(exposure, 'f', 3) + QString("_secs");
+                tempImagePrefix += QString::number(exposure, 'f', 3) + QString("_secs");
             else
-                imagePrefix += QString::number(exposure, 'f', 6) + QString("_secs");
+                tempImagePrefix += QString::number(exposure, 'f', 6) + QString("_secs");
         }
     }
     if (tsEnabled)
     {
-        imagePrefix += SequenceJob::ISOMarker;
+        tempImagePrefix += SequenceJob::ISOMarker;
     }
-}
 
-void PlaceholderPath::generateFilenameOld(const QString &format, bool batch_mode, QString *filename,
-        QString fitsDir, QString seqPrefix, int nextSequenceID
-                                         )
-{
-    QString currentDir;
-    if (batch_mode)
-        currentDir = fitsDir.isEmpty() ? Options::fitsDir() : fitsDir;
-    else
-        currentDir = KSPaths::writableLocation(QStandardPaths::TempLocation) + "/kstars";
-
-    /*
-    if (QDir(currentDir).exists() == false)
-        QDir().mkpath(currentDir);
-    */
-
-    if (currentDir.endsWith('/') == false)
-        currentDir.append('/');
-
-    // IS8601 contains colons but they are illegal under Windows OS, so replacing them with '-'
-    // The timestamp is no longer ISO8601 but it should solve interoperality issues
-    // between different OS hosts
-    QString ts = QDateTime::currentDateTime().toString("yyyy-MM-ddThh-mm-ss");
-
-    if (seqPrefix.contains("_ISO8601"))
-    {
-        QString finalPrefix = seqPrefix;
-        finalPrefix.replace("ISO8601", ts);
-        *filename = currentDir + finalPrefix +
-                    QString("_%1%2").arg(QString().asprintf("%03d", nextSequenceID), format);
-    }
-    else
-        *filename = currentDir + seqPrefix + (seqPrefix.isEmpty() ? "" : "_") +
-                    QString("%1%2").arg(QString().asprintf("%03d", nextSequenceID), format);
+    return tempImagePrefix;
 }
 
-void PlaceholderPath::generateFilename(
-    QString format, SequenceJob &job, QString targetName, bool batch_mode, int nextSequenceID, const QString &extension,
-    QString *filename) const
+QString PlaceholderPath::generateFilename(const SequenceJob &job, const QString &targetName, const bool batch_mode,
+        const int nextSequenceID, const QString &extension, const QString &filename, const bool glob,
+        const bool gettingSignature) const
 {
     auto filter = job.getCoreProperty(SequenceJob::SJ_Filter).toString();
     auto rawPrefix = job.getCoreProperty(SequenceJob::SJ_RawPrefix).toString();
-    auto filterEnabled = job.getCoreProperty(SequenceJob::SJ_FilterPrefixEnabled).toBool();
-    auto expEnabled = job.getCoreProperty(SequenceJob::SJ_ExpPrefixEnabled).toBool();
-    auto tsEnabled = job.getCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled).toBool();
     auto darkFlat = job.getCoreProperty(SequenceJob::SJ_DarkFlat).toBool();
 
+    QString format = job.getCoreProperty(SequenceJob::SJ_LocalDirectory).toString();
 
-    generateFilename(format, rawPrefix, filterEnabled, expEnabled,
-                     tsEnabled, darkFlat, filter, job.getFrameType(), job.getCoreProperty(SequenceJob::SJ_Exposure).toDouble(),
-                     targetName, batch_mode, nextSequenceID, extension, filename);
+    return generateFilename(format, rawPrefix, darkFlat, filter, job.getFrameType(),
+                            job.getCoreProperty(SequenceJob::SJ_Exposure).toDouble(), targetName,
+                            batch_mode, nextSequenceID, extension, filename, glob, gettingSignature);
 }
 
-void PlaceholderPath::generateFilename(QString format, bool tsEnabled, bool batch_mode,
-                                       int nextSequenceID, const QString &extension, QString *filename) const
+QString PlaceholderPath::generateFilename(const bool batch_mode, const int nextSequenceID, const QString &extension,
+        const QString &filename, const bool glob, const bool gettingSignature) const
 {
-    generateFilename(format, m_RawPrefix, m_filterPrefixEnabled, m_expPrefixEnabled,
-                     tsEnabled, m_DarkFlat, m_filter, m_frameType, m_exposure, m_targetName, batch_mode,
-                     nextSequenceID, extension, filename);
+    return generateFilename(m_format, m_RawPrefix, m_DarkFlat, m_filter, m_frameType, m_exposure, m_targetName,
+                            batch_mode, nextSequenceID, extension, filename, glob, gettingSignature);
 }
 
-void PlaceholderPath::generateFilename(
-    QString format, QString rawFilePrefix, bool filterEnabled, bool exposureEnabled,
-    bool tsEnabled, bool isDarkFlat, QString filter, CCDFrameType frameType, double exposure, QString targetName,
-    bool batch_mode, int nextSequenceID,  const QString &extension, QString *filename) const
+QString PlaceholderPath::generateFilename(const QString &format, const QString &rawFilePrefix, const bool isDarkFlat,
+        const QString &filter, const CCDFrameType &frameType, const double exposure,
+        const QString &targetName, const bool batch_mode, const int nextSequenceID,  const QString &extension,
+        const QString &filename, const bool glob, const bool gettingSignature) const
 {
-    targetName = targetName.replace( QRegularExpression("\\s|/|\\(|\\)|:|\\*|~|\"" ), "_" )
-                 // Remove any two or more __
-                 .replace( QRegularExpression("_{2,}"), "_")
-                 // Remove any _ at the end
-                 .replace( QRegularExpression("_$"), "");
+    QString tempTargetName = targetName;
+    tempTargetName.replace( QRegularExpression("\\s|/|\\(|\\)|:|\\*|~|\"" ), "_" )
+    // Remove any two or more __
+    .replace( QRegularExpression("_{2,}"), "_")
+    // Remove any _ at the end
+    .replace( QRegularExpression("_$"), "");
     int i = 0;
 
+    QString tempFilename = filename;
+    QString tempFormat = format;
     QString currentDir;
     if (batch_mode)
-    {
-        currentDir = m_seqFilename.path().isEmpty() ? Options::fitsDir() : currentDir;
-    }
+        currentDir = format.left(format.lastIndexOf(QDir::separator()));
     else
-    {
-        currentDir = KSPaths::writableLocation(QStandardPaths::TempLocation) + "/kstars";
-    }
+        currentDir = KSPaths::writableLocation(QStandardPaths::TempLocation) + QDir::separator() + "kstars";
 
-    if (currentDir.endsWith('/') == true)
+    if (currentDir.endsWith(QDir::separator()) == true)
         currentDir.chop(1);
 
     if (!currentDir.isEmpty())
-        format = currentDir + "/" + format.section("/", -1);
+        tempFormat = currentDir + QDir::separator() + tempFormat.section(QDir::separator(), -1);
 
     QRegularExpressionMatch match;
-    QRegularExpression re("(?<replace>\\%(?<name>[f,D,T,e,F,t,d,p,s])(?<level>\\d+)?)(?<sep>[_/])?");
-    while ((i = format.indexOf(re, i, &match)) != -1)
+    QRegularExpression
+    // This is the original regex with %p & %d tags - disabled for now to simply
+    // re("(?<replace>\\%(?<name>(filename|f|Datetime|D|Type|T|exposure|e|Filter|F|target|t|sequence|s|directory|d|path|p))(?<level>\\d+)?)(?<sep>[_/])?");
+    re("(?<replace>\\%(?<name>(filename|f|Datetime|D|Type|T|exposure|e|Filter|F|target|t|sequence|s))(?<level>\\d+)?)(?<sep>[_/])?");
+    while ((i = tempFormat.indexOf(re, i, &match)) != -1)
     {
         QString replacement = "";
-        if (match.captured("name") == "f")
-        {
+        if ((match.captured("name") == "filename") || (match.captured("name") == "f"))
             replacement = m_seqFilename.baseName();
-        }
-        else if (match.captured("name") == "D")
+        else if ((match.captured("name") == "Datetime") || (match.captured("name") == "D"))
         {
-            if (tsEnabled)
-            {
+            if (glob || gettingSignature)
+                replacement = "\\d\\d\\d\\d-\\d\\d-\\d\\dT\\d\\d-\\d\\d-\\d\\d";
+            else
                 replacement = QDateTime::currentDateTime().toString("yyyy-MM-ddThh-mm-ss");
-            }
         }
-        else if (match.captured("name") == "T")
+        else if ((match.captured("name") == "Type") || (match.captured("name") == "T"))
         {
             if (isDarkFlat)
                 replacement = "DarkFlat";
             else
                 replacement = getFrameType(frameType);
         }
-        else if (match.captured("name") == "e")
+        else if ((match.captured("name") == "exposure") || (match.captured("name") == "e"))
         {
-            if (exposureEnabled)
-            {
-                double fractpart, intpart;
-                fractpart = std::modf(exposure, &intpart);
-                if (fractpart == 0)
-                {
-                    replacement = QString::number(exposure, 'd', 0) + QString("_secs");
-                }
-                else if (exposure >= 1e-3)
-                {
-                    replacement = QString::number(exposure, 'f', 3) + QString("_secs");
-                }
-                else
-                {
-                    replacement = QString::number(exposure, 'f', 6) + QString("_secs");
-                }
-            }
+            double fractpart, intpart;
+            fractpart = std::modf(exposure, &intpart);
+            if (fractpart == 0)
+                replacement = QString::number(exposure, 'd', 0) + QString("_secs");
+            else if (exposure >= 1e-3)
+                replacement = QString::number(exposure, 'f', 3) + QString("_secs");
+            else
+                replacement = QString::number(exposure, 'f', 6) + QString("_secs");
         }
-        else if (match.captured("name") == "F")
+        else if ((match.captured("name") == "Filter") || (match.captured("name") == "F"))
         {
-            if (format.indexOf("/", match.capturedStart()) == -1)
+            if (filter.isEmpty() == false
+                    && (frameType == FRAME_LIGHT
+                        || frameType == FRAME_FLAT
+                        || frameType == FRAME_NONE
+                        || isDarkFlat))
             {
-                // in the basename part of the path
-                if (filterEnabled && filter.isEmpty() == false
-                        && (frameType == FRAME_LIGHT
-                            || frameType == FRAME_FLAT
-                            || frameType == FRAME_NONE
-                            || m_DarkFlat))
-                {
-                    replacement = filter;
-                }
-            }
-            else
-            {
-                // in the directory part of the path
-                if (filter.isEmpty() == false
-                        && (frameType == FRAME_LIGHT
-                            || frameType == FRAME_FLAT
-                            || frameType == FRAME_NONE
-                            || m_DarkFlat))
-                {
-                    replacement = filter;
-                }
+                replacement = filter;
             }
         }
-        else if (match.captured("name") == "t")
+        else if ((match.captured("name") == "target") || (match.captured("name") == "t"))
         {
-            if (format.indexOf("/", match.capturedStart()) != -1)
+            if (tempFormat.indexOf(QDir::separator(), match.capturedStart()) != -1)
             {
                 // in the directory part of the path
-                replacement = targetName;
+                replacement = tempTargetName;
             }
             else
             {
                 // in the basename part of the path
                 replacement = rawFilePrefix;
-                if (replacement.isEmpty() && !targetName.isEmpty())
-                {
-                    replacement = targetName;
-                }
+                if (replacement.isEmpty() && !tempTargetName.isEmpty())
+                    replacement = tempTargetName;
             }
         }
-        else if (match.captured("name") == "d" || match.captured("name") == "p")
+        // Disable for now %d & %p tags to simplfy
+        //        else if ((match.captured("name") == "directory") || (match.captured("name") == "d") ||
+        //                 (match.captured("name") == "path") || (match.captured("name") == "p"))
+        //        {
+        //            int level = 0;
+        //            if (!match.captured("level").isEmpty())
+        //                level = match.captured("level").toInt() - 1;
+        //            QFileInfo dir = m_seqFilename;
+        //            for (int j = 0; j < level; ++j)
+        //                dir = QFileInfo(dir.dir().path());
+        //            if (match.captured("name") == "directory" || match.captured("name") == "d")
+        //                replacement = dir.dir().dirName();
+        //            else if (match.captured("name") == "path" || match.captured("name") == "p")
+        //                replacement = dir.path();
+        //        }
+        else if ((match.captured("name") == "sequence") || (match.captured("name") == "s"))
         {
-            int level = 0;
-            if (!match.captured("level").isEmpty())
-            {
-                level = match.captured("level").toInt() - 1;
-            }
-            QFileInfo dir = m_seqFilename;
-            for (int j = 0; j < level; ++j)
-            {
-                dir = QFileInfo(dir.dir().path());
-            }
-            if (match.captured("name") == "d")
-            {
-                replacement = dir.dir().dirName();
-            }
-            else if (match.captured("name") == "p")
-            {
-                replacement = dir.path();
-            }
-        }
-        else if (match.captured("name") == "s")
-        {
-            int level = 1;
-            if (!match.captured("level").isEmpty())
+            if (glob)
+                replacement = "(?<id>\\d+)";
+            else
             {
-                level = match.captured("level").toInt();
+                int level = 0;
+                if (!match.captured("level").isEmpty())
+                    level = match.captured("level").toInt();
+                replacement = QString("%1").arg(nextSequenceID, level, 10, QChar('0'));
             }
-            replacement = QString("%1").arg(nextSequenceID, level, 10, QChar('0'));
         }
         else
-        {
             qWarning() << "Unknown replacement string: " << match.captured("replace");
-        }
         if (replacement.isEmpty())
-        {
-            format = format.replace(match.capturedStart(), match.capturedLength(), replacement);
-        }
+            tempFormat = tempFormat.replace(match.capturedStart(), match.capturedLength(), replacement);
         else
-        {
-            format = format.replace(match.capturedStart("replace"), match.capturedLength("replace"), replacement);
-        }
+            tempFormat = tempFormat.replace(match.capturedStart("replace"), match.capturedLength("replace"), replacement);
         i += replacement.length();
     }
-    *filename = format + extension;
+
+    if (!gettingSignature)
+        tempFilename = tempFormat + extension;
+    else
+        tempFilename = tempFormat.left(tempFormat.lastIndexOf("_"));
+
+    return tempFilename;
 }
 
 void PlaceholderPath::setGenerateFilenameSettings(const SequenceJob &job)
@@ -455,10 +393,12 @@ void PlaceholderPath::setGenerateFilenameSettings(const SequenceJob &job)
     m_filter              = job.getCoreProperty(SequenceJob::SJ_Filter).toString();
     m_exposure            = job.getCoreProperty(SequenceJob::SJ_Exposure).toDouble();
     m_targetName          = job.getCoreProperty(SequenceJob::SJ_TargetName).toString();
+    m_format              = job.getCoreProperty(SequenceJob::SJ_LocalDirectory).toString();
+    m_tsEnabled           = job.getCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled).toBool();
     m_DarkFlat            = job.getCoreProperty(SequenceJob::SJ_DarkFlat).toBool();
 }
 
-QStringList PlaceholderPath::remainingPlaceholders(QString filename)
+QStringList PlaceholderPath::remainingPlaceholders(const QString &filename)
 {
     QList<QString> placeholders = {};
     QRegularExpressionMatch match;
@@ -467,13 +407,44 @@ QStringList PlaceholderPath::remainingPlaceholders(QString filename)
     while ((i = filename.indexOf(re, i, &match)) != -1)
     {
         if (match.hasMatch())
-        {
             placeholders.push_back(match.captured("replace"));
-        }
         i += match.capturedLength("replace");
     }
     return placeholders;
 }
 
+QList<int> PlaceholderPath::getCompletedFileIds(const SequenceJob &job, const QString &targetName)
+{
+    QString path = generateFilename(job, targetName, true, 0, ".*", "", true);
+    QFileInfo path_info(path);
+    QDir dir(path_info.dir());
+    QStringList matchingFiles = dir.entryList(QDir::Files);
+    QRegularExpressionMatch match;
+    QRegularExpression re("^" + path_info.fileName() + "$");
+    QList<int> ids = {};
+    for (auto name : matchingFiles)
+    {
+        match = re.match(name);
+        if (match.hasMatch())
+            ids << match.captured("id").toInt();
+    }
+
+    return ids;
+}
+
+int PlaceholderPath::getCompletedFiles(const SequenceJob &job, const QString &targetName)
+{
+    return getCompletedFileIds(job, targetName).length();
+}
+
+int PlaceholderPath::checkSeqBoundary(const SequenceJob &job, const QString &targetName)
+{
+    auto ids = getCompletedFileIds(job, targetName);
+    if (ids.length() > 0)
+        return *std::max_element(ids.begin(), ids.end()) + 1;
+    else
+        return 1;
+}
+
 }
 
diff --git a/kstars/ekos/capture/placeholderpath.h b/kstars/ekos/capture/placeholderpath.h
index 3d2d8ab55..545242c3a 100644
--- a/kstars/ekos/capture/placeholderpath.h
+++ b/kstars/ekos/capture/placeholderpath.h
@@ -25,39 +25,109 @@ class SequenceJob;
 class PlaceholderPath
 {
     public:
-        PlaceholderPath(QString seqFilename);
+        PlaceholderPath(const QString &seqFilename);
         PlaceholderPath();
         ~PlaceholderPath();
 
-        void processJobInfo(SequenceJob *job, QString targetName);
-        void addJob(SequenceJob *job, QString targetName);
-        void constructPrefix(SequenceJob *job, QString &imagePrefix);
-        void generateFilenameOld(
-            const QString &format, bool batch_mode, QString *filename,
-            QString fitsDir, QString seqPrefix, int nextSequenceID);
-        void generateFilename(QString format, SequenceJob &job, QString targetName, bool batch_mode, int nextSequenceID,
-                              const QString &extension,
-                              QString *filename) const;
-        void generateFilename(QString format, bool tsEnabled, bool batch_mode,
-                              int nextSequenceID, const QString &extension, QString *filename) const;
-        void generateFilename(QString format, QString rawFilePrefix, bool filterEnabled, bool exposureEnabled,
-                              bool tsEnabled, bool isDarkFlat, QString filter, CCDFrameType frameType, double exposure, QString targetName,
-                              bool batch_mode, int nextSequenceID, const QString &extension, QString *filename) const;
-
+        /**
+         * @brief processJobInfo loads the placeHolderPath with properties from the SequenceJob
+         * @param sequence job to be processed
+         * @param targetname name of the celestial target
+         */
+        void processJobInfo(SequenceJob *job, const QString &targetName);
+
+        /**
+         * @brief addjob creates the directory suffix for the SequenceJob
+         * @param sequence job to be processed
+         * @param targetname name of the celestial target
+         */
+        void addJob(SequenceJob *job, const QString &targetName);
+
+        /**
+         * @brief constructPrefix creates the prefix for the SequenceJob
+         * @param sequence job to be processed
+         * @param imagePrefix sequence job prefix string
+         * @return QString containing the processed prefix string
+         */
+        QString constructPrefix(const SequenceJob *job, const QString &imagePrefix);
+
+        /**
+         * @brief generateFilename performs the data for tag substituion in the filename
+         * @param sequence job to be processed
+         * @param targetName name of the celestial target
+         * @param batch_mode if true dateTime tag is returned with placeholders
+         * @param nextSequenceID file sequence number count
+         * @param extension filename extension
+         * @param filename passed in with tags
+         * @param glob used in batch mode
+         * @return QString containing formatted filename
+         *
+         * This overload of the function supports calls from the capture class
+         */
+        QString generateFilename(const SequenceJob &job, const QString &targetName, const bool batch_mode, const int nextSequenceID,
+                                 const QString &extension, const QString &filename, const bool glob = false, const bool gettingSignature = false) const;
+
+        /**
+         * @brief generateFilename performs the data for tag substituion in the filename
+         * @param sequence job to be processed
+         * @param batch_mode if true dateTime tag is returned with placeholders
+         * @param nextSequenceID file sequence number count
+         * @param extension filename extension
+         * @param filename passed in with tags
+         * @param glob used in batch mode
+         * @return QString containing formatted filename
+         *
+         * This overload of the function supports calls from the indicamera class
+         */
+        QString generateFilename(const bool batch_mode, const int nextSequenceID, const QString &extension, const QString &filename,
+                                 const bool glob = false, const bool gettingSignature = false) const;
+
+        /**
+         * @brief setGenerateFilenameSettings loads the placeHolderPath with settings from the passed job
+         * @param sequence job to be processed
+         */
         void setGenerateFilenameSettings(const SequenceJob &job);
-        void setSeqFilename(QString name)
-        {
-            m_seqFilename = name;
-        }
-        static QStringList remainingPlaceholders(QString filename);
+
+        /**
+         * @brief remainingPlaceholders finds placeholder tags in filename
+         * @param filename string to be processed
+         * @return a QStringList of the remaining placeholders
+         */
+        static QStringList remainingPlaceholders(const QString &filename);
+
+        /**
+         * @brief remainingPlaceholders provides a list of already existing fileIDs from passed sequence job
+         * @param sequence job to be processed
+         * @param targetName name of the celestial target
+         * @return a QStringList of the existing fileIDs
+         */
+        QList<int> getCompletedFileIds(const SequenceJob &job, const QString &targetName);
+
+        /**
+         * @brief getCompletedFiles provides the number of existing fileIDs
+         * @param sequence job to be processed
+         * @param targetName name of the celestial target
+         * @return number of existing fileIDs
+         */
+        int getCompletedFiles(const SequenceJob &job, const QString &targetName);
+
+        /**
+         * @brief checkSeqBoundary provides the ID to use for the next file
+         * @param sequence job to be processed
+         * @param targetName name of the celestial target
+         * @return number for the next fileIDs
+         */
+        int checkSeqBoundary(const SequenceJob &job, const QString &targetName);
 
     private:
+        QString generateFilename(const QString &format, const QString &rawFilePrefix, const bool isDarkFlat, const QString &filter, const CCDFrameType &frameType,
+                                 const double exposure, const QString &targetName, const bool batch_mode, const int nextSequenceID, const QString &extension,
+                                 const QString &filename, const bool glob = false, const bool gettingSignature = false) const;
+
         QString getFrameType(CCDFrameType frameType) const
         {
             if (m_frameTypes.contains(frameType))
-            {
                 return m_frameTypes[frameType];
-            }
 
             qWarning() << frameType << " not in " << m_frameTypes.keys();
             return "";
@@ -65,6 +135,8 @@ class PlaceholderPath
 
         QMap<CCDFrameType, QString> m_frameTypes;
         QFileInfo m_seqFilename;
+        QString m_format;
+        bool m_tsEnabled { false };
         QString m_RawPrefix;
         bool m_filterPrefixEnabled { false };
         bool m_expPrefixEnabled { false };
diff --git a/kstars/ekos/capture/sequencejob.cpp b/kstars/ekos/capture/sequencejob.cpp
index 7af3b6f26..7ba8bfc92 100644
--- a/kstars/ekos/capture/sequencejob.cpp
+++ b/kstars/ekos/capture/sequencejob.cpp
@@ -476,8 +476,9 @@ CAPTUREResult SequenceJob::capture(bool autofocusReady, FITSMode mode)
 
     const auto remoteDirectory = getCoreProperty(SJ_RemoteDirectory).toString();
     if (captureDeviceAdaptor.data()->getActiveChip()->isBatchMode() && remoteDirectory.isEmpty() == false)
-        captureDeviceAdaptor.data()->getActiveCamera()->updateUploadSettings(remoteDirectory + getCoreProperty(
-                    SJ_DirectoryPostfix).toString());
+    {
+        captureDeviceAdaptor.data()->getActiveCamera()->updateUploadSettings(remoteDirectory + getCoreProperty(SJ_DirectoryPostfix).toString());
+    }
 
     const int ISOIndex = getCoreProperty(SJ_ISOIndex).toInt();
     if (ISOIndex != -1)
@@ -697,12 +698,7 @@ CCDFrameType SequenceJob::getFrameType() const
 
 QString SequenceJob::getSignature()
 {
-    auto localDirectory = getCoreProperty(SJ_LocalDirectory).toString();
-    auto directoryPostfix = getCoreProperty(SJ_DirectoryPostfix).toString();
-    auto fullPrefix = getCoreProperty(SJ_FullPrefix).toString();
-
-    return QString(localDirectory + directoryPostfix + QDir::separator() + fullPrefix).remove(ISOMarker);
-
+    return (getCoreProperty(SJ_Signature).toString()).remove(".fits");
 }
 
 void SequenceJob::prepareCapture()
diff --git a/kstars/ekos/capture/sequencejob.h b/kstars/ekos/capture/sequencejob.h
index a21e551c5..1e3e61059 100644
--- a/kstars/ekos/capture/sequencejob.h
+++ b/kstars/ekos/capture/sequencejob.h
@@ -92,6 +92,8 @@ class SequenceJob : public QObject
             SJ_TargetADU,
             // Double
             SJ_TargetADUTolerance,
+            // QString
+            SJ_Signature,
         } PropertyID;
 
         ////////////////////////////////////////////////////////////////////////
diff --git a/kstars/ekos/scheduler/scheduler.cpp b/kstars/ekos/scheduler/scheduler.cpp
index 9a02588fe..320db05b7 100644
--- a/kstars/ekos/scheduler/scheduler.cpp
+++ b/kstars/ekos/scheduler/scheduler.cpp
@@ -5758,7 +5758,8 @@ uint16_t Scheduler::calculateExpectedCapturesMap(const QList<SequenceJob *> &seq
     for (auto &seqJob : seqJobs)
     {
         capturesPerRepeat += seqJob->getCoreProperty(SequenceJob::SJ_Count).toInt();
-        QString const signature = seqJob->getSignature();
+        Scheduler::preloadSignature(*seqJob);
+        QString signature = seqJob->getCoreProperty(SequenceJob::SJ_Signature).toString();
         expected[signature] = static_cast<uint16_t>(seqJob->getCoreProperty(SequenceJob::SJ_Count).toInt()) + (expected.contains(
                                   signature) ? expected[signature] : 0);
     }
@@ -5875,7 +5876,7 @@ void Scheduler::updateCompletedJobsCount(bool forced)
             }
 
             /* Else recount captures already stored */
-            newFramesCount[signature] = getCompletedFiles(signature, oneSeqJob->getCoreProperty(SequenceJob::SJ_FullPrefix).toString());
+            newFramesCount[signature] = getCompletedFiles(signature);
         }
 
         // determine whether we need to continue capturing, depending on captured frames
@@ -5993,7 +5994,6 @@ bool Scheduler::estimateJobTime(SchedulerJob *schedJob, const QMap<QString, uint
              * This is why it is important to manage the repeat count of the scheduler job, as stated earlier.
              */
 
-            // we start with the total value
             captures_required = expected[seqJob->getSignature()] * schedJob->getRepeatsRequired();
 
             qCInfo(KSTARS_EKOS_SCHEDULER) << QString("%1 sees %2 captures in output folder '%3'.").arg(seqName).arg(
@@ -7419,7 +7419,9 @@ bool Scheduler::loadSequenceQueue(const QString &fileURL, SchedulerJob *schedJob
                     hasAutoFocus = (!strcmp(findXMLAttValu(ep, "enabled"), "true"));
                 else if (!strcmp(tagXMLEle(ep), "Job"))
                 {
-                    jobs.append(processJobInfo(ep, schedJob));
+                    SequenceJob *thisJob = processJobInfo(ep, schedJob);
+                    Scheduler::preloadSignature(*thisJob);
+                    jobs.append(thisJob);
                     if (jobs.count() == 1)
                     {
                         auto &firstJob = jobs.first();
@@ -7457,12 +7459,14 @@ SequenceJob * Scheduler::processJobInfo(XMLEle *root, SchedulerJob *schedJob)
     return job;
 }
 
-int Scheduler::getCompletedFiles(const QString &path, const QString &seqPrefix)
+int Scheduler::getCompletedFiles(const QString &path)
 {
     int seqFileCount = 0;
     QFileInfo const path_info(path);
     QString const sig_dir(path_info.dir().path());
     QString const sig_file(path_info.completeBaseName());
+    QRegularExpression re(sig_file);
+
     QDirIterator it(sig_dir, QDir::Files);
 
     /* FIXME: this counts all files with prefix in the storage location, not just captures. DSS analysis files are counted in, for instance. */
@@ -7470,10 +7474,9 @@ int Scheduler::getCompletedFiles(const QString &path, const QString &seqPrefix)
     {
         QString const fileName = QFileInfo(it.next()).completeBaseName();
 
-        if (fileName.startsWith(seqPrefix))
-        {
+        QRegularExpressionMatch match = re.match(fileName);
+        if (match.hasMatch())
             seqFileCount++;
-        }
     }
 
     return seqFileCount;
@@ -8760,4 +8763,29 @@ bool Scheduler::importMosaic(const QJsonObject &payload)
     return assistant->importMosaic(payload);
 }
 
+void Scheduler::preloadSignature(SequenceJob &seqJob)
+{
+    QString tempFormat = seqJob.getCoreProperty(SequenceJob::SJ_LocalDirectory).toString();
+    if (!tempFormat.contains("%"))
+    {
+        if (!tempFormat.endsWith(QDir::separator()))
+            tempFormat.append(QDir::separator());
+        tempFormat.append("%t" + QDir::separator() + "%T" + QDir::separator());
+        if(!seqJob.getCoreProperty(SequenceJob::SJ_Filter).toString().isEmpty())
+            tempFormat.append("%F" + QDir::separator());
+        tempFormat.append("%t_%T_");
+        if(!seqJob.getCoreProperty(SequenceJob::SJ_Filter).toString().isEmpty())
+            tempFormat.append("%F_");
+        if(seqJob.getCoreProperty(SequenceJob::SJ_ExpPrefixEnabled).toBool() == true)
+            tempFormat.append("%e_");
+        if(seqJob.getCoreProperty(SequenceJob::SJ_TimeStampPrefixEnabled).toBool() == true)
+            tempFormat.append("%D_");
+        seqJob.setCoreProperty(SequenceJob::SJ_LocalDirectory, tempFormat);
+    }
+
+    auto placeholderPath = Ekos::PlaceholderPath();
+    QString signature = placeholderPath.generateFilename(seqJob, seqJob.getCoreProperty(SequenceJob::SJ_TargetName).toString(),
+                        true, 1, ".fits", "", false, true);
+    seqJob.setCoreProperty(SequenceJob::SJ_Signature, signature);
+}
 }
diff --git a/kstars/ekos/scheduler/scheduler.h b/kstars/ekos/scheduler/scheduler.h
index 4f3293fdc..77a7c4b72 100644
--- a/kstars/ekos/scheduler/scheduler.h
+++ b/kstars/ekos/scheduler/scheduler.h
@@ -363,7 +363,7 @@ class Scheduler : public QWidget, public Ui::Scheduler
         /**
              * @brief loadSequenceQueue Loads what's necessary to estimate job completion time from a capture sequence queue file
              * @param fileURL the filename
-             * @param schedJob the SchedulerJob is modified accoring to the contents of the sequence queue
+             * @param schedJob the SchedulerJob is modified according to the contents of the sequence queue
              * @param jobs the returned values read from the file
              * @param hasAutoFocus a return value indicating whether autofocus can be triggered by the sequence.
               * @param scheduler instance of the scheduler used for logging. Can be nullptr.
@@ -477,7 +477,6 @@ class Scheduler : public QWidget, public Ui::Scheduler
              */
         bool saveScheduler(const QUrl &fileURL);
 
-
     private:
         /**
              * @brief processJobInfo a utility used by loadSequenceQueue() to help it read a capture sequence file
@@ -494,6 +493,8 @@ class Scheduler : public QWidget, public Ui::Scheduler
              */
         static int timeHeuristics(const SchedulerJob *schedJob);
 
+        static void preloadSignature(SequenceJob &seqJob);
+
         void setAlgorithm(int alg);
         SchedulerAlgorithm getAlgorithm() const;
 
@@ -971,7 +972,7 @@ class Scheduler : public QWidget, public Ui::Scheduler
                                               const SchedulerJob::CapturedFramesMap &capturedFramesCount,
                                               SchedulerJob &schedJob, SchedulerJob::CapturedFramesMap &capture_map);
 
-        int getCompletedFiles(const QString &path, const QString &seqPrefix);
+        int getCompletedFiles(const QString &path);
 
         // retrieve the guiding status
         GuideState getGuidingStatus();
diff --git a/kstars/indi/indicamera.cpp b/kstars/indi/indicamera.cpp
index f8d825fd2..43a921906 100644
--- a/kstars/indi/indicamera.cpp
+++ b/kstars/indi/indicamera.cpp
@@ -549,8 +549,7 @@ void Camera::processStream(IBLOB *bp)
 bool Camera::generateFilename(bool batch_mode, const QString &extension, QString *filename)
 {
 
-    placeholderPath.generateFilename("%p1/%t/%T/%F/%t_%T_%F_%e_%D_%s3", ISOMode,
-                                     batch_mode, nextSequenceID, extension, filename);
+    *filename = placeholderPath.generateFilename(batch_mode, nextSequenceID, extension, "");
 
     QDir currentDir = QFileInfo(*filename).dir();
     if (currentDir.exists() == false)
diff --git a/kstars/indi/servermanager.cpp b/kstars/indi/servermanager.cpp
index e6fada6ab..8132811c7 100644
--- a/kstars/indi/servermanager.cpp
+++ b/kstars/indi/servermanager.cpp
@@ -191,11 +191,10 @@ void ServerManager::startDriver(DriverInfo *dv)
     {
         QProcess script;
         QEventLoop loop;
-        QObject::connect(&script, static_cast<void (QProcess::*)(int exitCode, QProcess::ExitStatus status)>(&QProcess::finished), &loop, &QEventLoop::quit);
+        QObject::connect(&script, static_cast<void (QProcess::*)(int exitCode, QProcess::ExitStatus status)>(&QProcess::finished),
+                         &loop, &QEventLoop::quit);
         QObject::connect(&script, &QProcess::errorOccurred, &loop, &QEventLoop::quit);
-
         qCDebug(KSTARS_INDI) << dv->getUniqueLabel() << ": Executing pre-driver script" << PreScript;
-
         script.start(PreScript, QStringList());
         loop.exec();
 
@@ -262,11 +261,10 @@ void ServerManager::startDriver(DriverInfo *dv)
     {
         QProcess script;
         QEventLoop loop;
-        QObject::connect(&script, static_cast<void (QProcess::*)(int exitCode, QProcess::ExitStatus status)>(&QProcess::finished), &loop, &QEventLoop::quit);
+        QObject::connect(&script, static_cast<void (QProcess::*)(int exitCode, QProcess::ExitStatus status)>(&QProcess::finished),
+                         &loop, &QEventLoop::quit);
         QObject::connect(&script, &QProcess::errorOccurred, &loop, &QEventLoop::quit);
-
         qCDebug(KSTARS_INDI) << dv->getUniqueLabel() << ": Executing post-driver script" << PreScript;
-
         script.start(PostScript, QStringList());
         loop.exec();
 
diff --git a/kstars/kstars.kcfg b/kstars/kstars.kcfg
index 6a2e63ac1..b5cd83f22 100644
--- a/kstars/kstars.kcfg
+++ b/kstars/kstars.kcfg
@@ -1770,7 +1770,7 @@
       </entry>
       <entry name="CaptureDirectory" type="String">
          <label>Path to capture directory to save images.</label>
-         <default code="true">KSUtils::getDefaultPath("fitsDir")</default>
+         <default>""</default>
       </entry>
       <entry name="RemoteCaptureDirectory" type="String">
          <label>Path to remote capture directory to save images.</label>


More information about the kde-doc-english mailing list