본문 바로가기

Gate

Gate 구동시 파라미터 설정

반응형

Gate 시뮬레이션 툴은 병렬처리가 되지 않습니다. (2020년 기준)

그로 인해 쉘 스크립트를 이용해서  강제로 병렬처리를 해야 할 수도 있고 ( 이건 향후 포스팅 예정) 설정을 약간씩만 바꾸어서 같은 매크로 파일을 구동시켜야 할때도 있습니다. 그런 경우를 대비해 Gate 그룹에서는 매크로 상 변수를 지정하는 방법을 만들어 두었습니다.

그런데 의외로 많은 사람들이 쓰지 않더군요. 그래서 요렇게 포스팅 합니다. 사실 상기 링크에서 설명이 잘 되어 있으니 해당 링크를 보시는 것을 추천하지만 그래도 제가 예전에 정리해둔 내용을 포스팅 하겠습니다.

매크로 구동시 파라미터를 지정하고 싶을때는 매크로 파일 안에서 파라미터명을 "{"와 "}" 안에 넣어 주시면 됩니다. 첨부한 스냅샷은 특이한 SPECT를 구동 시키기 위해 만든 매크로 입니다. "detectorFileName"과 "phantomFileName" 으로 만든 파라미터는 해당 부분에 필요한 내용의 다른 매크로 파일 경로를 입력하게 되고, "outputFileName"에는 저장하고자 하는 Root파일의 파일명을 지정하게 됩니다. 

이렇게 지정된 파라미터명은 매크로 구동시 지정하게 되어 있으며 그 방법은 Gate -a 이후에 "["와 "]" 사이에 변수명과 변수를 ','로 구분하여 지정해 주시고, 다수의 파라미터 이용시 ']'와 '[' 사이에는 공백을 넣지 않으셔야 합니다. 파라미터를 모두 지정하셨다면 구동할 매크로를 지정해 주시면 됩니다. 아래 예제에서는 각 파라미터에 해당하는 파일이 "/home/sbin550" 및에 있다는 전제하에 지정 하였습니다.

Gate -a [detectorFileName,/home/sbin550/detectorFile.mac][phantomFileName,/home/sbin550/phantomFileName][outputFileName,/home/sbin550/SPECT_result] /home/sbin550/S_SPECT.mac

이와 같은 파라미터를 이용한 매크로 파일은 코드의 재활용성을 향상 시키고, 에러를 최소화 해서 좋습니다.

그럼 이만 끝내겠습니다. 감사합니다.

반응형