Example Workflow for Tension Test¶
Introduction¶
This document outlines the workflow for the initial version of the DIC analysis which used three .py files to perform the analysis.
main_imada.py: This file is used to perform the DIC analysis and obtain the strain curve.
post_1_obtain_dic_strain.py: This file is used to obtain the strain curve from the DIC analysis.
post_2_merge_dic_ut.py: This file is used to merge the DIC and UT data.
This analysis was tested for a tensile test using the Imada testing system. The process involves image processing, data extraction, and integration with digital image correlation (DIC) techniques to provide comprehensive analysis results.
This should be considered obsolete for production purposes and is only included for reference and for developers that will use the scripts for further development of the method.
Workflow¶
1. Image Preparation: Crop and rotate images to standardize the field of view and ensure uniformity across all samples. 2. Parameter Adjustment: Modify the JSON file to update or adjust testing parameters as required. 3. Meta-Information File: Create a “meta-info.txt” file to log metadata associated with the testing process. 4. DIC Process: Implement the Digital Image Correlation process to analyze image data. 5. Data Extraction: Extract the relevant data from the “result.dic” file for further analysis. 6. Data Integration: Merge the data obtained from DIC with the data from the Imada testing machine for a comprehensive analysis.
Additional Information: Video Preparation Using Openshot¶
For visual representation or detailed analysis, the image sequences can be compiled into a video. Openshot, a versatile video editing software, can be utilized for this purpose by following these steps:
Importing Images: Import the file into the project as an image sequence.
Sequence Arrangement: Add the image sequence onto a track in the Openshot timeline.
Video Export: Export the compiled sequence as a video file in the desired format.
Workflow Diagram¶
The following Mermaid diagram illustrates the current DIC Analysis procedure:
flowchart TD
camImages[("Labview Output<br> Camera Images")]
resultDIC[("result.dic")]
LABVIEW_OUTPUT[("Labview Output<br> _image_times.txt")]
meta_file[("_meta-data.txt")]
INFILE_DIC[("myexcel.xlsx")]
UTFILE[("IMADA.csv")]
RESULT_XLSX_FNAME[("total_data.xlsx")]
DICAnalysis --> Part1
Part1 -->Part2
LABVIEW_OUTPUT --> convert_to_meta -->meta_file
camImages --> pydic.init
pydic.init --> resultDIC
resultDIC --> pydic.read_dic_file
meta_file-->df_img_meta
df_dic_tot-->INFILE_DIC
INFILE_DIC-->df_dico
UTFILE -->read_imada_csv
df_fin --> RESULT_XLSX_FNAME
subgraph DICAnalysis ["main_imada.py"]
pydic.init
convert_to_meta["Convert to Meta"]
end
subgraph Part1 ["post_1_obtain_dic_strain.py"]
pydic.read_dic_file -->gridlist
gridlist[("grid_listres")] --> obtainStrainCurve-->df_dic[("df_dic")] -->df_dic_tot[("df_dic_tot")]
df_img_meta[("df_img_meta")] -->df_dic_tot
end
subgraph Part2 ["post_2_merge_dic_ut.py"]
read_imada_csv["read_imada_csv()"] -->df_decimated[("df_decimated")]
df_dico[("df_dico")]
df_dico --> plotsyncedgraph["plot_synced_graph()<br>sync time vectors"]
df_decimated --> plotsyncedgraph
plotsyncedgraph --> df_dicrs[("DIC df with common time")]
plotsyncedgraph --> df_utrs[("Imada df with common time")]
df_dicrs-->df_fin[("DIC and UT <br> merged df <br> with common time")]
df_utrs-->df_fin
end