Home

Instruction Manual Table of Contents

image

Contents

1. One last thing to point out is that the reference name shown above near the bottom left refers to the updated reference image The last step of the analysis is to calculate the strains A strain radius of 7 appears to give good results as shown below Strain Options View Options Logirgan Discontinuous Analysis ete ont Displacement pixel ZooniPan Mens In terms of plotting the only distinction to really make between high strain and regular DIC analysis is that the user might want to consider saving an animated gif instead of regular pictures since so many data plots are available In this particular case the Eulerian perspective makes for especially good animations Furthermore it s usually appropriate to set the same upperbound and lowerbounds for strain in all the plots First a plot for Eyy is shown below Loci P ts Hi P Ac Oars In order to set all the bounds for the str por High Strain DIC Analysis 3 1 is the same it s necessary to set them such that the bounds accommodate all plots For this example the lowerbound must be set near zero as shown belo High Strain DIC Analysis 3 1 If this lowerbound is set any higher it might result in an earlier plot becoming completely saturated If you do this an error message will appear which informs you what the bounds must be Furthermore tend to add or subtract 0 0005 from the bounds to guarantee the tick marks appear
2. TIEN The GUI should appear as so if everything went correctly File Region of merest Analysis Pot From state etre mage conet magets pou gon of mares Discontinuous Displacements DIC Analysis 4 1 The important thing to note is that the ROI was set with respect to the current image i e it uses handles ncorr set roi cur data This is the key point to how Ncorr handles discontinuous displacement fields The idea is that the discontinuities are clearly visible in the current configuration The general process is that the ROI and DIC analysis proceed with respect to the current configuration and then an Eulerian to Lagrangian algorithm converts the displacements back to the reference configuration The ROI was traced around the crack in Photoshop a close up of the ROI superimposed on the current image is shown below The DIC parameters were then set as shown below pana an E per 4 lorie Seer Coler Mekihsirs Options m Discontinuous Displacements DIC Analysis 4 1 The one thing to note in particular is that subset truncation is enabled This prevents wrap around of subsets around the crack tip This is demonstrated below This is useful because the shape functions are linear whereas the deformation near the crack tip is highly nonlinear This helps prevent some distortions in the displacement fields which will be shown at the end of this section Anyway the seeds note that if m
3. if a reference image of size 400x1040 and a subset spacing of 1 is used as is done in the example in this manual then the Lagrangian displacement strain plots will be 200x520 The displacements with respect to the reference configuration Lagrangian are stored in the plots with the ref suffix The cur suffix is used for displacements with respect to the current configuration Eulerian Each field of handles_ncorr data_dic will be explained in a table format as shown belon handles ncorr data dic displacements Field Explanation plot u dic Plot containing U displacement data WAT the updated reference image based on imgcorr after DIC analysis This plats used for computational purposes plot v dic Plot containing V displacement data WRT the updated reference image based on imgcorr after DIC analysis This plats used for computational purposes plot corrcoef dic Plot containing correlation coefficient data WRT the updated reference image based on imgcorr after DIC analysis roi dic ROI corresponding to valid displacement data WRT the updated reference image based on imgcorr after DIC analysis Directly Obtaining and Altering DIC Data 2 10 Plot u ref formatted Plat containing U displacement data WRT the reference configuration after it has been formatted This plot is displayed in the plot figure Plot v ref formatted Plot containing V displacement data WRT the reference c
4. 0 As of now a lens coefficient can only be applied Bing Pan provides a method for determining the lens coefficient but have yet to integrate this into Ncorr The process basically requires DIC analysis to be run on images taken during rigid body translation tests and then performing a simple least squares analysis to solve for the lens distortion parameter In future revisions of the program may implement this feature Strain Analysis 2 8 2 8 Strain Analysis The strain analysis begins by going to Analysis Calculate Strains in the main Ncorr GUI The strains are calculated from the displacement data by using a least squares plane fit to a local group of data points n this case a contiguous circle which is based on Bing Pan s work on strain calculation The displacement gradients are then found from the plane parameters these gradients are used to calculate Green Lagrangian and Eulerian Almansi strains A more detailed description is given in the DIC Algorithms section on the ncorr com website Strain Options The only parameter you can vary here is the strain radius This is the radius of a circle which selects a group of points to fit a plane to A preview is provided so the user can visualize the plane fitting The selection of the ideal strain radius is similar to the selection of the ideal subset radius in that the smallest radius is desired which does not result in noisy strain data The default radius is set to 15 but i
5. Next compile the following MEX files with ori Ri fotsholndarg cpp standard datar pes db ReoLi Sacarh cb acces Lib 30U mex ncorr alg formnion cpp standard datatypes ob3 noarr_datatypes ob3 noorr lib chj 1902 mex p stanard daracgpes ob ncorr datatppes cb never Lib onj NOTE When compiling the MEX files with linux the standard datatypes and ncorr_datatypes libraries will be compiled with an a extension instead of an obj extension The last three files that need to be compiled are ncorr_alg_testopenmp cpp ncorr alg calcseeds cpp and ncorr alg rgdic cpp These files utilize OpenMP and thus needs to be compiled with certain compiler flags If multithreaded support is not desired then the files can be compiled like the other MEX files in the following way Ino mex ac P standard datatspss cbj noorr datatpes ck neorr pe Standard datatspes cb ncorr datatypes cb ncorrj pp standard daratvpes ob nccrr datatmpes cb mecre Libor Otherwise flags need to be passed to the compiler The required flags are shown in the table below OS Compiler Flags Windows with Visual stis COMPFLAGS SCOMPFLAGS openmp DNCORR OPENMP Before R20152 CXXFLAGS SCXXFLAGS fopenmp DNCORR OPENMP CXXLIBS CXXLIBS Igomp Linux with GCC R2015a remove the backslash CXXFLAGS CXXFLAGS fopenmp DNCORR OPENMP CXXLIBS CXXLIBS Igomp An example compilation for t
6. and dv dy The hessian is stored in a 36 element vector using column major ordering which is highlighted in the figure above With this in mind it s now possible to debug and check values in the MEX files called by Ncorr
7. compilation fails then the following error message may appear Fies did rt capil rropet Make sue mex has a ces corpi set ard ret the fie nenes ave ret een ated v me ihe he cane ther ty eccering and rstaling ncam wikcut onenn If probiers mers hen t conmening o he corale secto n nor and arua amaling the Tuners irn Ior cempiksion ere valle n he meri at nec com In this case the files did not actually compile properly If all the above steps have been followed correctly and OpenMP support was enabled then first try to reinstall Ncorr without OpenMP by clicking OK retyping handles ncorr ncorr into the terminal and then leaving the OpenMP support option unchecked If compilation still fails then you may need to use a different compiler OR complete the installation manually as described in section 1 4 If you get to this point feel free to e mail me at blaber3 gatech edu for assistance If compilation completes successfully but it is determined that the compiler doesn t actually support OpenMP the following error message will appear Fies corp botit was determined that OpenMP s not actly Sigporad Fsaosrancal coi ange Peated mod rusa carrer nich sports Cant Ea In this case you should be able to get Ncorr to work by simply disabling OpenMP support Just click OK retype handles ncorr ncorr into the terminal and leave the OpenMP support option unchecked If OpenMP support is desired you need to use a di
8. deformation which results in improper seed calculations Because this is actually a somewhat common occurrence especially when the whole sample cannot be imaged within the field of view an example is given below with tips on how to catch this mistake and correct it DIC Analysis 2 6 Suppose for instance that the seeds are placed as shown above It turns out that the sample in the picture undergoes some translation upwards as it deforms The seed highlighted in red actually goes out of the picture in some of the current images In this case an error message will generally display that notifies the user of a seed point with a high correlation coefficient value This is an important indicator of a seed that has possibly been processed incorrectly You can confirm this by viewing the seed preview below Retenes DIC Analysis 2 6 All of the highlighted things in the figure above indicate potential problems In the location pictures it becomes evident that the location of the top seed in the current image is completely off whereas the other three seeds are correct Visual inspection of the enlarged reference and current subsets also show that they look very different Lastly the maximum number of iterations 50 for this case was used before convergence was reached this is typically another good indicator of an improperly calculated seed The solution here is to move the seed to a lower location or potentially redraw
9. down drastically such as browsing the internet so if you plan on using your computer during computation then it might be best to leave out a core or two If you choose not to use multithreading then just leave OpenMP support unchecked and click finish The files should compile and display in the terminal as shown below Automatic Installation 1 3 If the files compile successfully if not an error message may appear skip ahead to see what this means a pop up for setting the path will appear as shown below hg troche napa heen The path needs to be set in order to upload images from other directories This is only a temporary solution and the dialogue box will reappear if MATLAB is closed and reopened For a more permanent solution you can set the path manually through File gt Set Path gt Add Folder from the MATLAB GUI and then clicking save If the files compiled properly a GUI for Ncorr should appear Fle Regenctintreit Anayis Pot rore Sas Rene nos ror ns Peor ten If this is the case Ncorr has most likely installed correctly and the installation should be complete The next time you open MATLAB you can open Ncorr again by typing handles ncorr ncorr into the MATLAB terminal and the GUI should appear without having to repeat the installation process If the installation proceeded correctly then you can go to the user guides in section 2 Automatic Installation 1 3 If
10. is desired then the C compiler must have support for OpenMP do a google search if you aren t sure If the use of multithreading isn t needed then any supported compiler which supports the STL library should work MEX Setup 1 2 1 2 MEX Setup First make sure a supported C compiler has been installed on your computer Find the version of your Matlab i e R2015a and then determine which C compilers are supported For example R2015a has the following supported compilers MATLAB Product Family Release 20163 MATLAB Complet MATLABCoNBMISDK Coder SimBilogy Designer Fornextie ape Bes MAD eane Be E ra prm orar sum comp ns uma Des NET sna APS never rauan coe Ment iniowesO47 Amme P v gh j Microson Visual C 2013 Professional v vov v vuv L4 d Wewnwmcemumeemd 4 v v Y v9 7 MESS VCI IAN ri Ld Y v 9 Pe A v Ld Menon s w P 4 v v x SFI ana Vind http www mathworks com support compilers R2015a index htm From this list the Microsoft Windows SDK 7 1 appears to be the only free C compiler available for the R2015a release If you have access to multiple compilers then use the most recent compiler which has OpenMP support i e if you have access to Microsoft Visual C 2013 Professional then use it Note that Windows SDK 7 1 does not support OpenMP so if you are using this package then multithreading cannot be used although the single threaded version of Ncorr will work After
11. points they need to be placed in a region of high deformation so that the reference image updates correctly If you examine the last current image in the example set you ll see that the region of highest deformation is near the region circled below Last Current Image Reference Image Basically from inspection of the last current image shown on the left you can assume the highest deformation occurs approximately in the region encircled by the red ellipse where the crack initiates It would be ideal to place the seed points on the reference image corresponding to this region so that the reference image updates properly With this in mind the seeds assuming multithreading is enabled with two threads are placed as so Seed Options elect Region meta High Strain DIC Analysis 3 1 These seed locations shown in the red boxes satisfy the three requirements explained previously Clicking finish yields the following seed preview screen The most important thing to note here is that the last image seeded is not the last image of the series The image with postfix 180 was determined to be the last properly seeded image of the series Note that this can vary it s possible the image can be a couple before or after this one depending on the seed placement This image will serve as the updated reference image until it is updated again Click finish to proceed with the analysis It should continue until completion Befor
12. scroll through them to ensure the order is correct Setting the Region of Interest 2 4 2 4 Setting the Region of Interest There are two ways to set the region of interest ROI through the GUI or through the MATLAB terminal The most important thing to note here is that the ROI should be an array of the same size as the reference image or current image this depends on which type of analysis is done which is explained in greater detail in later sections For this example the ROI is set with respect to the reference image Furthermore white regions represent the ROI and black regions are outside the ROI It is also recommended to leave a black border near the edges of the image although the ROI used in this example doesn t in order to illustrate a couple points Sample ROI Load ROI The first way to set the ROI is to load it from an image by going to Region of Interest gt Set Reference ROI and then pressing the Load ROI button This is the recommended way to set a ROI because you can use a program like Photoshop to accurately trace an outline of the sample in order to obtain the best ROI The only problem with this method is that it can be tedious Anyway a GUI should appear as shown below o zi z HER a For the example used in this user guide the ROI was set using this method Setting the Region of Interest 2 4 Draw ROI The second way to set the ROI is to draw the ROI directly in MATLAB by using Region of Int
13. select a region defined as a contiguous region as shown below Select Region This step involves selecting a contiguous region to process In this example only one region will be processed because only one is present but it is possible to have more than one region when forming the ROI Press the Select Region button and place the impoint anywhere within the region to select it for processing as shown below Regn Datare rages tor ane ep son Seed Placement The seed placement process serves three purposes 1 it provides initial guesses for the RG DIC analysis 2 it partitions the ROI so that each partition can be calculated in parallel if multithreading is enabled and 3 in the case of the high strain step analysis with seed propagation selected it updates the reference image based on certain heuristic thresholds for the iterations to convergence and correlation coefficients of the seeds Thus the placement of the seeds is very important To satisfy the first requirement seeds must be placed such that they do not go outside the field of view FOV during deformation For the second requirement seeds should be placed such that the ROI is partitioned evenly For the third requirement seeds should be placed in regions of high deformation such that the reference image updates appropriately The first two points are addressed here while the third is addressed in the high strain section DIC Analysis 2 6 An example
14. E Canol NOTE Take note of the naming convention above All of the current images follow the name_ ext format where name ohtcfrp and ext tif Simply drag and select all the current images you want to process For this example the images with a post fix of 01 to 11 are selected Similar to the reference image there is also an option to set the current image s directly through the Ncorr handle To do this you can type handles ncorr set cur data through the MATLAB terminal as shown below Student Version gt Command Window EY mS TUUS ij com gt anaien moore set_eue taatai z S68 ECE Neme Min Max Bless 7s randesneor 1 In the figure above only a single current image is loaded so it exists as a grayscale array of type double uint16 or uint8 To load more than one image each current image gray scale array must be stored together in a cell array Furthermore the ordering specified in the cell array is the order that Ncorr uses to sort the images After the current images are uploaded there are buttons on the bottom right of the Ncorr GUI which become enabled and allow you to scroll through the images as shown below Setting the Current Image s 2 3 File Region ofiterrt Anais Bir Perm sie een Image avant nant Fagien fine The current images should be ordered properly according to their number and the last image in the sequence will appear initially by default It s a good check to
15. E Ncorr Instruction Manual Version 1 2 1 7 2 2015 Justin Blaber jblaber3 gatech edu Antonia Antoniou antonia antoniou me gatech edu Georgia Institute of Technology Table of Contents 1 Installation installation Requirements MEX Setup o 13 Automatic Installation Manual Installation 2 User Guide General DIC 21 Program Flow jetting the Reference Image jetting the Current image s 25 Setting DIC Parameters 26 DIC Analysis 3 User Guide High Strain 34 High Strain DIC Analysis 4 User Guide Discontinuous Displacements 41 Discontinuous Displacements DIC Analysis 5 Debugging MEX Files 51 Debugging MEX Files Installation Requirements 1 1 1 1 Installation Requirements Version Requirements Required R20093 Recommended R2015a NOTE Ncorr was developed on MATLAB R2009a and has not been tested on prior versions Toolbox Requirements Required Image Processing Toolbox Required Statistics Toolbox Operating System Requirements e Recommended Windows or Linux NOTE Ncorr was developed on Windows 7 It has also been tested on Ubuntu 14 04LTS Ncorr has not been tested on Mac OS MEX Compiler Requirements e Recommended Visual Studio 2008 or GCC 4 2 NOTE Ncorr utilizes the STL library so any compiler used must support STL Ncorr also has an option to use OpenMP for users with multicore processors If the use of multithreading
16. The fields enabled type auto and step represent if the step analysis is enabled whether seed propagation or leapfrog is used whether seeds will automatically get placed at each step and the step parameter for the leapfrog analysis respectively Subsettrunc Logical parameter specifying if subset truncation was used for the RG DIC analysis imgcorr Structure containing the image correspondences for the step analysis For each element there is an idx ref and idi cur The idx s are zero based and assume the reference and current images are concatenated idx ref is the index for the updated reference image whereas idx cur is the index of the last current image WRT this reference image pixtounits Number representing the conversion between pixels to real units In the form of units pixels units String containing the units cutoff corrcoef Number representing the minimum correlation coefficient value allowable for displacement datapoints corresponding to a dataplat Tenscoet Number representing the radial lens distortion coefficient handles_ncorr data_dic strai ins Field Explanation Plot exx ref formatted Plot containing the Exx Green Lagrangian strains WRT the reference image This plot is displayed in the plot figure Plot exy ref formatted Plot containing the Exy Green Lagrangian strains WRT the reference image This plot is displayed in the plot figure Plot
17. ain analysis works by updating the reference image as well as the ROI and then adding displacement fields together If you enable this parameter there are two different ways the updating can proceed In the case of the seed propagation option the reference image will be updated based on the correlation coefficient and the number of iterations to convergence of the seeds If these exceed certain heuristic thresholds then the reference image will be updated For the leap frog approach the user can manually select how many images to use before updating the reference image For both options if the automatic propagation checkbox is enabled then the seeds will be placed automatically for the updated reference image based on their previous displacements and the DIC analysis will proceed automatically until completion If this is unchecked then the user will have to replace the seeds manually every time the reference image is updated Discontinuous Analysis For this example discontinuous displacements are not anticipated so this feature isn t used Regardless subset truncation is a feature that prevents subsets from wrapping around a crack tip which can cause distortions near the cracktip This feature is elaborated on in the discontinuous displacements section DIC Analysis 2 6 2 6 DIC Analysis The actual DIC analysis is performed by going to Analysis gt Perform DIC Analysis in the main Ncorr GUI The first step is to
18. apply the correct conversion to convert the displacements from pixels to mm determined to be 0 031791 mm pixel in this case It s important to note that this assumes pixels are square which is usually the case Formatting Displacements 2 7 Formatting Options These options help filter out bad data points In the example done in this section some of the points in the ROI travel outside the FOV These points can be filtered out by reducing the correlation coefficient cutoff In conjunction with this the locations of the min and max displacement values can assist in this analysis as bad data points generally have very high or very low values A good cutoff for the example done in this guide is to set the correlation coefficient cutoff to 0 02 which was applied to all images as shown below Note that the preview above was zoomed in using the zoom pan options The filtering out of bad data points is shown below Pe P M Lens Distortion Options This is an option to correct for errors involving radial lens distortion The distortion correction follows from eq 6 in Systematic errors in two dimensional digital image correlation due to lens distortion The correction is applied assuming the distortion center is at the center of the image this might not always be true but is usually a reasonable assumption If no calibration tests have been done or you re unsure what the lens coefficient is then just leave it as
19. ded through the GUI Setting the current image s through the GUI also differs from the reference image in that there are two different loading schemes Load All and Load Lazy which are shown by going to File Load Current Image s egion of Interest Analysis Plot Load Reference Image Reference imag Load All memory hea Load Lazy slower butless memory Load Current Image s Load Data Clear Data Set Handle Reinstall Ext Soh Load all will store all the images into the workspace If you are analyzing a large number of images this will be problematic since it may result in running out of RAM space However when using lazy loading only the name and path of the images are stored the images are loaded based on their stored location on demand This means that when doing analysis in Ncorr using lazy loaded images the user must make sure not to move the images into a different directory or alter them Furthermore since they are loaded on demand and then discarded afterward this means some of the analyses may proceed a little slower But from my experience the difference is not that noticeable When in doubt use lazy loading When loading through the GUI for both load all and lazy load the following window should appear Setting the Current Image s 2 3 lone Dant ome osti ohterp 06m ohtr OF nt CAA AA AA AA oepp amp st ohichp oaat oMcploM ohicp LF Fies otype
20. downloading a supported compiler make sure MEX has been set up properly in MATLAB Type mex setup in the MATLAB terminal as shown below gt gt mex setup C The output will be something similar to on Windows using R2015 MEX Setup 1 2 This means the compiler is set correctly to Microsoft Visual C 2013 Professional If a compiler isn t set then follow the instructions in the terminal and set the proper compiler Automatic Installation 1 3 1 3 Automatic Installation Automatic installation has only been tested on Matlab R2009a and R2015a on Windows using Visual Studio and R2015a on Ubuntu 14 04LTS using g Automatic installation should work with different versions of Matlab on Windows but for Linux only R2015a will work This is because Mathworks updated the MEX interface for R2015a which changed how compiler flags are set in Linux I ve decided to keep things simple and just have automatic installation work best for the newest version of Matlab since this is what most researchers will have access to If you are using an older version of Matlab on Linux then perform manual installation section 1 4 Furthermore if you are using a different compiler on Windows ie g through gnumex then perform manual installation After MEX is set up correctly get the latest version of Ncorr from the ncorr com website downloads section as of this manual the latest version is v1 2 1 as shown below Ogr
21. e continuing l d like to explain what exactly is going on under the hood Basically every time the reference image gets updated the seeds are automatically propagated and placed as the analysis proceeds Additionally the ROI is also updated based on the displacements on the boundary of the ROI For this example the updated thread diagrams with seed placements are shown below High Strain DIC Analysis 3 1 Update 15 90 Imc 2 dere ups gef I r3 di cur STUNT 49 For this particular example there were four updates The ROIs and seed positions shown as red circles are automatically updated and then subsequently processed The corresponding imgcorr structures are also superimposed as an example for how this structure works From here the only problem is that the displacement fields are now going to be with respect to the updated reference images The next step is to somehow add them in order to bring them all back to the Lagrangian perspective i e with respect to the original reference image This step is taken care of when the displacements are formatted The formatting displacements GUI should look similar to the one shown below Note that a crack develops in the sample on the right side near the middle of the sample This means points near this crack are poorly analyzed so they should be removed Setting a correlation coefficient cutoff of 1 0 yields good results High Strain DIC Analysis 3 1 ER
22. ear the cracktip This feature is elaborated on in the discontinuous displacements section Plotting 2 9 2 9 Plotting At this point it is assumed either the displacements have been formatted or the strains have been calculated Plotting can be achieved by going to Plot gt View Displacement Plots or Plot gt View Strain Plots in the main Ncorr GUI This is the last step of the analysis An example of the plots used in the examples in this user guide is shown below NOTE From my experiences working with the plotting tool on different operating systems and versions of MATLAB there appear to be inconsistencies between versions with regards to the stacking order of objects i e sometimes the scalebar axes appear behind the data if a contour plot is present but tried to optimize it for Windows on version R2012a Ifthe axes scalebar and contour plot are disabled the plot appears to work fine on all versions of MATLAB I ve tested Ncorr on There are a couple basic features available the first one being that the plot windows are resizable They are the only GUI windows in Ncorr that are resizable at the time of writing this manual Furthermore if you hover your cursor aver the data a data cursor appears that informs you of the displacement or strain data at that location as shown below 9 H0 11 12 The x pos and y pos positions are the integer locations of the cursor with respect to the raw data array This wa
23. en the following will appear ne cffheconpled iss ising If ung auomalirctataton hen meu tes viroan rsnyrancalntaton pase once Noorana eke sr Sime tes complet prope Lej If this appears then go back over this section and make sure you did not forget to compi a file If the installation went correctly then as a double check make sure the options you specified in the ncorr_installinfo txt file were loaded correctly by typing handles_ncorr in the MATLAB terminal to s and compare them with the values you provided in the ncorr_installinfo txt file handieo guis ixi reuse metercaser en tenet pent Ded struct t erect Manual Installation 1 4 Program Flow 2 1 2 1 Program Flow For the general DIC section am using the plate hole sample from SEM s DIC challenge The formatted images along with a ROI are available off the Ncorr website if the user would like to follow along http ncorr com download sample12 zip At this point it is assumed Ncorr has been successfully compiled and installed on the user s computer The work flow of Ncorr is as follows 1 Set Reference Image Set Current Image s 3 Set Region of Interest ROI Dependencies Requires reference image or current image s to be set first 4 Set DIC Parameters Dependencies Requires reference image current image s and ROI to be set first 5 DIC Analysis Dependencies Requires DIC parameters to be set
24. erest gt Set Reference ROI and then pressing the Draw ROI button This is the preferred method for preliminary analysis because it can be done quickly An example ROI is shown below and was constructed using Poly followed by Ellipse where the prefix indicates adding portions to the ROI subtracts regions NOTE The green shapes represent regions which add to the ROI red shapes represent regions that subtract from the ROI and blue shapes represent regions which are active Le clicked on To obtain better precision when drawing ROls you can zoom and pan the view Zooming can be enabled by dlicking the zoom button once and disabled by clicking it again or by clicking a different button such as adding a region or pressing the pan button An example is shown below Setting the Region of Interest 2 4 MATLAB Terminal Once again similar to loading the reference and current image through the MATLAB terminal typing handles ncorr set roi ref data will set the ROI Note that data must be of type logical and be the same size as the reference image An example is shown below Morksoace __ oax Smee NH o Name Min Max i sit nantes peorr ses roi roz aatan Setting DIC Parameters 2 5 2 5 Setting DIC Parameters The DIC parameters can be set by going to Analysis Set DIC Parameters The main DIC algorithm used in Ncorr is based off of Bing Pan s RG DIC framework RG DIC is highly robu
25. es 2 00 MATLAB var TE Dnus Cesar Sst eant he artum Ivers Campi ae Amat Met Op Program Downloa Then navigate to the directory where you saved Ncorr Make sure none of the files have been moved or altered From there type handles ncorr ncorr in the MATLAB terminal as shown below Automatic Installation 1 3 A dialogue box will appear about the compiled files missing Since this is a fresh install the files will not be compiled yet so click OK to continue Next a dialogue box will appear about OpenMP support openu namrsaans Hecures muncare CPU ane compar whch supports Open state Mougn mex Ga eae Click the checkbox for OpenMP if you have a multicore processor want multicore support and have already installed a supported compiler with OpenMP support section 1 2 also be sure to google the compiler to see if it supports OpenMP The number of cores on your system is most easily determined by checking the task manager on Windows or system processes on Linux as shown below Hens co ere Poorer ees us uwe eaen p sca Pena Use tory In my case my computer has 8 logical cores that can be utilized for computation only have four physical cores though so chose to use 4 cores for computation as shown below EGET URS TPT ST corper wuch upp Ops ats drag NOTE If you use all your cores during computation generally any other applications on the computer will slow
26. eyy ref formatted Plot containing the Eyy Green Lagrangian strains WRT the reference image This plotis displayed in the plot figure Toi ref formatted ROI containing information for valid points after strain calculation Its possible for some points to be removed during strain calculation for regions that do not have enough points to form a plane fit Directly Obtaining and Altering DIC Data 2 10 Plot exx cur formatted Plot containing the Exx Eulerian Almansi strains WRT the current image This plot is displayed in the plot figure Plot exy cur formatted Plot containing the Exy Eulerian Almansi strains WRT the current image This plot is displayed in the plot figure Plot ey cur formatted Plot containing the Eyy Eulerian Almansi strains WRT the current image This plot is displayed in the plot figure Tal cur formatted ROI containing information for valid points after strain calculation Its possible for some points to be removed during strain calculation for regions that do not have enough points to form a plane fit handles ncorr data dic straininfo Field Explanation radius Integer representing the strain radius subsettrunc Logical parameter specifying if subset truncation was used for the strain analysis Lastly any information that the user wants to alter should be copied first to another variable in the main workspace By default the properties of Nco
27. ffer nun_thread Messiam gn burrertnan thread 24 hessian gn buffer Inun thread J Solve for nev parameters via cholesky decomp from Golub and ve 1 Loer criangie of Hessian overwritten with parameters used in Jl 1f one cf the diagonals is close ta zero or negative then the 1 hessian is not positive definite bool positiveder trus Choleskp hessian gn muffer num thread posi tivedet ir tpositiveaeri t 77 Start iterations For first iteration use defvector init OUT cutstate newton nevton defvector corzcoef diffaorm defwa 0 nitialize counter Wile outstate_ newton 7 for rest ar iterations use defvector from pi um on Od Debugging MEX Files 5 1 After the analysis is run the process will stop at the break point The next step is to open a watch for the variables in the current scope Fle Esa Vien Dei Tos Wadon Hs mtm Mesme i D ba a a gt come Stes Degas pee serias p P A suwon pem 4 aon oe ERES s E 2 cene mones Cenni Deve Pesner delaware Cute eens Tonge ako ti Nen report This results in the following window qe semaum 3d po Debugging MEX Files 5 1 This watch window will contain the current hessian for each thread in this example I have only used a single thread so there is only one hessian Note that the hessian is a 6x6 matrix since there are 6 parameters which can be adjusted u v du dx du dy dv dx
28. fferent compiler that supports OpenMP Manual Installation 1 4 1 4 Manual Installation These steps show how to perform the manual installation of Ncorr which involves the compilation of MEX files directly through the terminal as well as the creation of an ncorr_installinfo txt file which contains information about multithreaded support The first step is to comment out the automatic compile section in the ncorr m file Add before the compile section and then after it as shown below Eres acer GS salu i The next step is to manually compile all the necessary libraries and MEX files At the time of writing this manual there are three basic library cpp files and twelve MEX files which are listed in the table below standard datatypes cop Library Files ncorr datatypes cpp ncorr lib cpp ncorr alg formmask cpp ncorr alg formregions cpp ncorr alg formboundary cpp ncorr alg formthreaddiagram cpp ncorr alg formunion cpp ncorr alg extrapdata cpp ncorr alg adddisp cpp ncorr alg convert cpp ncorr alg dispgrad cpp ncorr alg testopenmp cpp ncorr alg calcseeds cpp ncorr alg rgdic cpp MEX Files Manual Installation 1 4 Start by compiling the libraries standard datatypes cpp ncorr datatypes cpp and ncorr lib cpp as object files by using the c flag with MEX as shown below EDD mex e standard datntrpes cz pu Ldorevgpes cbp EDU ase o noore lib cpp
29. first 6 Format Displacements Dependencies Requires DIC Analysis to be run first 7 Calculate Strains Dependencies Requires displacements to be formatted frs Any of these steps can be altered at any stage so long as the dependencies have been met The state of the program is visible at the top left corner of the main Ncorr GUI as shown below Tagan ae o p This lets the user know which stage they are currently on and which should come next The state is listed in sequential order for convenience In the example above the state lets the user know that the reference image current image and ROI are loaded and that setting the DIC parameters needs to proceed next Setting the Reference Image 2 2 2 2 Setting the Reference Image There are two ways to set the reference image The first way is to use the Ncorr GUI by going to File gt Load Reference Image which results in the following wen Lbsmen O EBEM omes ewenooner owemecent omero ozur BSy H omeo omenposor ontenp ostt omero orar Filename pumms Open Fiesotyps maoene NOTE The reference image means the initial or first image you take of the sample before any deformation occurs The other way to load a reference image is to do it through the MATLAB terminal You can set the reference image by typing handles ncorr set ref data where data is a 2D matrix of type double uint16 or uint8 containing image grayscale values as s
30. hese files with the appropriate flags is shown below for a system with Windows and Visual studi Manual Installation 1 4 The important thing to note here is to make sure you use the correct name and format for the compiler flags which depend on both the operating system and the compiler If compilation still fails or more assistance is needed then please email me at jblaber3 gatech edu and include the entire error message asa screen shot At this point all the MEX files should be compiled The next step is to create a file called ncorr installinfo txt and then fill it with the following Edit Text Go Tools Debug Desktop Window Dn m rs m e o 2 A e amp m 4 aa mj sa Je 4s 0 1 L4 The first number represents whether or not OpenMP support exists and should be either 0 or 1 0 no OpenMP support 1 OpenMP support The second number represents how many threads you want and needs to be greater than or equal to 1 For example the combination can be 0 1 for single threading or 1 4 as shown above for multithreading with four threads NOTE Make sure to separate the numbers by a comma the format should be After the above is complete type handles_ncorr ncorr into the MATLAB terminal which should bring the Ncorr GUI up If the main GUI appears directly then the installation should be complete If you forgot to compile a file or forgot to set up the ncorr installinfo txt file th
31. hown below DUS pansies peser aet ez asta ms A N ease DEM Name Min Max Hass oos AK tardes score This feature is provided because sometimes the reference image is obtained through a series of images which are averaged together or processed in some way If this is the case the reference image will be stored as an array in the base workspace and it s much more convenient to load it directly than to save it as an image which can also lead to loss of data through image compression or binning of gray scale values Lastly when the reference image is loaded it should appear as shown below Setting the Reference Image 2 2 le Region orinterest Ananas Pct afew nage Current insi pr Regn ortu Setting the Current Image s 2 3 2 3 Setting the Current Image s First of all one of the main differences between setting the current image s vs the reference image is that more than one image may be loaded for the current deformed configuration Because of this the program needs a way to order the current image s if more than one is loaded To accomplish this the images must have the name format shown below name ii ext Where name is the name of the image set is a number associated with the image and ext is the image extension which must either be jpg tif png or bmp an example would be sample 15 png Note that this naming convention is only required if more than one current image is loa
32. ntours View Options Once again these options are pretty self explanatory These allow you to switch between Lagrangian and Eulerian perspectives For strains these will switch between Green Lagrangian strains and Eulerian Almansi finite strains tensors This option will affect all open data plots Scalebar Options This affects the visibility and length of the scalebar displayed in the bottom left of the plot This option will affect all open data plots Axes Options This option affects the visibility of the axes displayed in the top left of the plot This option will affect all open data plots Saving the Figure A figure can be saved by going to File gt Save Image gt Save Image Without Info File gt Save Image gt Save Image With Info or File gt Save Gif within the plot window This will allow you to save nice figures for publications websites or any other purpose In this guide will focus on saving images as the animated gif option is more useful for high strain calculation which is discussed in the high strain section After selecting the save image option a menu with a preview should appear as so Plotting 2 9 This will allow you to resize the image if you desire Please note that if a large spacing parameter is used the image may look blurry if you upsize it because the image and data plot must be the same size when plotting in MATLAB The best solution for this would be to rerun the analysis with a smaller s
33. of inappropriate vs appropriate seed placements for the example reference image is shown below note that this is only applicable if multithreading is enabled placed it s disabled only one seed can be These seed positions are not preferable because the regions aren t evenly sized and they aren t nice full shapes These seed placements are more preferable because the regions are evenly sized and have nice full shapes Seed Preview After the seed placement is done a preview will appear It s important that the user checks the seeds through this GUI because it s possible that the seeds can be processed incorrectly The main reasons for seeds being incorrect can be either through a failure in convergence this rarely happens as long as there are no large rotations or deformations present or if the seeds travel outside the current image as the sample deforms An example for proper seed preview is shown below DIC Analysis 2 6 eters Cunene ur Notice that all the seed locations in the reference image seem to match appropriately with the locations in the current image Furthermore the reference subset and transformed current subset look very similar Lastly the number of iterations to convergence was way below the cutoff and the relatively low correlation coefficient both imply a good and correct seed placement Debugging As mentioned before it s possible for seeds to travel outside the image during
34. on the top and bottom of the colorbar as well as shown above Anyway after hitting applying to all select File gt Save GIF which will bring up the following GUI e n na menes ant win 0 l m nah Gone o1 lo Notice that in addition to the size you can also modify the time delay between animation frames From my experience a time delay of 0 04 25 fps seems to work well for this data set but the user can always opt to increase it in order to slow the animation down and vice versa Discontinuous Displacements DIC Analysis 4 1 4 1 Discontinuous Displacements DIC Analysis For this section it is assumed the program has already been installed and the user has already read the General DIC section The images used for this section called the cracked sample are available off the Ncorr website if the user would like to follow along http ncorr com download cracksample zip For this analysis images from my lab are going to be used Furthermore to demonstrate some of the features of Ncorr they will be loaded through the Ncorr handle instead of the GUI The images were taken from a high resolution CCD camera and are thus quite large To account for this I ve decided to read them through a script and then downsize them before loading them into Ncorr The script is included with the images but is also show below pen Weorr handles ncorr ncorr uic Antialiasimg
35. onfiguration after it has been formatted This plot is displayed in the plot figure Tol ref formatted ROI corresponding to formatted displacement data WRT the reference configuration plotu cur formatted Plot containing U displacement data WRT the current configuration after it has been formatted This plot is displayed in the plot figure Plot v cur formatted Plot containing V displacement data WRT the reference configuration after it has been formatted This plot is displayed in the plot figure Tol cur formatted ROI corresponding to formatted displacement data WRT the current configuration handles ncorr data dic dispinfo Field Explanation type String representing whether regular or backward analysis was done this value can either be regular or backward radius Integer representing the subset radius spacing nteger representing the subset spacing cutoff diffnorm Number representing the cutoff for the norm of the difference vector in the inverse compositional method cutoff iteration Integer representing the cutoff for the maximum number of iterations allowed for the inverse compositional method Total threads Integer representing the total number of threads specified during the RG DIC parameter specification stage can be different than the number of cores specified during installation stepanalysis Structure containing data for the step analysis
36. roceeds as is done in the general DIC section he she will find that the seeds for the latter images will always be incorrect for the latter images This is because this sample undergoes very high deformation The underlying problem here is that the pattern between the reference image and the last current image changes so much that the matching algorithm no longer works This type of sample requires the reference image to be updated To account for this the high strain step analysis needs to be enabled when setting the DIC parameters this is discussed in the next paragraph For high strain DIC it s recommended to set the type of step analysis to seed propagation with the automatic propagation checkbox enabled as shown below High Strain DIC Analysis 3 1 Montano Duccrimon Ard ena There are a couple things to note here First of all there are a large number of images involved in this analysis so performance issues will be a concern To increase the speed of the analysis I ve elected to increase the subset spacing to 6 Furthermore the norm of the difference vector has been increased to 107 and the iteration cutoff has been reduced to 20 This will reduce the number of material points to analyze and also make the conditions on the iterative solver more relaxed The effects of doing these three things will be a lowered resolution in the acquired displacement field and a slightly reduced accuracy as well If time permits then
37. rr are set to SetAccess private to prevent inadvertent alteration of data If the user wants to alter the data directly then the user can go into the ncorr m source code and change SetAccess private to Access public to alter these properties directly as shown below m us us 125 ES T handles It may be possible to crash Ncorr by setting inconsistent data and thus caution is advised if going this route High Strain DIC Analysis 3 1 3 1 High Strain DIC Analysis For this section it is assumed the program has already been installed and the user has already read the General DIC section The images used for this section the weld sample from SEM s DIC challenge are available off the Ncorr website if the user would like to follow along htt ncorr com download sample13 zip Start by setting the reference image to the first image post fix of 000 of the set Next load the current images by using Lazy Load or potentially Load All if your computer has a lot of RAM and selecting all the images from postfix of 020 until the postfix of 910 note that at 915 the sample has failed so omit this picture as the current images Lastly set the reference ROI to the ROI provided the image set named roi tif If successful the GUI should appear as below Ple Region of Interest Anaya Piot Fos of ree Were memis nia mt one rene Now if the user simply p
38. s done for convenience so the user can access the value in the array very easily For example in the figure above the last V displacement plot is shown You can access this point directly using 1 plot v ref formatted 317 163 dic displacements Plotting 2 9 The resulting output of the terminal will be 7 5719 which matches the V displacement shown The index for the plot is the same that is shown between the lt and gt buttons on the bottom right of the plotting GUI Note that these x and y positions are not the real positions of the x and y coordinates hence why no units are provided They are the position of the data cursor within the raw data array generated by Ncorr which is a scaled multiple the scaling depends on the subset spacing parameter of the reference or current if eulerian analysis is done image For more information on the data dic structure please consult section 2 10 Local Plot Options These options are pretty self explanatory The only thing to note here is that these options only affect the plot that is being adjusted as opposed to other options which affect all open plots Furthermore the transparency option is disabled when the contour plot is enabled This is because transparency does not work well with contour plots In general the contour plot does not work that well with strain plots because strain plots are generally noisier than displacement plots which results in jagged co
39. st and computationally efficient as well More details can be found in Bing Pan s paper on RG DIC as well as the DIC Algorithms section on the ncorr com website A GUI should appear as shown below NOTE A subset spacing of 3 is shown above to better illustrate the spaced points on the zoomed in subset but for the example analyzed in this section a subset spacing of 1 was used to obtain higher resolution results There are several key components to this GUI The first is obviously the menus on the left but itis also important to note that the subset preview is interactive A green impoint highlighted by a red square is placed in the axes labeled Subset Location This point is draggable and is the center point of the subset shown on the right The subset on the right gives an idea of what the subset spacing space between the two dots within the red squares and subsets will appear like It s important to note that these highlighted points are where the subset locations will be and not part of the speckle pattern in the uploaded image Subset Options These options are the main components of the DIC analysis They dictate how large the subsets should be and the spacing between them The spacing component is purely for reducing computational load There are defaults for both options but it s up to the user to select the most optimal settings The most important option to get correct is the subset radius There is an abundance of literat
40. t is up to the user to select the most optimal radius for their data Sain Orions Im a p p The impoint highlighted in the red box is draggable and updates the plane fit shown on the right side The recommended way to use this analysis is to drag the point to areas of high deformation and view if the curve fitis still reasonable An example of this is shown below Strain Analysis 2 8 367 a Visually it appears the strain 08 radius is too large for this 2 displacement field SS 450 amp 102 20 150 200 359 550 99 a 905 Reducing the strain radius to a E value of 5 appears to give a E much better fit for the plane 5 ong In this example this value is amp 500 used to generate the strain SER field 460 4 99 190 200 210 Lastly the strain radius should be selected with regards to the last current image which is shown first by default as this image will most likely have the highest displacement gradients View Options These dropdown menus allow you to switch from the U displacements to the V displacements and vice versa They also allow you to switch from the Lagrangian to the Eulerian perspective By default both Green Lagrangian and Eulerian Almansi strains are calculated Discontinuous Analysis Just like for DIC there is also an option to utilize subset truncation for the strain calculations This feature prevents subsets from wrapping around a crack tip which can cause distortions n
41. the ROI to exclude the top region Anyway after the seeds have been properly placed and calculated the RG DIC analysis will run until completion The next step in the process is to format the displacements Formatting Displacements 2 7 2 7 Formatting Displacements The displacement formatting begins by going to Analysis gt Format Displacements in the main Ncorr GUI The resulting GUI for formatting the displacements should look like this Units Options These options are used to convert the displacements from pixels to real units You can either input the value directly if you know it or you can click the Get Unit Conversion button in order to load an image with a known dimension Most tests are done with a regular camera on a sample so the easiest way to take advantage of this feature is to after the experiment in complete replace the sample with a ruler so you can measure what the unit conversion is An example of the GUI is shown below For this sample set I m actually not sure what the unit to pixel conversion is so I ve left the units as pixels But just for the sake of an example assume that the undeformed sample is 10 mm wide You can apply this knowledge by loading the reference image through Load Calibration Image and then setting a line across the sample with Set Line Lastly the units mm and the number of units 10 can be set in their appropriate boxes Assuming the sample is 10mm wide this will
42. the spacing norm of difference vector and iteration cutoff can be left to their default values In addition the high strain analysis has been set with the seed propagation and automatic propagation parameters enabled This allows the program to automatically update the reference image as well as to automatically place seeds so the analysis can proceed in an automated fashion until completion If leapfrog is selected then the reference image will update according to whatever step number is provided Lastly if auto propagation is disabled then the user will have to manually place the seeds every time the reference image is updated This can be quite tedious but also ensures the seeds are correct so this option should only be disabled if you want to ensure completely that the seed placements are correct The next crucial step is the seed placements Recall from the general DIC analysis that there are two main considerations for seed placement for the regular DIC analysis First of all they need to be placed on a material point that does not exit the FOV as the sample deforms Next they need to be placed such that the regions are more or less evenly portioned so they can be calculated nicely in parallel For high strain analysis with seed propagation there s another consideration since the reference image is High Strain DIC Analysis 3 1 updated based on the correlation coefficient and number of iterations to convergence of the seed
43. to enable debugging For this example we won t be using multithreading since this making debugging easier Type the following into the Matlab terminal EDU gt gt mex korr alg rgaic cpp standard datatypes ob ncorr datstypes obl ncorr Lib cbi To ensure a debug version was successfully compiled there should be a corresponding pdb file in the directory E ncorr alg seedanalysism ncorr alg rgdicmexw32 pdb ncorr alg rgdicmexw32 Next open the cpp file in Visual Studio and attach the debugger to MATLAB exe File Edi View Dem oos Window Help Dera Windows El Bean P antena ERA a souon som Hates the displacement fields using Toggle mesg New Beanpot 17 Kiew exceptions bac standard datatypes h macore datatypes h a Debugging MEX Files 5 1 Troost pereo ravos savagstone co Rapastnconigane St S560 Adeoe mone BREER ERE SG El shew pcan for all we E shew processi aliens Next set a breakpoint within the IDE and run some analysis in Ncorr in order to invoke a function call to ncorr alg redic In this example we are placing a breakpoint right after the hessian has been calculated as shown below Fe Et View Dog Tools Window Heo MEEN I T EE T Ib M DITE BITE ert la radicc dessin gn Putter tman threadi 32 hessian gn Putter nun thread hessian an buffer nun_thread 33 bessien gm bu
44. ubset spacing parameter Also recommend saving the figure as a tif because MATLAB appears to compress other image formats which may lead to a loss of quality Directly Obtaining and Altering DIC Data 2 10 2 10 Directly Obtaining and Altering DIC Data The DIC data can be accessed directly through handles ncorr For example by typing handles ncorr data dic into the MATLAB terminal you can access the data structure that contains the strain and displacement data as shown below displacewenta 1x11 struct dispinfo 1x1 struct strains 1x11 struct strainingo lxi struct Notice that both dispinfo and straininfo only have one element This is because they contain parameters which are consistent over the entire analysis On the other hand both displacements and strains have eleven elements This is because these fields contain information specific to each current image For the example used in this section we have uploaded eleven current images which correspond to eleven elements seen above The size of the displacement strain plots themselves depend on the image and the subset spacing utilized For the Lagrangian perspective the size of the displacement strain plots will b size img_ref 1 1 subsetspacing end 1 1 subsetspacing end where img ref is the 2D reference image grayscale array and subsetspacing is the subset spacing parameter where a value of 0 results in no reduction For example
45. ultithreading is disabled only one seed can be placed are placed as so p pe After the analysis is complete the displacement formatting does not need any special considerations Just accept the defaults as shown below Discontinuous Displacements DIC Analysis 4 1 After everything is complete the displacement and strain plots should appear as shown below only the V displacement and E strains are shown below since the sample is loaded in the y direction Discontinuous Displacements DIC Analysis 4 1 I ve taken the liberty of also performing the same analysis without subset truncation Comparisons are shown below between the zoomed in V displacement fields top row and E Lagrangian strain fields bottom row near the crack tip which demonstrate the benefits of using subset truncation in mitigating distortions near the cracktip Displacement With Subset truncation Without Subset truncation With Subset truncation Without Subset truncation Debugging MEX Files 5 1 5 1 Debugging MEX Files This section is available for those that would like to debug the actual MEX files called by Ncorr For example if you are interested in examining the hessian matrix during the inverse composition Gauss Newton iterations it would require you to debug the ncorr alg rgdic cpp file In this example the Visual C 2008 IDE is used to debug this file The first step is to recompile the MEX file with the g flag
46. ure available for the selection of the subset size as well as the effects of subset size on DIC Setting DIC Parameters 2 5 analysis but most of the conclusions from these studies are often based on heuristics and empirical observations Overall the main idea is to select the smallest subset possible which does not result in noisy displacement data as larger subsets tend to have a smoothing effect Some iteration may be required to get this option right Iterative Solver Options The iterative solver used in the DIC analysis is the inverse compositional image alignment technique A good paper on this topic is Baker et al and Bing Pan s paper on his adaptation for this technique for DIC The exit criteria for this iterative solver are the norm of the difference vector as well as the number of iterations The default options for the iterative solver are actually pretty strict but they can be relaxed if faster analysis is desired by reducing the iteration number cutoff as well as increasing the norm of the difference vector cutoff Multithreading Options Ncorr has the ability to use multithreading to speed up the computation process The default number of threads is the number of cores specified by the user during installation section 1 although have left the option to alter this number again through this GUI High Strain Analysis In the example used specifically in this section high strain analysis is not required However the high str

Download Pdf Manuals

image

Related Search

Related Contents

Anleitung - Velodyne  Sony DSC-W800/B Instruction Manual  卒業・卒園記念品 1,500円 - 卒園記念品に写真入り時計のオダカ  Cradlepoint COR IBR1100 Series Manual  Philips 14MT2131 CRT Television User Manual  3Com 3C17701 Switch User Manual  ESD 220 - Jungheinrich  SCAN OPTICS - Frank`s Hospital Workshop  Instruments - Analytik Jena AG  

Copyright © All rights reserved.
Failed to retrieve file