저는 90 도가 아닌 특정 양만큼 회전하고 싶은 DigitalMicrograph 이미지를 가지고 있습니다. 이 작업은 "Process ... \ Rotate"메뉴 항목에서 수행 할 수 있지만 스크립트로 수행하려고합니다. 이미지에있는 선 ROI에 따라 각도를 계산하는 스크립트가 있습니다. (아래 참조). 그러나 어떻게 이미지를 회전시킬 수 있는지 알지 못합니다.이미지를 임의의 양만큼 어떻게 회전합니까?
Number kPi = 3.14159265359
Image front := GetFrontImage()
ImageDisplay fDisp = front.ImageGetImageDisplay(0)
ROI line = fDisp.ImageDisplayGetRoi(0)
if (line.RoiIsValid())
{
if (line.RoiIsLine())
{
number sx,sy,ex,ey
line.RoiGetLine(sx,sy,ex,ey)
number dy = ey - sy
number dx = ex - sx
number angle = atan(dy/dx) * 180/kPi
if (dx < 0)
angle = angle + 180
Result("\n Rotate image by " + angle + " degree.")
}
}
감사합니다. 매우 빠른 답변입니다. 하위 질문 : 3D 이미지와 비슷한 명령이 있습니까? –
예, 아니오. Rotate() 명령은 3D 스택에서도 작동합니다. (XY 평면에서 전체 스택 회전), 일반적인 3D 회전 명령이 없습니다. (XZ 또는 YZ로 회전 시키려면 먼저 전체 스택을 뒤집은 다음 Rotate()를 적용하십시오.) – BmyGuest
감사합니다. xy 회전은 내가 지금 찾고 있었던 전부였다. 그러나 호기심에서 벗어나 : 전체 스택을 90도 정도 '뒤집어서'f.e. XY 평면이 가시적 인 화면 평행 평면이됩니까? –