Browse Source

Write summed image only with --write-summed

Matthias Vogelgesang 9 years ago
parent
commit
ac6364c750
1 changed files with 15 additions and 11 deletions
  1. 15 11
      reco.c

+ 15 - 11
reco.c

@@ -288,8 +288,6 @@ run_simple_reconstruction (Params *params, gchar **argv)
     update_reader (radio_reader, params);
 
     if (with_flat_field_correction (params)) {
-        gchar *sum_name;
-
         flat_before_reader = make_task (data->pm, "reader");
         flat_before_stack = make_task (data->pm, "stack");
         flat_before_median = make_task (data->pm, "flatten");
@@ -299,28 +297,34 @@ run_simple_reconstruction (Params *params, gchar **argv)
         sum = make_task (data->pm, "flatten-inplace");
         sum_writer = make_task (data->pm, "writer");
 
-        sum_name = g_strdup_printf ("%s.sum.tif", params->output);
-        info ("Write sum image to `%s'", sum_name);
-
         g_object_set (flat_before_reader, "path", params->flats, NULL);
         g_object_set (flat_before_stack, "num-items", params->num_flats, NULL);
         g_object_set (dark_reader, "path", params->darks, NULL);
-        g_object_set (sum_writer, "filename", sum_name, NULL);
 
         g_object_set (ffc, "dark-scale", params->dark_scale,
                            "absorption-correction", TRUE,
                            NULL);
 
-        g_free (sum_name);
 
         ufo_task_graph_connect_nodes (data->graph, flat_before_reader, flat_before_stack);
         ufo_task_graph_connect_nodes (data->graph, flat_before_stack, flat_before_median);
         ufo_task_graph_connect_nodes_full (data->graph, radio_reader, ffc, 0);
         ufo_task_graph_connect_nodes_full (data->graph, dark_reader, ffc, 1);
-        ufo_task_graph_connect_nodes (data->graph, ffc, copy);
-        ufo_task_graph_connect_nodes_full (data->graph, copy, sum, 0);
-        ufo_task_graph_connect_nodes_full (data->graph, copy, data->pad, 0);
-        ufo_task_graph_connect_nodes (data->graph, sum, sum_writer);
+
+        if (params->write_summed) {
+            gchar *sum_name = g_strdup_printf ("%s.sum.tif", params->output);
+            info ("Write sum image to `%s'\n", sum_name);
+
+            g_object_set (sum_writer, "filename", sum_name, NULL);
+            ufo_task_graph_connect_nodes (data->graph, ffc, copy);
+            ufo_task_graph_connect_nodes_full (data->graph, copy, sum, 0);
+            ufo_task_graph_connect_nodes_full (data->graph, copy, data->pad, 0);
+            ufo_task_graph_connect_nodes (data->graph, sum, sum_writer);
+            g_free (sum_name);
+        }
+        else {
+            ufo_task_graph_connect_nodes (data->graph, ffc, data->pad);
+        }
 
         if (params->flats_after != NULL) {
             flat_after_reader = make_task (data->pm, "reader");