기본 콘텐츠로 건너뛰기

Documentation for Matlab-based DIC code


mathwork 올라온 Digital Image Correlation코드에 관한 문서 정리
Code Structure Step 간단한 설명
Main GUIs 
1. image_setup_GUI   
 - 이미지 준비단계로 폴더 내의 모든 이미지 파일에 대한 정보를 가져온다.(이미지 확장자, 개수 )
 2. correlate_images_GUI    
- 이미지 간의 correleation 수행하고 변위 값을 출력 
3. compute_data_GUI    
- 정밀한 변위값을 구하기 위해 보간하고 유한요소법 함수를 이용하여 변형률을 계산 
4. visualize_data_GUI    
- 변위와 변형률을 다양한 형태로 보여줌

추가적으로 
1. delete_data_GUI    
- correlate 수행하지 않는 부분은 지워줌 
2.movie_GUI   
- 모든 이미지에 대해서 correlate 과정을 time lapsed 형태로 보여줌

Steps of a Typical Correlation
Step1. Set up the images to be correlated. 
a) 모든 이미지를 하나의 폴더에 준비 
b) image_setup_GUI 실행

Step2. Determine if displacements are large enough to require an initial guess. 
a) correlate_images_GUI 실행, spare grid 이용하여 이미지의 전체에 대해서 수행(이미지 사이즈가 1000 by 1000 , step size 50-75 픽셀로 수행 ). spare grid 계산시간을 줄여준다
b) visualize_data_GUI  수행고 변위에 대한 contour plot 확인.  
c) 모든 영역에서 correlate 잘되었다면(찾을 없는 데이터가 포함된 영역이 없어야 한다), 새로운 initial guess 찾을 필요가 없고, reduced-size image 대해서 correlate 수행할 필요가 없다이때는 step4 
d) 만약 correlate 잘안되었다면, initial guesses 새로 생성할 필요가 있다. 이때는 step3으로.

Step3. If necessary, generate initial guesses for displacements by correlating reduced-size images. 
a) correlate_images_GUI 실행, reduced-size 이미지들의 correlation 결과를 필수적인 initial guesses로서 이용하고, sparse grid 이용하여 reduced-size 대해서만 correlate 수행.  
b) visualize_data_GUI 통해 결과를 평가 
c) 만약 reduced 이미지의 correlation 변위를 잡아내지 못한다면 하나 또는 세개 이상의 파라미터를 바꿔봐야 한다.      
- subset size, image reduction factor 값을 바꾼다.       
- 현재 reduced 이미지의 correlation 대한 initial guesses로서의 이전의 reduced 이미지의 correlation 의 결과를 이용하여 reduced images correlation을 반복

Step4. Determine the optimal subset size for the correlation of the full-sized images. 
a) correlate_images_GUI 실행, spare grid 이용하여 이미지의 전체에 대해서 수행(이미지 사이즈가 1000 by 1000 , step size 50-75 픽셀로 수행
b) visualize_data_GUI 수행하여 결과를 평가 
c) 만약 몇개의 점이 correlate 되지 않는다면, 작은 subset size 이용하여correlate_images_GUI 다시 실행한다.

Step5. Run final correlation 
a) correlate_images_GUI 실행 
b) full-size 이미지에 대해서 correlate 수행 
c) 필요하다면 reduced-size 이미지에서의 correlation으로 부터 얻은 결과를 사용 
d) 이전 스텝에서 찾은 subset size 최적으로 사용 
e) 밀도있는 grid 새로 생성한다.(이미지 1000 by 1000 pixel 5-10 pixel step size)



참조)
1. In Situ Measurements of Strains in Composite Battery Electrodes during Electrochemical Cycling, E.M.C. Jones · M.N. Silberstein · S.R. White · N.R. Sottos
2. Matlab based DIC code documentation - version 4 - 15422 EJ


댓글

이 블로그의 인기 게시물

데이터 열로 추가하여 쌓기

import numpy as np x = [] a = np.array([1,2,3]) Out[5]: array([1, 2, 3]) a.shape Out[6]: (3,) np.concatenate((x,a)) Out[7]: array([ 1.,  2.,  3.]) x = np.concatenate((x,a)) x = np.concatenate((x,a)) Out[10]: array([ 1.,  2.,  3.,  1.,  2.,  3.]) x = [] x = np.concatenate((x,a), axis=1) => 오류발생  -. x가 차원이 안맞아서 안됨.  np.expand_dims(a,axis=1) Out[14]:  array([[1],        [2],        [3]]) b = np.expand_dims(a,axis=1) b.shape Out[16]: (3, 1) => (3,1)짜리 차원으로 확장한 후 열 방향으로 쌓을 수 있다. => 아래는 empty함수나 zeros를 사용하여 공간을 만드는 작업 x = [] x = np.empty((3,0)) x Out[19]: array([], shape=(3, 0), dtype=float64) x = np.zeros((3,0)) x Out[21]: array([], shape=(3, 0), dtype=float64) x = np.zeros((3,0)) a Out[23]: array([1, 2, 3]) b Out[24]: array([[1],        [2],        [3]]) np.concatenate((x,b), axis=1) Out[26]: array([[ 1.], ...

HTML 테스트

Lab 시리즈 화장품 구매(파란색, 가장크게) <span style="color: blue; font-size: x-large;">Lab 시리즈 화장품 구매(파란색, 가장크게)</span><br /> Lab 시리즈 화장품 구매(검은색, 보통) <span style="color: blue; font-size: x-large;"><br /></span> Lab 시리즈 화장품 구매(검은색, 보통)<br /> Lab 시리즈 화장품 구매(검은색, 보통, Airal) <span style="font-family: Arial, Helvetica, sans-serif;">Lab 시리즈 화장품 구매(검은색, 보통, Airal)</span><br /> Lab 시리즈 화장품 구매(검은색, 보통, Airal, Bold) <span style="font-family: Arial, Helvetica, sans-serif;"><b>Lab 시리즈 화장품 구매(검은색, 보통, Airal, Bold)</b></span> 하나의 문단을 의미하는 <p>태그 문장의 일부를 의미하는 <span>태그 강제줄바꿈을 의미하는 <br>태그 비교적 넓은 지역을 묶어 지정 </div>

Tensorflow를 backend로 사용하는 Keras 설치하기 (윈도우)

참조 : https://tensorflow.blog/ - 윈도우즈에 아나콘다, 텐서플로우 설치하기 Anaconda 파이썬 패키지가 설치된 배포판 중에 하나이다. anaconda로 가상환경을 만들 수 있다. 일반적으로 python 을 다운 받아서 설치하면, 환경변수에 실행파일이 자동으로 추가되어 시스템 내에서 접근이 가능하다. 하지만, python을 사용할때 2.7이나 3.6을 동시에 사용할 때 패키지를 설치할때 겹치거나 우선순위가 2.7로 되어있어 3.6을 사용하기 어려울 수 있다. 이러한 문제를 해결하기 위해 anaconda 내에서 가상환경을 만든다. anaconda를 설치하면 anaconda폴더가 생기고, 폴더 내에 envs 폴더가 생긴다. 만약 내가 "abc"라는 가상환경을 만들고, 그 가상환경에는 tensorflow를 backend로 사용하는 keras를 설치하면, 그 가상환경에서만 keras를 사용할 수 있는 것이다. 시스템에 설치했던 python에서는 import keras를 실행하면 없는 모듈이라고 나오게된다. 이렇듯 필요할 때마다 가상환경을 만들어서 사용할 수 있다. "a" 가상환경에는 python 2.7에 opencv 2.x 버젼을 설치하고, "b" 가상환경에는 python 2.7에 opencv 3.x 버젼을 설치할 수 있게 된다. 그러면 pycharm을 실행해서 처음에 프로젝트를 만들때 interpreter로 내가 생성한 가상환경을 선택하면 되는 것이다. 가상환경을 만드는 방법들은 여러가지이다. mac에서 tensorflow설치하려고했을때는 virtualenv를 설치하라고 추천되어있었다. 하지만, 윈도우 환경에서 지금까지 anaconda를 사용하고 있었고 많은 사람들이 anaconda를 사용하는 걸로 알고 있다. Tensorflow를 backend로 사용하는 Keras 설치하기 (윈도우) 시작. anaconda 다운로드 ...