Log results of main script in a .csv file
authorLukáš Jiřiště <jiriste@icpf.cas.cz>
Tue, 15 Oct 2024 12:33:41 +0000 (14:33 +0200)
committerLukáš Jiřiště <jiriste@icpf.cas.cz>
Tue, 15 Oct 2024 12:33:41 +0000 (14:33 +0200)
batch_column_processing.m

index a6b8d640fefb69ecb0d7501d57db180b05f587a4..2aea0bb658e11cf99b71506aed506a23e0be1a2d 100755 (executable)
@@ -43,11 +43,14 @@ if (mask == 0)
 end\r
 \r
 meter = load_meter();\r
-if (meter == 0)\r
+if (isequal(meter, 0))\r
        path(oldpath);\r
        return\r
 end\r
 \r
+results_dir = get_last_path();\r
+results_dir = uigetdir(results_dir, "Select directory for results");\r
+\r
 FileType = '*.png';\r
 \r
 % process all directories in cycles\r
@@ -66,7 +69,8 @@ for i=1:nSelectedDirectory
                        path(oldpath);\r
                        return\r
                end\r
-               main_wb = waitbar(0, 'Whole processing progress');\r
+               close();\r
+               main_wb = waitbar(0, 'Whole batch progress');\r
        end\r
 \r
        waitbar((i - 0.5)/nSelectedDirectory, main_wb);\r
@@ -88,11 +92,21 @@ for i=1:nSelectedDirectory
                intensity = mean(double(Figure), Weights = mask);\r
                [water(j), bubble_top(j), bubble_bot(j)] = get_levels(intensity);\r
                time(j) = name_to_time(ImageName) - start_time;\r
+               if (j == 1)\r
+                       write_mode = 'overwrite';\r
+               else\r
+                       write_mode = 'append';\r
+               end\r
+               writecell(...\r
+                       [{FFiles(j).name}, {FFiles(j).date}, ...\r
+                               {water(j)}, {bubble_top(j)}, {bubble_bot(j)}],...\r
+                       [results_dir '/' SelectedDirectory{i} '.csv'],...\r
+                       "WriteMode", write_mode);\r
        end\r
        close(wait_bar);\r
        waitbar(i/nSelectedDirectory, main_wb);\r
 \r
-       figure\r
+       figure()\r
        plot(seconds(time), 100 * meter([water; bubble_top; bubble_bot]'), 'LineWidth', 3);\r
        legend('Water level', 'Bubble top', 'Bubble bottom','Location', 'north');\r
        xlabel('Time (s)');\r