DIC GUI Workflow ================ Overview -------- This document describes the workflow for the DIC GUI. The GUI is a graphical user interface for the DIC algorithm. It is written in Python using the tk GUI toolkit. There are two separate windows for the gui: - DIC analysis GUI: responsible for running the DIC analysis and obtaining strain map results. This code only uses data from the camera and the camera log file and exports a strain curve vs the time. - Merge dic and UT: responsible for taking the output from the dic analysis (see above) and then merging it with the UT data. the graphical procedure is outlined in the following diagram. .. mermaid :: flowchart TD userDICparams["User Parameters"] analysis_json("Analysis setup
.json") gui_analysis["DIC analysis GUI"] gui_merge["Merge DIC & UT
GUI"] DisplProc["Displacement
Processor class"] DisplacementToStrainclass["Diplacement to Strain
class"] result_dic("Marker Displacement
result.dic") outOptStrainMap("Strain Map
(not implemented)") excel_image["Strain Data
for each image
(.csv)"] excel_dic("Strain vs time
.csv") foutExcel(" Final output
|time|displacement|force|strain| stress|
.xlsx") subgraph tensile_test["Test results"] camera["Camera"] utmachine["UT Machine"] camera--> inImages & inImagesLog utmachine --> inTensileMachine inImages("Images
.png") inImagesLog("Images time Log
.csv or .txt") inTensileMachine("Force Displacement
Tensile Machine Data
.csv") end subgraph sOptionalDisplOutput["Optional DIC output"] direction LR outOptMarker("Markers (.png)") outOptDisp("Displacement (.png)") outOptGrid("Grid (.png)") end subgraph sDICAnalysis["DIC analysis process"] direction LR gui_analysis DisplProc DisplacementToStrainclass end userDICparams --> gui_analysis userDICparams --> analysis_json sDICAnalysis =====> analysis_json inImages --> gui_analysis inImagesLog --> gui_analysis DisplProc --> result_dic DisplProc -..-> sOptionalDisplOutput DisplProc ==> DisplacementToStrainclass DisplacementToStrainclass --> excel_image result_dic -.-> DisplacementToStrainclass DisplacementToStrainclass --> outOptStrainMap gui_analysis --> DisplProc DisplacementToStrainclass --> excel_dic excel_dic --> gui_merge inTensileMachine --> gui_merge gui_merge --> foutExcel classDef clInput fill:lightgreen,stroke:#333,stroke-width:4px; class inImages,inImagesLog,inTensileMachine,userDICparams clInput; classDef outputs fill:#f9f,stroke:#333,stroke-width:4px; class result_dic,excel_dic,analysis_json,excel_image,foutExcel outputs; classDef clNotImplemented fill:red,stroke:#333,stroke-width:4px; class outOptStrainMap clNotImplemented; classDef clSoftwareClass fill:lightblue,stroke:#333,stroke-width:4px; class DisplProc,DisplacementToStrainclass clSoftwareClass; classDef subgraph_padding fill:none,stroke-dasharray: 0 1 class sRigidBodypadding,sRBKinematicspadding subgraph_padding Currently : - the DIC analysis GUI is implemented in the ``examples/dic_gui/tkapp_dic.py`` file. - the Merge dic and UT GUI is implemented in the ``examples/imada_dic_merge_gui/tkapp_dic_ut_merge.py`` file.