Matrox Imaging Library(MIL) – 시스템구조

 

2. MIL 소프트웨어 시스템 구조


 


2.1 MIL/MIL-Lite Modules


– Application , System , Buffer, Display, Digitizer, Graphics context, Threading으로 구성되어 있습니다. MFC에서 new delete가 존재하듯이 각각의 모듈들은 생성 및 소멸 되어야 합니다.


 


각 모듈에 대해서 간단하게 알아봅시다. ^^


 


2.1.1 Application 모듈.


– Mapp() 함수들은 Application환경을 제어합니다.


-> 리소스(Resources) 초기화, 에러 메시지 및 사용자 정의 함수들을 제어할 수 있다.


)  MappAlloc()


 


2.1.2 System 모듈


시스템 모듈의 모든 함수는 Msys()로 시작합니다.(MsysAlloc, MsysControl, MsysFree, MsysGetHookInfo, MsysHookFunction, MsysInquire).


예를들어, MsysAlloc() 함수들은 통신채널과 하드웨어 리소스들을 개방하며, 데이터전송 수행, 시리얼 인터페이스(UARTs)를 제어합니다.


 


2.1.3 Buffer 모듈


– Mbuf()는 버퍼를 설정하기 위한 함수입니다.


예를들어 흑백 및 컬러데이터를 저장하기 위해서는 용도에 맞는 버퍼를 할당 해야 한다.


) 흑백: MbufAlloc2d() , 컬러: MbufAllocColor()


 


2.1.4 Display 모듈


– Mdisp() 함수는 버퍼안에 있는 데이터를 어떤 Display에 보여줄 것인지를 정의 할수있습니다.


버퍼를 선택할 수 있도록 하는 함수는 MdispSelect() 등이 있다.


 


2.1.5 Digitizer 모듈


– Mdig() 함수는 Image Video를 제어합니다. 이 함수는 DCF(Digitizer Configuration Format)이 필요합니다.


설정후에는 MdigGrab()함수를 이용해 Grab Image 버퍼에 저장할 수 있습니다.


 


 


2.1.6 MIL Graphic Context


– Mgra() 함수는 MFC에서 DC와 비슷하다고 생각하시면 됩니다. ^^


) MgraRect(), MgraArc(), MgraRectFill(), MgraText(), MgraArcFill(), MgraLines(), MgraLine(), MgraDot(), MgraDots(), MgraFill(), MgraClear().


 


2.1.7 MIL Architecture hierarchy


– Alloc() Free()는 순서대로 하시면 됩니다.


Alloc Application-> System-> Digitizer->Buffer->Display


Free Alloc과는 반대로 진행하시면 됩니다. ^^


 


(최소한, Application, System, Buffer는 할당을 해주셔야 한다는 점은 유의하셔야 합니다.)


 


모든 모듈에는 M_ 으로 시작합니다. MIL에서 사용하는 변수는 MIL_ID 형식으로 사용할 수있습니다.(MIL_ID == long)


 


2.1.8 MIL 에서 Default 사용법


 


MappAllocDefault() 함수는 MilConfig에 설정되어있는, System, Display, Digitizer, Buffer를 이용하여 구성합니다. (변경을 위해서는 MilConfig툴에서 변경하셔야합니다.)


 


) MappAllocDefault(ApplicationID, SystemID, DisplayID, DigId, ImageBufId)

Dr.kchris

Hello, I'm Dr.kchris, a neuroscience researcher. I love studying and trying new things and also love challenging myself. Have a great day! :)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.