-
Notifications
You must be signed in to change notification settings - Fork 0
/
MAIN_Neutron_Image_Processor_v20-PSI.nb
9300 lines (8968 loc) · 422 KB
/
MAIN_Neutron_Image_Processor_v20-PSI.nb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 11.0' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 432391, 9292]
NotebookOptionsPosition[ 405407, 8834]
NotebookOutlinePosition[ 406014, 8855]
CellTagsIndexPosition[ 405971, 8852]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell["\<\
Default :
upperLimit = Length@files;
testBatch = selectedImages;
fieldOfView:
112.8 for Rounds I & II
123.125 for Round III\
\>", "Abstract",
CellChangeTimes->{{3.7670129024547567`*^9, 3.7670129391062937`*^9}, {
3.7670241182202716`*^9, 3.7670241261062202`*^9}, {3.7670275663942585`*^9,
3.767027572537467*^9}, {3.769231259524869*^9, 3.769231295305197*^9},
3.78196442085034*^9, 3.7819645909344263`*^9, {3.7819650079479833`*^9,
3.7819650173361454`*^9}, 3.781965438367121*^9, {3.806853380556097*^9,
3.806853383373561*^9}, {3.807010200749958*^9, 3.807010238774444*^9},
3.8073489176454964`*^9},ExpressionUUID->"76b6aff5-3fbb-4e32-afe8-\
4cc5af2f6a3c"],
Cell["Possible Improvements", "Abstract",
CellChangeTimes->{{3.7691584846573277`*^9, 3.7691585387985277`*^9}, {
3.769158606943906*^9, 3.7691586572504983`*^9}, {3.7692223025981207`*^9,
3.769222339641034*^9}},ExpressionUUID->"3dc700d4-5b6b-41d8-9979-\
0e29b4ad4067"],
Cell["Use Compile, when appropriate, throughout the code", "Subitem",
CellChangeTimes->{{3.7691584846573277`*^9, 3.7691585387985277`*^9}, {
3.769158606943906*^9, 3.7691586572504983`*^9}, 3.7692223043414335`*^9, {
3.769222342585159*^9, 3.769222345000705*^9}, {3.769230882123254*^9,
3.769230908195506*^9}, {3.770115650982784*^9, 3.7701156661114388`*^9}, {
3.804171808390911*^9,
3.804171808392909*^9}},ExpressionUUID->"2820d418-f4f9-41d2-ba5d-\
5f1758558e62"],
Cell[CellGroupData[{
Cell["Initialize", "Section",
CellChangeTimes->{{3.7601694528358383`*^9,
3.760169472551669*^9}},ExpressionUUID->"ca134099-a44f-4fdc-af75-\
6ea375b76f8d"],
Cell[BoxData[{
RowBox[{"ClearAll", "[", "\"\<Global`*\>\"", "]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"$HistoryLength", "=", "1"}], ";"}], "\[IndentingNewLine]",
RowBox[{"SetOptions", "[",
RowBox[{
RowBox[{"EvaluationNotebook", "[", "]"}], ",",
RowBox[{"CellContext", "\[Rule]", "Notebook"}]}],
"]"}], "\[IndentingNewLine]",
RowBox[{"$Context", "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"fieldOfView", ":=", "123.125"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{"packageDirectory", ":=",
"\"\<C:\\\\Michael's Folder\\\\INM Files\\\\NMI (VTPMML)\\\\MHD \
Project\\\\Image Processing\\\\Mathematica Packages\\\\\>\""}], "\
\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"Import", "[",
RowBox[{"packageDirectory", "<>", "\"\<QuantileRegression.m\>\""}], "]"}],
";"}], "\[IndentingNewLine]",
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"nbd", "=",
RowBox[{"NotebookDirectory", "[", "]"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{"imageDirectory", ":=",
"\"\<W:\\\\MHD - Neutron Imaging\\\\Round III\\\\Image Processing Tests\\\\\
\>\""}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"subFolder", "=",
RowBox[{
"imageDirectory", "<>",
"\"\<VFS 125 mT 120 sccm\\\\120 sccm v4\\\\\>\""}]}], ";"}],
"\[IndentingNewLine]", "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{"output", ":=",
RowBox[{"nbd", "<>", "\"\<Output\\\\\>\""}]}], "\[IndentingNewLine]",
RowBox[{"input", ":=", "\"\<Input\\\\\>\""}], "\[IndentingNewLine]",
RowBox[{"shapesFolder", ":=", "\"\<Shapes\\\\\>\""}], "\n",
RowBox[{"correctedFolder", ":=",
"\"\<Corrected Images\\\\\>\""}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"traceFolder", ":=", "\"\<Tracing\\\\\>\""}], "\n",
"\n"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"SetDirectory", "@", "subFolder"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"files", "=",
RowBox[{"SortBy", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"FileNames", "[", "]"}], ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{"ToExpression", "@",
RowBox[{"FileBaseName", "[", "#", "]"}]}], "&"}]}],
"\[IndentingNewLine]", "]"}]}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"lowerLimit", "=", "1"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"upperLimit", "=",
RowBox[{"Length", "@", "files"}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"selectedImages", "=",
RowBox[{"upperLimit", "-", "lowerLimit", "+", "1"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"testBatch", "=", "selectedImages"}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{"defaultWidthPixels", ":=", "1024"}], "\[IndentingNewLine]",
RowBox[{"widthPixels", ":=", "1024"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"frameRate", "=", "100"}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"toCentimeters", "=", "10"}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"useKernels", "=",
RowBox[{
RowBox[{"2", "*", "$ProcessorCount"}], "-", "1"}]}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"SetSharedVariable", "@", "monitorCounter"}],
";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"monitorCounter", "=", "0"}], ";"}], "\[IndentingNewLine]",
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"SetOptions", "[", "\[IndentingNewLine]",
RowBox[{"Plot", ",", "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
RowBox[{"Frame", "\[Rule]", "True"}], ",",
RowBox[{"LabelStyle", "\[Rule]",
RowBox[{"{",
RowBox[{"Black", ",", "Bold"}], "}"}]}], ",",
RowBox[{"GridLines", "\[Rule]", "Automatic"}], ",",
RowBox[{"ImageSize", "\[Rule]", "Large"}]}], "}"}]}],
"\[IndentingNewLine]", "]"}], ";"}], "\[IndentingNewLine]",
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"SetOptions", "[", "\[IndentingNewLine]",
RowBox[{"ListPlot", ",", "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
RowBox[{"Frame", "\[Rule]", "True"}], ",",
RowBox[{"LabelStyle", "\[Rule]",
RowBox[{"{",
RowBox[{"Black", ",", "Bold"}], "}"}]}], ",",
RowBox[{"GridLines", "\[Rule]", "Automatic"}], ",",
RowBox[{"ImageSize", "\[Rule]", "Large"}]}], "}"}]}],
"\[IndentingNewLine]", "]"}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"SetOptions", "[", "\[IndentingNewLine]",
RowBox[{"ListLinePlot", ",", "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
RowBox[{"Frame", "\[Rule]", "True"}], ",",
RowBox[{"LabelStyle", "\[Rule]",
RowBox[{"{",
RowBox[{"Black", ",", "Bold"}], "}"}]}], ",",
RowBox[{"GridLines", "\[Rule]", "Automatic"}], ",",
RowBox[{"InterpolationOrder", "\[Rule]", "2"}], ",",
RowBox[{"ImageSize", "\[Rule]", "Large"}]}], "}"}]}],
"\[IndentingNewLine]", "]"}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"SetOptions", "[", "\[IndentingNewLine]",
RowBox[{"Histogram", ",", "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
RowBox[{"Frame", "\[Rule]", "True"}], ",",
RowBox[{"GridLines", "\[Rule]", "Automatic"}], ",",
RowBox[{"LabelStyle", "\[Rule]",
RowBox[{"{",
RowBox[{"Black", ",", "Bold"}], "}"}]}], ",",
RowBox[{"ImageSize", "\[Rule]", "Large"}], ",",
RowBox[{"ChartElementFunction", "\[Rule]", "\"\<GlassRectangle\>\""}],
",",
RowBox[{"ColorFunction", "\[Rule]", "\"\<GrayTones\>\""}], ",",
RowBox[{"LabelingFunction", "\[Rule]", "Above"}]}], "}"}]}],
"\[IndentingNewLine]", "]"}], ";"}], "\[IndentingNewLine]",
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"axesLabelsVelocity", ":=",
RowBox[{"{", "\[IndentingNewLine]",
RowBox[{
RowBox[{"{",
RowBox[{
"\"\<y, cm\>\"", ",",
"\"\<\!\(\*SubscriptBox[\(v\), \(y\)]\), cm/s\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
"\"\<y, cm\>\"", ",",
"\"\<\!\(\*SubscriptBox[\(v\), \(x\)]\), cm/s\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<y, cm\>\"", ",", "\"\<v, cm/s\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
"\"\<x, cm\>\"", ",",
"\"\<\!\(\*SubscriptBox[\(v\), \(y\)]\), cm/s\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
"\"\<x, cm\>\"", ",",
"\"\<\!\(\*SubscriptBox[\(v\), \(x\)]\), cm/s\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<x, cm\>\"", ",", "\"\<v, cm/s\>\""}], "}"}]}],
"\[IndentingNewLine]", "}"}]}], "\n"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"axesLabelsShape", ":=",
RowBox[{"{", "\[IndentingNewLine]",
RowBox[{
RowBox[{"{",
RowBox[{"\"\<y, cm\>\"", ",", "\"\<Radius, mm\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
"\"\<y, cm\>\"", ",",
"\"\<Area, \!\(\*SuperscriptBox[\(mm\), \(2\)]\)\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<y, cm\>\"", ",", "\"\<Aspect Ratio\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<y, cm\>\"", ",", "\"\<Eccentricity\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<y, cm\>\"", ",", "\"\<Tilt, \[Degree]\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<y, cm\>\"", ",", "\"\<Tilt Magnitude, \[Degree]\>\""}],
"}"}], ",", "\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<x, cm\>\"", ",", "\"\<Radius, mm\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{
"\"\<x, cm\>\"", ",",
"\"\<Area, \!\(\*SuperscriptBox[\(mm\), \(2\)]\)\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<x, cm\>\"", ",", "\"\<Aspect Ratio\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<x, cm\>\"", ",", "\"\<Eccentricity\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<x, cm\>\"", ",", "\"\<Tilt, \[Degree]\>\""}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{"{",
RowBox[{"\"\<x, cm\>\"", ",", "\"\<Tilt Magnitude, \[Degree]\>\""}],
"}"}]}], "\[IndentingNewLine]", "}"}]}], "\[IndentingNewLine]",
"\n"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"progress", "[",
RowBox[{"x_", ",", "y_"}], "]"}], ":=",
RowBox[{"TableForm", "@", "\[IndentingNewLine]",
RowBox[{"{", "\[IndentingNewLine]",
RowBox[{"\"\<Processing...\>\"", ",", "\[IndentingNewLine]",
RowBox[{"ProgressIndicator", "@",
RowBox[{"Dynamic", "[",
RowBox[{
RowBox[{"x", "/", "y"}], "//", "N"}], "]"}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"ToString", "@",
RowBox[{"Round", "@", "x"}]}], "<>", "\"\</\>\"", "<>",
RowBox[{"ToString", "@", "y"}]}], ",", "\[IndentingNewLine]",
RowBox[{"ToString", "@",
RowBox[{"PercentForm", "[",
RowBox[{
RowBox[{
RowBox[{"x", "/", "y"}], "//", "N"}], ",",
RowBox[{"DefaultPrintPrecision", "\[Rule]", "1"}]}], "]"}]}]}],
"\[IndentingNewLine]", "}"}]}]}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"launchNukes", "[", "useKernels_", "]"}], ":=",
RowBox[{"If", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"Length", "@",
RowBox[{"Kernels", "[", "]"}]}], "<", "useKernels"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Speak", "@", "\"\<Set DEFCON 1\>\""}], ";",
"\[IndentingNewLine]",
RowBox[{"LaunchKernels", "[", "\[IndentingNewLine]",
RowBox[{"useKernels", "-",
RowBox[{"Length", "@",
RowBox[{"Kernels", "[", "]"}]}]}], "\[IndentingNewLine]", "]"}]}],
",", "\[IndentingNewLine]", "Nothing"}], "\[IndentingNewLine]", "]"}]}],
";"}], "\[IndentingNewLine]",
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{
RowBox[{"memoizationSync", "[", "f_Symbol", "]"}], "[", "x_", "]"}], ":=",
RowBox[{"With", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"{",
RowBox[{"result", "=",
RowBox[{"memo", "[",
RowBox[{"f", ",", "x"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"If", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"result", "===", "Null"}], ",", "\[IndentingNewLine]",
RowBox[{"With", "[",
RowBox[{
RowBox[{"{",
RowBox[{"value", "=",
RowBox[{"valueOnMain", "[",
RowBox[{"f", ",", "x"}], "]"}]}], "}"}], ",",
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"If", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"value", "===", "Null"}], ",", "\[IndentingNewLine]",
RowBox[{"f", "/:",
RowBox[{"memo", "[",
RowBox[{"f", ",", "x"}], "]"}], "=",
RowBox[{"setValueOnMain", "[",
RowBox[{"f", ",", "x", ",",
RowBox[{"f", "[", "x", "]"}]}], "]"}]}], ",",
RowBox[{"f", "/:",
RowBox[{"memo", "[",
RowBox[{"f", ",", "x"}], "]"}], "=", "value"}]}], "]"}]}], "]"}],
",", "result"}], "\[IndentingNewLine]", "]"}]}],
"\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]"}], "\n",
RowBox[{
RowBox[{"memo", "[", "___", "]"}], ":=", "Null"}], "\n",
RowBox[{
RowBox[{
RowBox[{"DistributeDefinitions", "@", "memo"}], ";"}],
"\n"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"valueOnMain", "[",
RowBox[{"f_", ",", "x_"}], "]"}], ":=",
RowBox[{"memo", "[",
RowBox[{"f", ",", "x"}], "]"}]}], "\n"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"setValueOnMain", "[",
RowBox[{"f_", ",", "x_", ",", "fx_"}], "]"}], ":=",
RowBox[{"f", "/:",
RowBox[{"memo", "[",
RowBox[{"f", ",", "x"}], "]"}], "=", "fx"}]}],
"\n"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"SetSharedFunction", "[",
RowBox[{"valueOnMain", ",", "setValueOnMain"}], "]"}],
"\[IndentingNewLine]"}], "\n",
RowBox[{
RowBox[{
RowBox[{"clearParallelCache", "[", "f_Symbol", "]"}], ":=",
RowBox[{"(", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"UpValues", "@", "f"}], "=",
RowBox[{"{", "}"}]}], ";", "\[IndentingNewLine]",
RowBox[{"ParallelEvaluate", "[",
RowBox[{
RowBox[{"UpValues", "@", "f"}], "=",
RowBox[{"{", "}"}]}], "]"}], ";"}], "\[IndentingNewLine]", ")"}]}],
"\n", "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"If", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"DirectoryQ", "@", "output"}], ",", "\[IndentingNewLine]",
"Nothing", ",", "\[IndentingNewLine]",
RowBox[{"CreateDirectory", "@", "output"}]}], "\[IndentingNewLine]",
"]"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"launchNukes", "@", "useKernels"}], ";"}]}], "Input",
InitializationCell->True,
CellChangeTimes->{{3.7177377158430915`*^9, 3.717737755035079*^9}, {
3.717737785881243*^9, 3.7177378777432365`*^9}, {3.717737915081128*^9,
3.7177380504220033`*^9}, {3.7177380880730743`*^9, 3.717738300412363*^9}, {
3.7177383333519278`*^9, 3.7177383334300537`*^9}, {3.7177383751516523`*^9,
3.71773861392185*^9}, {3.7177386519353323`*^9, 3.717739081522292*^9}, {
3.717743829219696*^9, 3.7177438660163803`*^9}, {3.7177440825436897`*^9,
3.7177441583677993`*^9}, {3.7177441965440702`*^9,
3.7177441966913266`*^9}, {3.7237333110360184`*^9,
3.7237333200208473`*^9}, {3.7264886469717426`*^9,
3.7264886600385194`*^9}, {3.7283034273935757`*^9,
3.7283034581743827`*^9}, {3.729676337796929*^9, 3.729676341823734*^9}, {
3.747041048631316*^9, 3.74704104879334*^9}, {3.7513674506230288`*^9,
3.7513674979286723`*^9}, {3.7513707604688616`*^9, 3.7513707609725127`*^9},
3.751712760209059*^9, {3.751718054524271*^9, 3.751718059769699*^9}, {
3.7518135482953935`*^9, 3.7518135725814433`*^9}, {3.7518710407937007`*^9,
3.751871052004719*^9}, {3.751871358211807*^9, 3.751871364445162*^9}, {
3.751879175723353*^9, 3.7518791825590715`*^9}, {3.7519575243057594`*^9,
3.751957528260184*^9}, {3.7519581327610455`*^9, 3.7519581412344737`*^9}, {
3.751958453957793*^9, 3.7519584557566743`*^9}, {3.751968334426799*^9,
3.7519683353822217`*^9}, {3.7519700282986717`*^9, 3.75197002848617*^9}, {
3.7519737833049164`*^9, 3.75197380799761*^9}, {3.7519738973199735`*^9,
3.7519738974366484`*^9}, 3.751974453373953*^9, 3.7519744838607883`*^9, {
3.7519745775281367`*^9, 3.7519745791647434`*^9}, {3.7519863856792855`*^9,
3.751986410580202*^9}, {3.751987189723457*^9, 3.7519872067171807`*^9}, {
3.7519872740525713`*^9, 3.751987274251018*^9}, 3.7519887579797745`*^9, {
3.7519888044417067`*^9, 3.7519888045384264`*^9}, {3.7519889388743944`*^9,
3.751988953257942*^9}, {3.75198898540973*^9, 3.7519889857218943`*^9}, {
3.7519891583567*^9, 3.751989168418381*^9}, {3.751989242284319*^9,
3.7519892558884606`*^9}, {3.7519893723305483`*^9, 3.751989372402337*^9}, {
3.7519931269744205`*^9, 3.7519931279248924`*^9}, {3.751993166925639*^9,
3.7519931670293694`*^9}, 3.75199861425095*^9, {3.7519986697422304`*^9,
3.7519986922896194`*^9}, {3.751999213796385*^9, 3.7519992351032796`*^9}, {
3.7519994435814323`*^9, 3.7519994603814545`*^9}, {3.7519996162634587`*^9,
3.7519996233658457`*^9}, {3.7519999333676405`*^9,
3.7519999359958153`*^9}, {3.7520002180623083`*^9,
3.7520002187803435`*^9}, {3.7520002493768325`*^9,
3.7520002505482464`*^9}, {3.752000407725655*^9, 3.752000411067837*^9}, {
3.7520004699823575`*^9, 3.75200047026727*^9}, {3.7520022702769604`*^9,
3.7520022747149506`*^9}, {3.7520046929402857`*^9,
3.7520046960967264`*^9}, {3.7520502955602303`*^9,
3.7520503446601734`*^9}, {3.7520514690035224`*^9,
3.7520514690514917`*^9}, {3.7520515670681887`*^9,
3.7520515977009263`*^9}, {3.7520517074841633`*^9,
3.7520517090997686`*^9}, {3.7520518266893578`*^9,
3.7520518310232763`*^9}, {3.7520519932426023`*^9,
3.7520519966515093`*^9}, {3.752211767119261*^9, 3.7522117933048677`*^9},
3.7522118378507395`*^9, {3.7522119014341974`*^9, 3.7522119154280024`*^9}, {
3.752211947983062*^9, 3.7522119754180403`*^9}, {3.75238986004722*^9,
3.7523898600877047`*^9}, 3.759935401921358*^9, {3.7600950420507*^9,
3.7600950507155514`*^9}, 3.76009546165426*^9, {3.760097847762862*^9,
3.7600978479823008`*^9}, {3.7601571295604706`*^9, 3.760157129648235*^9},
3.7601592766146355`*^9, {3.7601729472799244`*^9, 3.760172947511306*^9}, {
3.7601732107197742`*^9, 3.760173211161602*^9}, 3.760175621125779*^9,
3.7602497894762554`*^9, 3.7602549941536517`*^9, 3.7602587711196823`*^9, {
3.760269954882045*^9, 3.760269955256042*^9}, {3.7602794081805344`*^9,
3.760279410170213*^9}, {3.7602794702182603`*^9, 3.7602794767148857`*^9}, {
3.7603410399150243`*^9, 3.760341041124792*^9}, {3.7604556788470125`*^9,
3.760455727922307*^9}, {3.7607682966617975`*^9, 3.760768308975419*^9},
3.7607854536095047`*^9, {3.7608865838057194`*^9, 3.760886593361717*^9}, {
3.7608866844010015`*^9, 3.7608866845675573`*^9}, {3.760887388038473*^9,
3.7608873882957788`*^9}, {3.760892595971661*^9, 3.7608926320929804`*^9}, {
3.760929281108795*^9, 3.7609292932042255`*^9}, {3.7609293967314425`*^9,
3.7609294116522813`*^9}, {3.7609299152508698`*^9,
3.7609299156738005`*^9}, {3.760929954547063*^9, 3.7609300117870555`*^9}, {
3.7609305684759817`*^9, 3.7609305685647535`*^9}, {3.7609314858821344`*^9,
3.7609314866510773`*^9}, {3.76093194642652*^9, 3.7609320560911016`*^9}, {
3.7609321259960537`*^9, 3.760932174706381*^9}, {3.760932243970749*^9,
3.7609322520343113`*^9}, {3.7609322828032403`*^9,
3.7609322830575356`*^9}, {3.7609323214867444`*^9, 3.760932328043228*^9}, {
3.7609324262318645`*^9, 3.760932446891398*^9}, {3.7609325111705904`*^9,
3.7609325119006367`*^9}, {3.760932875991317*^9, 3.760932877280859*^9},
3.7609344640420094`*^9, {3.7609346032407713`*^9, 3.7609346068281736`*^9},
3.7609433236004734`*^9, {3.760956474733452*^9, 3.760956588831177*^9}, {
3.760957423846837*^9, 3.760957424285645*^9}, {3.7609580829565725`*^9,
3.760958083252755*^9}, {3.7609624911993523`*^9, 3.760962491368901*^9},
3.760964457907423*^9, {3.7609646733113832`*^9, 3.7609646739666595`*^9}, {
3.7612251729077897`*^9, 3.761225175298395*^9}, 3.761228707061983*^9, {
3.761228758894994*^9, 3.7612287693206973`*^9}, 3.76122887626292*^9, {
3.761241692049399*^9, 3.761241700577155*^9}, {3.761276326824277*^9,
3.7612763974426746`*^9}, {3.761276432872349*^9, 3.7612764775169487`*^9}, {
3.7612946605842495`*^9, 3.761294670639862*^9}, {3.761299408431904*^9,
3.761299408500719*^9}, {3.7612996367268124`*^9, 3.7612996374924726`*^9}, {
3.761300049404646*^9, 3.7613000513349247`*^9}, 3.7613041176850076`*^9, {
3.7613180259074817`*^9, 3.7613180299262967`*^9}, {3.761326801495341*^9,
3.761326801590087*^9}, {3.761361249393982*^9, 3.7613612743078856`*^9},
3.761361637701935*^9, 3.7613688777915*^9, {3.7613702345313025`*^9,
3.761370234824539*^9}, 3.7613711538469987`*^9, {3.7613717056648607`*^9,
3.761371739016631*^9}, {3.7613737377183404`*^9, 3.761373764221431*^9}, {
3.7613739329982166`*^9, 3.7613739347046556`*^9}, {3.76138015596413*^9,
3.7613801562354217`*^9}, 3.7613846372534046`*^9, 3.7613861252512884`*^9, {
3.761386510741501*^9, 3.761386512992342*^9}, {3.76138735930517*^9,
3.7613873604308023`*^9}, 3.7613919238287992`*^9, {3.7613966008619995`*^9,
3.761396602922511*^9}, {3.761636027755991*^9, 3.7616360430679235`*^9}, {
3.766942172979191*^9, 3.766942185577417*^9}, 3.76694229048433*^9, {
3.76698598843591*^9, 3.766985991303247*^9}, 3.7669860317540455`*^9, {
3.7669913037058306`*^9, 3.7669913039282355`*^9}, 3.7670126231138024`*^9,
3.767012709196599*^9, {3.7670139258103695`*^9, 3.767013947480813*^9}, {
3.767021749847092*^9, 3.7670217534872546`*^9}, {3.768653732446519*^9,
3.768653732775638*^9}, 3.768653806757841*^9, 3.768654833538556*^9, {
3.7690915969429607`*^9, 3.769091604654603*^9}, 3.7690926375926604`*^9, {
3.769092687161451*^9, 3.7690926909751077`*^9}, {3.7691367179698753`*^9,
3.7691367268764544`*^9}, {3.769136937617241*^9, 3.769136941341298*^9}, {
3.7692219887275896`*^9, 3.7692219904131145`*^9}, {3.769226248769722*^9,
3.769226249073911*^9}, {3.769228101270114*^9, 3.7692281096685047`*^9}, {
3.7692298255531473`*^9, 3.7692298278938856`*^9}, {3.769230939113803*^9,
3.769230939997447*^9}, 3.7692358310107045`*^9, {3.7692428094572515`*^9,
3.769242809520052*^9}, 3.7692483672085886`*^9, {3.7692484506898394`*^9,
3.769248463296644*^9}, {3.769248950324164*^9, 3.769248961523179*^9}, {
3.769251480357107*^9, 3.769251480800929*^9}, 3.76925294874541*^9,
3.7692539485996914`*^9, 3.769254121287918*^9, {3.7692542606685486`*^9,
3.7692543016806774`*^9}, {3.772357886343944*^9, 3.772357886662093*^9}, {
3.7743560495574293`*^9, 3.7743560503413105`*^9}, {3.807702643632616*^9,
3.8077026443506966`*^9}, {3.807802647061116*^9, 3.807802690618781*^9}, {
3.807802789050304*^9, 3.807802790434594*^9}, {3.8078042304295197`*^9,
3.80780423257777*^9}, {3.8078719958175964`*^9, 3.8078720131959934`*^9}, {
3.8078721138010426`*^9, 3.807872114079229*^9}, {3.808158332661435*^9,
3.808158338480175*^9}, {3.8081988497261553`*^9, 3.8081988527100515`*^9}, {
3.80819897338212*^9, 3.8081990018350487`*^9}, {3.8083108283804502`*^9,
3.808310866760787*^9}, {3.8083146392786903`*^9, 3.8083146398073454`*^9}, {
3.808319339982309*^9, 3.80831934150458*^9}, {3.8083948582223616`*^9,
3.808394867655267*^9}, {3.8083951573730555`*^9, 3.8083951890038376`*^9}, {
3.8083952233126383`*^9, 3.8083952286685467`*^9}, {3.8084103041438985`*^9,
3.8084103077051954`*^9}, {3.8084233686262074`*^9,
3.8084233883071413`*^9}, {3.8084615984124146`*^9,
3.8084615989300413`*^9}, {3.808492627127034*^9, 3.808492680465439*^9},
3.808493025495162*^9, 3.8084931701676245`*^9, {3.80849415146312*^9,
3.8084941545267725`*^9}, 3.8085844933389735`*^9, {3.808587065796912*^9,
3.8085870684518023`*^9}, {3.8085884935819063`*^9, 3.808588493651718*^9}, {
3.8085885283795013`*^9, 3.8085885299722376`*^9}, {3.8086401677702456`*^9,
3.808640170530858*^9}, 3.8086526456212683`*^9, {3.8086536647759285`*^9,
3.8086536674167957`*^9}, {3.8086634005037813`*^9, 3.808663412348542*^9}, {
3.808697055535565*^9, 3.8086970556213355`*^9}, {3.8090691238241353`*^9,
3.8090691637836237`*^9}, {3.8090718698562903`*^9,
3.8090719109462233`*^9}, {3.8091255339523396`*^9,
3.8091255404212747`*^9}, {3.809125607186399*^9, 3.8091256074990244`*^9}, {
3.809125671076771*^9, 3.80912567145187*^9}, {3.8091259210282555`*^9,
3.8091259231686497`*^9}, {3.8091813655035934`*^9, 3.8091813684232883`*^9}},
CellLabel->"In[1]:=",ExpressionUUID->"edac2b02-475e-4e60-b366-13d62ed9901a"],
Cell[CellGroupData[{
Cell["Data From Processed Sequences", "Subsection",
CellChangeTimes->{{3.7520000744520516`*^9, 3.7520000907368383`*^9}, {
3.7601695348999557`*^9, 3.7601695399544315`*^9}, {3.7602506683880315`*^9,
3.7602506728526797`*^9}, {3.7603536186791306`*^9, 3.760353621440745*^9}, {
3.760353741639697*^9, 3.760353745734726*^9}, {3.7743551208129144`*^9,
3.774355137875325*^9}},ExpressionUUID->"017da1e3-7fcb-4307-b933-\
24e60c1d6fe2"],
Cell[BoxData[{
RowBox[{"importCorrected", ":=",
"\"\<C:\\\\Users\\\\trtik-adm\\\\Desktop\\\\Test \
Zone\\\\Output\\\\Corrected Images\\\\\>\""}], "\n",
RowBox[{
RowBox[{
"importShapes", ":=",
"\"\<C:\\\\Users\\\\trtik-adm\\\\Desktop\\\\Test \
Zone\\\\Output\\\\Shapes\\\\\>\""}], "\n"}], "\[IndentingNewLine]",
RowBox[{"dataFolder", ":=",
"\"\<D:\\\\Michael\\\\Science\\\\VTPMML\\\\MHD Project\\\\PSI \
Experiment\\\\Data From Processed Sequences\\\\\>\""}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"importData", "=",
RowBox[{
"dataFolder", "<>", "\"\<Field ON\\\\100 sccm Field ON\\\\\>\""}]}],
";"}]}], "Input",
InitializationCell->True,
CellChangeTimes->{{3.7177377158430915`*^9, 3.717737755035079*^9}, {
3.717737785881243*^9, 3.7177378777432365`*^9}, {3.717737915081128*^9,
3.7177380504220033`*^9}, {3.7177380880730743`*^9, 3.717738300412363*^9}, {
3.7177383333519278`*^9, 3.7177383334300537`*^9}, {3.7177383751516523`*^9,
3.71773861392185*^9}, {3.7177386519353323`*^9, 3.717739081522292*^9}, {
3.717743829219696*^9, 3.7177438660163803`*^9}, {3.7177440825436897`*^9,
3.7177441583677993`*^9}, {3.7177441965440702`*^9,
3.7177441966913266`*^9}, {3.7237333110360184`*^9,
3.7237333200208473`*^9}, {3.7264886469717426`*^9,
3.7264886600385194`*^9}, {3.7283034273935757`*^9,
3.7283034581743827`*^9}, {3.729676337796929*^9, 3.729676341823734*^9}, {
3.747041048631316*^9, 3.74704104879334*^9}, {3.7513674506230288`*^9,
3.7513674979286723`*^9}, {3.7513707604688616`*^9, 3.7513707609725127`*^9},
3.751712760209059*^9, {3.751718054524271*^9, 3.751718059769699*^9}, {
3.7518135482953935`*^9, 3.7518135725814433`*^9}, {3.7518710407937007`*^9,
3.751871052004719*^9}, {3.751871358211807*^9, 3.751871364445162*^9}, {
3.751879175723353*^9, 3.7518791825590715`*^9}, {3.7519575243057594`*^9,
3.751957528260184*^9}, {3.7519581327610455`*^9, 3.7519581412344737`*^9}, {
3.751958453957793*^9, 3.7519584557566743`*^9}, {3.751968334426799*^9,
3.7519683353822217`*^9}, {3.7519700282986717`*^9, 3.75197002848617*^9}, {
3.7519737833049164`*^9, 3.75197380799761*^9}, {3.7519738973199735`*^9,
3.7519738974366484`*^9}, 3.751974453373953*^9, 3.7519744838607883`*^9, {
3.7519745775281367`*^9, 3.7519745791647434`*^9}, {3.7519863856792855`*^9,
3.751986410580202*^9}, {3.751987189723457*^9, 3.7519872067171807`*^9}, {
3.7519872740525713`*^9, 3.751987274251018*^9}, 3.7519887579797745`*^9, {
3.7519888044417067`*^9, 3.7519888045384264`*^9}, {3.7519889388743944`*^9,
3.751988953257942*^9}, {3.75198898540973*^9, 3.7519889857218943`*^9}, {
3.7519891583567*^9, 3.751989168418381*^9}, {3.751989242284319*^9,
3.7519892558884606`*^9}, {3.7519893723305483`*^9, 3.751989372402337*^9}, {
3.7519931269744205`*^9, 3.7519931279248924`*^9}, {3.751993166925639*^9,
3.7519931670293694`*^9}, 3.75199861425095*^9, {3.7519986697422304`*^9,
3.7519986922896194`*^9}, {3.751999213796385*^9, 3.7519992351032796`*^9}, {
3.7519994435814323`*^9, 3.7519994603814545`*^9}, {3.7519996162634587`*^9,
3.7519996233658457`*^9}, {3.7519999333676405`*^9,
3.7519999359958153`*^9}, {3.7520002180623083`*^9,
3.7520002187803435`*^9}, {3.7520002493768325`*^9,
3.7520002505482464`*^9}, {3.752000407725655*^9, 3.752000411067837*^9}, {
3.7520004699823575`*^9, 3.75200047026727*^9}, {3.7520022702769604`*^9,
3.7520022747149506`*^9}, {3.7520046929402857`*^9,
3.7520046960967264`*^9}, {3.7520502955602303`*^9,
3.7520503446601734`*^9}, {3.7520514690035224`*^9,
3.7520514690514917`*^9}, {3.7520515670681887`*^9,
3.7520515977009263`*^9}, {3.7520517074841633`*^9,
3.7520517090997686`*^9}, {3.7520518266893578`*^9,
3.7520518310232763`*^9}, {3.7520519932426023`*^9,
3.7520519966515093`*^9}, {3.752211767119261*^9, 3.7522117933048677`*^9},
3.7522118378507395`*^9, {3.7522119014341974`*^9, 3.7522119154280024`*^9}, {
3.752211947983062*^9, 3.7522119754180403`*^9}, {3.75238986004722*^9,
3.7523898600877047`*^9}, 3.759935401921358*^9, {3.7600950420507*^9,
3.7600950507155514`*^9}, 3.76009546165426*^9, {3.760097847762862*^9,
3.7600978479823008`*^9}, {3.7601571295604706`*^9, 3.760157129648235*^9},
3.7601592766146355`*^9, {3.7601729472799244`*^9, 3.760172947511306*^9}, {
3.7601732107197742`*^9, 3.760173211161602*^9}, 3.760175621125779*^9,
3.7602497894762554`*^9, 3.7602549941536517`*^9, 3.7602587711196823`*^9, {
3.760269954882045*^9, 3.760269955256042*^9}, {3.7602794081805344`*^9,
3.760279410170213*^9}, {3.7602794702182603`*^9, 3.7602794767148857`*^9}, {
3.7603410399150243`*^9, 3.760341041124792*^9}, {3.7604556788470125`*^9,
3.760455727922307*^9}, {3.7607682966617975`*^9, 3.760768308975419*^9},
3.7607854536095047`*^9, {3.7608865838057194`*^9, 3.760886593361717*^9}, {
3.7608866844010015`*^9, 3.7608866845675573`*^9}, {3.760887388038473*^9,
3.7608873882957788`*^9}, {3.760892595971661*^9, 3.7608926320929804`*^9}, {
3.760929281108795*^9, 3.7609292932042255`*^9}, {3.7609293967314425`*^9,
3.7609294116522813`*^9}, {3.7609299152508698`*^9,
3.7609299156738005`*^9}, {3.760929954547063*^9, 3.7609300117870555`*^9}, {
3.7609305684759817`*^9, 3.7609305685647535`*^9}, {3.7609314858821344`*^9,
3.7609314866510773`*^9}, {3.76093194642652*^9, 3.7609320560911016`*^9}, {
3.7609321259960537`*^9, 3.760932174706381*^9}, {3.760932243970749*^9,
3.7609322520343113`*^9}, {3.7609322828032403`*^9,
3.7609322830575356`*^9}, {3.7609323214867444`*^9, 3.760932328043228*^9}, {
3.7609324262318645`*^9, 3.760932446891398*^9}, {3.7609325111705904`*^9,
3.7609325119006367`*^9}, {3.760932875991317*^9, 3.760932877280859*^9},
3.7609344640420094`*^9, {3.7609346032407713`*^9, 3.7609346068281736`*^9},
3.7609433236004734`*^9, {3.760956474733452*^9, 3.760956588831177*^9}, {
3.760957423846837*^9, 3.760957424285645*^9}, {3.7609580829565725`*^9,
3.760958083252755*^9}, {3.7609624911993523`*^9, 3.760962491368901*^9},
3.760964457907423*^9, {3.7609646733113832`*^9, 3.7609646739666595`*^9}, {
3.7612251729077897`*^9, 3.761225175298395*^9}, 3.761228707061983*^9, {
3.761228758894994*^9, 3.7612287693206973`*^9}, 3.76122887626292*^9, {
3.761241692049399*^9, 3.761241700577155*^9}, {3.761276326824277*^9,
3.7612763974426746`*^9}, {3.761276432872349*^9, 3.7612764775169487`*^9}, {
3.7612946605842495`*^9, 3.761294670639862*^9}, {3.761299408431904*^9,
3.761299408500719*^9}, {3.7612996367268124`*^9, 3.7612996374924726`*^9}, {
3.761300049404646*^9, 3.7613000513349247`*^9}, 3.7613041176850076`*^9, {
3.7613180259074817`*^9, 3.7613180299262967`*^9}, {3.761326801495341*^9,
3.761326801590087*^9}, {3.761361249393982*^9, 3.7613612743078856`*^9},
3.761361637701935*^9, 3.7613688777915*^9, {3.7613702345313025`*^9,
3.761370234824539*^9}, 3.7613711538469987`*^9, {3.7613717056648607`*^9,
3.761371739016631*^9}, {3.7613737377183404`*^9, 3.761373764221431*^9}, {
3.7613739329982166`*^9, 3.7613739347046556`*^9}, {3.76138015596413*^9,
3.7613801562354217`*^9}, 3.7613846372534046`*^9, 3.7613861252512884`*^9, {
3.761386510741501*^9, 3.761386512992342*^9}, {3.76138735930517*^9,
3.7613873604308023`*^9}, 3.7613919238287992`*^9, {3.7613966008619995`*^9,
3.761396602922511*^9}, {3.761636027755991*^9, 3.7616360430679235`*^9}, {
3.766942172979191*^9, 3.766942185577417*^9}, 3.76694229048433*^9, {
3.76698598843591*^9, 3.766985991303247*^9}, 3.7669860317540455`*^9, {
3.7669913037058306`*^9, 3.7669913039282355`*^9}, 3.7670126231138024`*^9,
3.767012709196599*^9, {3.7670139258103695`*^9, 3.767013947480813*^9}, {
3.767021749847092*^9, 3.7670217534872546`*^9}, {3.768653732446519*^9,
3.768653732775638*^9}, 3.768653806757841*^9, 3.768654833538556*^9, {
3.7690915969429607`*^9, 3.769091604654603*^9}, 3.7690926375926604`*^9, {
3.769092687161451*^9, 3.7690926909751077`*^9}, {3.7691367179698753`*^9,
3.7691367268764544`*^9}, {3.769136937617241*^9, 3.769136941341298*^9}, {
3.7692219887275896`*^9, 3.7692219904131145`*^9}, {3.769226248769722*^9,
3.769226249073911*^9}, {3.769228101270114*^9, 3.7692281096685047`*^9}, {
3.7692298255531473`*^9, 3.7692298278938856`*^9}, {3.769230939113803*^9,
3.769230939997447*^9}, 3.7692358310107045`*^9, {3.7692428094572515`*^9,
3.769242809520052*^9}, 3.7692483672085886`*^9, {3.7692484506898394`*^9,
3.769248463296644*^9}, {3.769248950324164*^9, 3.769248961523179*^9}, {
3.769251480357107*^9, 3.769251480800929*^9}, 3.76925294874541*^9,
3.7692539485996914`*^9, 3.769254121287918*^9, {3.7692542606685486`*^9,
3.769254304182972*^9}, 3.769254561146017*^9, {3.7692550688252745`*^9,
3.7692550688951178`*^9}, 3.7692556720371647`*^9, 3.7692563123658314`*^9, {
3.7692568578690987`*^9, 3.76925685805161*^9}, {3.7692608638082695`*^9,
3.769260867592142*^9}, {3.7692614734910927`*^9, 3.769261473550933*^9}, {
3.769262033221088*^9, 3.7692620333088474`*^9}, 3.773314928546344*^9,
3.773314963474622*^9, 3.773315068202137*^9, 3.7733235447192135`*^9,
3.7733250823672314`*^9, 3.7733260117414703`*^9, {3.7733274501609077`*^9,
3.7733274502464867`*^9}, 3.773328786749815*^9, 3.7733299870126977`*^9,
3.773331923334993*^9, {3.7733332642759495`*^9, 3.7733332690996475`*^9}, {
3.773334201482791*^9, 3.773334202867092*^9}, {3.773335168738841*^9,
3.7733351688714886`*^9}, 3.7733399340579033`*^9, {3.7733891065475345`*^9,
3.7733891360127134`*^9}, 3.7733912800187206`*^9, 3.773393217642024*^9,
3.7733950115768895`*^9, {3.77339616715102*^9, 3.7733961672627225`*^9},
3.77339724651875*^9, 3.7733989388778105`*^9, 3.7733995996863127`*^9, {
3.773400363301696*^9, 3.773400374211552*^9}, {3.773400834511348*^9,
3.7734008432520957`*^9}, 3.7743550289923368`*^9, {3.7819642974953613`*^9,
3.7819643015196095`*^9}, 3.781964396630724*^9, {3.782136624626034*^9,
3.7821366847691636`*^9}, {3.782137358417632*^9, 3.782137358674957*^9},
3.8061715061814065`*^9, 3.806970140632617*^9, {3.8070099828260784`*^9,
3.807009983790612*^9}, {3.8076146522346926`*^9, 3.8076146523932004`*^9},
3.8076146877877426`*^9, {3.807614945063823*^9, 3.807614945132634*^9}, {
3.807700968752561*^9, 3.8077009962368584`*^9}, 3.8077010363618617`*^9, {
3.8078027166643763`*^9, 3.807802727867118*^9}, {3.8078778547232666`*^9,
3.8078778550568843`*^9}, {3.807877965519026*^9, 3.807877975578659*^9},
3.8078862240474215`*^9, {3.8081583147903185`*^9, 3.808158320199028*^9}, {
3.808199017803692*^9, 3.8081990190072155`*^9}, {3.808395081187389*^9,
3.8083950845877295`*^9}, {3.8087255246607227`*^9, 3.808725528836543*^9}, {
3.8091257045768023`*^9, 3.8091257119045706`*^9}},
CellLabel->"In[46]:=",ExpressionUUID->"47925b52-880c-4534-8e82-9c8c13d9193b"]
}, Closed]]
}, Open ]],
Cell[CellGroupData[{
Cell["Image Sequence Import", "Section",
CellChangeTimes->{{3.751808845615265*^9, 3.75180886393727*^9}, {
3.7620667007477703`*^9, 3.76206671783607*^9}, {3.7669426529453535`*^9,
3.766942654064663*^9}},ExpressionUUID->"35abad1e-7e64-4b42-bdf8-\
50951d2c24e3"],
Cell[CellGroupData[{
Cell["[UNTESTED] A Monitoring Module For ParallelMap", "Subsection",
CellChangeTimes->{{3.7781579110073633`*^9, 3.7781579274404755`*^9}, {
3.808055113159553*^9, 3.808055134742937*^9}, {3.809183168893592*^9,
3.809183178325199*^9}},
FontSize->24,ExpressionUUID->"eac7f8cb-4351-460b-bda7-41520db751b0"],
Cell[BoxData[
RowBox[{"(*", "\[IndentingNewLine]",
RowBox[{
RowBox[{"ClearAll", "[", "monitorParallelMap", "]"}], ";",
"\[IndentingNewLine]", "\n",
RowBox[{
RowBox[{"monitorParallelMap", "[", "\[IndentingNewLine]",
RowBox[{"foo_", ",", "expr_", ",",
RowBox[{"levelSpec_", ":",
RowBox[{"{", "1", "}"}]}], ",",
RowBox[{"opts", ":",
RowBox[{"OptionsPattern", "[", "ParallelMap", "]"}]}]}],
"\[IndentingNewLine]", "]"}], ":=",
RowBox[{
RowBox[{"Module", "[", "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{
RowBox[{"{",
RowBox[{"res", ",", "exprCount", ",",
RowBox[{"progress", "=", "0"}]}], "}"}], ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{"launchNukes", "@", "useKernels"}], ";",
"\[IndentingNewLine]",
RowBox[{"SetSharedVariable", "@", "progress"}], ";",
"\[IndentingNewLine]",
RowBox[{"exprCount", "=",
RowBox[{"Length", "@",
RowBox[{"Level", "[",
RowBox[{"expr", ",", "levelSpec"}], "]"}]}]}], ";",
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"res", "=",
RowBox[{"Monitor", "[", "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{
RowBox[{"ParallelMap", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"Pause", "[", ".25", "]"}], ";",
RowBox[{"progress", "++"}], ";",
RowBox[{"foo", "@", "#"}]}], ")"}], "&"}], ",",
"\[IndentingNewLine]", "expr", ",", "levelSpec", ",", "opts"}],
"\[IndentingNewLine]", "]"}], ",", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"Column", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"{", "\[IndentingNewLine]",
RowBox[{"\"\<Processing ...\>\"", ",", "\[IndentingNewLine]",
RowBox[{"ProgressIndicator", "[",
RowBox[{"progress", ",",
RowBox[{"{",
RowBox[{"0", ",", "exprCount"}], "}"}]}], "]"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"ToString", "@", "progress"}], "<>", "\"\</\>\"", "<>",
RowBox[{"ToString", "@", "exprCount"}]}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"ToString", "@",
RowBox[{"Round", "[",
RowBox[{
RowBox[{"100", "*",
RowBox[{"progress", "/", "exprCount"}]}], "//", "N"}],
"]"}]}], "<>", "\"\< %\>\""}]}], "\[IndentingNewLine]",
"}"}], ",",
RowBox[{"Alignment", "\[Rule]", "Left"}]}],
"\[IndentingNewLine]", "]"}]}], "\[IndentingNewLine]",
"\[IndentingNewLine]", "]"}]}], ";", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"UnsetShared", "@", "progress"}], ";", "\[IndentingNewLine]",
"res"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", "]"}],
"\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{"monitorParallelMap", "[",
RowBox[{"f", ",",
RowBox[{"Range", "[",
RowBox[{"Range", "[", "10", "]"}], "]"}], ",",
RowBox[{"{", "2", "}"}]}], "]"}]}]}], ";"}]}]], "Input",
CellChangeTimes->{{3.808041001846167*^9, 3.8080410106526003`*^9}, {
3.8080417898913727`*^9, 3.80804179003791*^9}, {3.8080418263348074`*^9,
3.808041945139677*^9}, {3.808041998941593*^9, 3.8080420003161087`*^9}, {
3.8080420867248325`*^9, 3.8080421836258316`*^9}, {3.8080423532339964`*^9,
3.8080423672947726`*^9}, {3.8080550758717127`*^9,
3.808055102416027*^9}},ExpressionUUID->"ae3c69d3-3b63-4707-8988-\
3bf867d4b302"]
}, Closed]],
Cell[CellGroupData[{
Cell["Import Images", "Subsection",
CellChangeTimes->{{3.7781579110073633`*^9,
3.7781579274404755`*^9}},ExpressionUUID->"5551d25d-20c7-431b-8299-\
80566cdd9a9c"],
Cell[BoxData[{
RowBox[{
RowBox[{
RowBox[{"launchNukes", "@", "useKernels"}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"images", "=",
RowBox[{"ParallelMap", "[", "\[IndentingNewLine]", "\[IndentingNewLine]",
RowBox[{
RowBox[{
RowBox[{"Import", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"subFolder", "<>", "#"}], ",", "\[IndentingNewLine]",
RowBox[{"IncludeMetaInformation", "\[Rule]", "None"}]}],
"\[IndentingNewLine]", "]"}], "&"}], ",", "\[IndentingNewLine]",
"\[IndentingNewLine]",
RowBox[{"files", "[",
RowBox[{"[",
RowBox[{"lowerLimit", ";;", "upperLimit"}], "]"}], "]"}]}],
"\[IndentingNewLine]", "]"}]}], ";"}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"Speak", "@", "\"\<Image import complete\>\""}],
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"widthPixels", "=",
RowBox[{"First", "@",
RowBox[{"ImageDimensions", "@",
RowBox[{"First", "@", "images"}]}]}]}], ";"}], "\[IndentingNewLine]",
RowBox[{
RowBox[{"unitConversion", "=",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"widthPixels", "/", "defaultWidthPixels"}], ")"}], "*",
RowBox[{"fieldOfView", "/", "widthPixels"}]}], "//", "N"}]}],
";"}]}], "Input",
CellChangeTimes->{{3.7177377158430915`*^9, 3.717737755035079*^9}, {
3.717737785881243*^9, 3.7177378777432365`*^9}, {3.717737915081128*^9,
3.7177380504220033`*^9}, {3.7177380880730743`*^9, 3.717738300412363*^9}, {
3.7177383333519278`*^9, 3.7177383334300537`*^9}, {3.7177383751516523`*^9,
3.71773861392185*^9}, {3.7177386519353323`*^9, 3.717739081522292*^9}, {
3.717743829219696*^9, 3.7177438660163803`*^9}, {3.7177440825436897`*^9,
3.7177441583677993`*^9}, {3.7177441965440702`*^9,
3.7177441966913266`*^9}, {3.7237333110360184`*^9,
3.7237333200208473`*^9}, {3.7264886469717426`*^9,
3.7264886600385194`*^9}, {3.7283034273935757`*^9,
3.7283034581743827`*^9}, {3.729676337796929*^9, 3.729676341823734*^9}, {
3.747041048631316*^9, 3.74704104879334*^9}, {3.7513674506230288`*^9,
3.751367533932418*^9}, 3.7513678787540135`*^9, {3.751368682841755*^9,
3.751368710653499*^9}, {3.7513689560071154`*^9, 3.751368969333048*^9}, {
3.7513702998183403`*^9, 3.7513703169215965`*^9}, {3.751370787710986*^9,
3.7513707969726477`*^9}, {3.751694728455764*^9, 3.7516947508282638`*^9}, {
3.7516956463966684`*^9, 3.751695664837387*^9}, {3.7517117899960823`*^9,
3.751711790208119*^9}, {3.751715307345482*^9, 3.7517153142250805`*^9}, {
3.751717768351387*^9, 3.7517178095255127`*^9}, {3.7517178904197807`*^9,
3.751717892263572*^9}, {3.751718021858073*^9, 3.7517180449997435`*^9},
3.7517958177090473`*^9, {3.7517962384460444`*^9, 3.751796247771106*^9}, {
3.751798356897586*^9, 3.751798359319228*^9}, {3.7518003178915434`*^9,
3.751800322200385*^9}, {3.7518054063190494`*^9, 3.751805413644461*^9}, {
3.7518090738015766`*^9, 3.7518090780190587`*^9}, {3.751809128739005*^9,
3.7518091377363367`*^9}, {3.751809633506062*^9, 3.7518097128353043`*^9}, {
3.751809747610074*^9, 3.751809763471615*^9}, {3.7518098013434286`*^9,
3.7518098312315564`*^9}, 3.75181018092091*^9, {3.751810440182747*^9,
3.7518104638003564`*^9}, {3.7518104975231147`*^9,
3.7518105003860273`*^9}, {3.7518706948423195`*^9,
3.7518706950687003`*^9}, {3.7518710217670946`*^9,
3.7518710268604765`*^9}, {3.751879180640204*^9, 3.751879198671009*^9}, {
3.751954609915016*^9, 3.7519546122218122`*^9}, {3.7519574350255146`*^9,
3.7519574378918285`*^9}, {3.751957531661088*^9, 3.75195753194832*^9},
3.7519739381155186`*^9, {3.751974564149325*^9, 3.7519745737382736`*^9}, {
3.7519746061642714`*^9, 3.7519746074588327`*^9}, {3.7519863533188334`*^9,
3.7519863536130424`*^9}, {3.751986413477455*^9, 3.7519864235716724`*^9}, {
3.7519870974555826`*^9, 3.7519871318905077`*^9}, {3.7520039790994835`*^9,
3.75200399610083*^9}, 3.752050298923599*^9, {3.7520514591520195`*^9,
3.752051513645871*^9}, {3.7520515810146384`*^9, 3.7520516070481863`*^9}, {
3.7520517026397276`*^9, 3.7520517030814557`*^9}, {3.752051745263569*^9,
3.7520517836363487`*^9}, 3.752071268552267*^9, 3.7522119243556566`*^9, {
3.760172950640916*^9, 3.760172954195407*^9}, {3.7601730596555715`*^9,
3.7601730603896136`*^9}, {3.760173095951811*^9, 3.7601731098661714`*^9}, {
3.7601732070097156`*^9, 3.760173207577176*^9}, {3.7608967010022516`*^9,
3.760896713375206*^9}, {3.760929196843571*^9, 3.760929229387312*^9},
3.7609305771199694`*^9, {3.76093208087411*^9, 3.760932116185805*^9}, {
3.76093218508365*^9, 3.7609322280421505`*^9}, {3.760932258883037*^9,
3.7609322613026257`*^9}, {3.7609324644993386`*^9, 3.760932476353635*^9},
3.760948494764584*^9, {3.760954822229915*^9, 3.760954828183131*^9}, {
3.760957174116322*^9, 3.7609571745322294`*^9}, {3.760957895235751*^9,
3.760957921379594*^9}, {3.7609651595617104`*^9, 3.7609651654958453`*^9},
3.766942329181452*^9, {3.7669913588611794`*^9, 3.766991372423643*^9}, {
3.766991452706896*^9, 3.7669914596365013`*^9}, {3.7733251351813517`*^9,
3.7733251395267253`*^9}, {3.773325185989688*^9, 3.773325186386649*^9}, {
3.7733257324780903`*^9, 3.7733257327822776`*^9}, {3.774353549740924*^9,
3.7743535683312254`*^9}, {3.774356924700407*^9, 3.77435692509933*^9},
3.781942547787493*^9, {3.781964424005331*^9, 3.781964436813111*^9},
3.7819645936458735`*^9, 3.781964626501112*^9, {3.781965173948187*^9,
3.7819651765249186`*^9}, {3.7819653615969667`*^9, 3.781965392188747*^9}, {
3.8019348250993767`*^9, 3.8019348480521955`*^9}, {3.8060005877783375`*^9,
3.8060005921221704`*^9}, {3.8077026810235076`*^9,
3.8077026932721896`*^9}, {3.807704889142043*^9, 3.807704892267189*^9},
3.8077049722117996`*^9, {3.807705005072728*^9, 3.8077050146023197`*^9}, {
3.8078720728441277`*^9, 3.807872072977702*^9}, {3.8459054575399604`*^9,
3.8459054686992903`*^9}},ExpressionUUID->"d4381aa1-91bc-498f-ae1f-\
ae9879b13ef8"]
}, Open ]],
Cell[CellGroupData[{
Cell["[[ View The Image Sequence ]]", "Subsection",
CellChangeTimes->{{3.7520000744520516`*^9, 3.7520000907368383`*^9}, {
3.7601695348999557`*^9, 3.7601695399544315`*^9}, {3.7602506683880315`*^9,
3.7602506728526797`*^9}, {3.7603536186791306`*^9, 3.760353621440745*^9}, {
3.760353741639697*^9,
3.760353745734726*^9}},ExpressionUUID->"25fd5b27-2d4e-4bea-8607-\
f6b7b1b934ab"],
Cell[BoxData[
RowBox[{"Manipulate", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"Image", "[", "\[IndentingNewLine]",
RowBox[{
RowBox[{"Colorize", "@",
RowBox[{"images", "[",
RowBox[{"[", "k", "]"}], "]"}]}], ",",
RowBox[{"ImageSize", "\[Rule]", "Medium"}]}], "\[IndentingNewLine]",
"]"}], ",",
RowBox[{"{",
RowBox[{"k", ",", "1", ",", "selectedImages", ",", "1"}], "}"}]}],
"\[IndentingNewLine]", "]"}]], "Input",
CellChangeTimes->{{3.752051628073289*^9, 3.7520516683084273`*^9}, {
3.752052107223207*^9, 3.7520521075779905`*^9}, {3.752211931433508*^9,
3.752211931624024*^9}, {3.7522119728671727`*^9, 3.7522119730357203`*^9}, {
3.7600950555414543`*^9, 3.760095055715*^9}, {3.7601022898168464`*^9,
3.7601022898976574`*^9}, {3.7601691716785593`*^9,
3.7601691717892437`*^9}, {3.760169529419608*^9, 3.760169529514329*^9}, {
3.7601756292171326`*^9, 3.7601756293418007`*^9}, {3.7601849737228966`*^9,
3.760184973930319*^9}, {3.760185141401884*^9, 3.7601851496269093`*^9}, {
3.760208449086478*^9, 3.7602084492637234`*^9}, {3.760269991014202*^9,
3.7602700104487963`*^9}, {3.7603285080640154`*^9, 3.760328520373093*^9}, {
3.7603345136322155`*^9, 3.760334513697034*^9}, {3.760676437070323*^9,
3.760676446020754*^9}, {3.7608866790157037`*^9, 3.7608866792540903`*^9}, {
3.760896565491361*^9, 3.7608965809029293`*^9}, 3.7609300205634704`*^9, {
3.7609650062622337`*^9, 3.760965006375925*^9}, {3.76128745138564*^9,
3.761287457267913*^9}, {3.7612947810342197`*^9, 3.7612947811110115`*^9}, {
3.766942339093336*^9, 3.7669423504773107`*^9}, {3.7692486521726995`*^9,
3.7692486533056693`*^9}, {3.769248989786003*^9, 3.7692489900572395`*^9},
3.781965393119829*^9, 3.7819654434026275`*^9, {3.8067386731345043`*^9,
3.8067386820856967`*^9}, {3.8067470338007236`*^9, 3.806747035097294*^9}, {
3.8067478057302523`*^9, 3.806747808260709*^9}},
CellLabel->"In[51]:=",ExpressionUUID->"73c4344f-b100-4e22-bd4f-f410eaa567bf"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell["Image Filtering & Edge Detection", "Section",
CellChangeTimes->{{3.7601693862689934`*^9, 3.760169427604337*^9}, {
3.7602507522263055`*^9, 3.760250764234357*^9}, {3.760676200148013*^9,
3.760676213509284*^9}, {3.76069462662806*^9, 3.7606946282048607`*^9}, {
3.8077010877057886`*^9, 3.807701102564895*^9}, {3.807701274986268*^9,
3.8077012836736994`*^9}},ExpressionUUID->"73171e84-ff78-4f70-8ad6-\
58ce60256525"],
Cell[CellGroupData[{
Cell["Noise Filter", "Subsection",
CellChangeTimes->{{3.7520000744520516`*^9, 3.7520000907368383`*^9}, {
3.7601695348999557`*^9, 3.7601695399544315`*^9}, {3.7602506683880315`*^9,
3.7602506728526797`*^9}, {3.7603536186791306`*^9, 3.760353621440745*^9}, {