Search This Blog

Friday, December 30, 2011

Testing fsolve and anonymous function

တစ်ခါက coefficient တွေ ပြောင်းလဲ နေတဲ့ equation တွေကို ဖြေရှင်းဖို့ လို လာပါတယ်။ ဒါနဲ့ MatLab ဖန်ရှင်တစ်ခု ဖြစ်တဲ့ fsolve ရယ်၊ function handle နဲ့ anonymous function တွေကို သုံးပြီး စမ်းကြည့်ထားတာပါ။
s=[3 7 11];
d=[1 3 5];
%ans= (2,1), (5,2), (8,3)
for i=1:3
x0 = [-5; -5]; % Make a starting guess at the solution
myfun =@(x) [x(1) + x(2) - s(i);
x(1) - x(2) - d(i)];
[x,fval] = fsolve(myfun,x0)  % Call 
end

Friday, December 16, 2011

Hand, Foot and Mouth Disease (HFMD)

အရင် တပါတ် လောက်က သမီးရဲ့ လက် နဲ့ ခြေ မှာ မိတ်လို အဖု နဲ့ အနီပြင် တွေ တွေ့လို့ ဆရာဝန် သွားပြတော့ HFMD ဒါမှမဟုတ် တုပ်ကွေး ကြောင့် ဖြစ်နိုင်တယ်လို့ ပြောပါတယ်။ နောက်တော့ သမီး ဖြစ်တာ တုပ်ကွေးပါ။ HFMD ကိုတော့ မကြားဘူးလို့ KK hospital က လက်ကမ်းစာရွက် မှာ တွေ့တာလေးကို ဖတ် ပြီး ဒီမှာ ပြန်ရေးထားပါတယ်။

မေး။ Hand, Foot and Mouth Diease (HFMD) ဆိုတာ ဘာလဲ?
ဖြေ။ အန်တရိုဗိုင်းရပ်စ် (Enterovirus) လို့ခေါ်တဲ့ ဗိုင်းရပ်စ် ပိုးတွေကြောင့် ဖြစ်တဲ့ ကူးစက်ရောဂါတစ်မျိုးပါ။ အသက် အရွယ် မရွေး ဖြစ်နိုင်ပြီး အထူးသဖြင့် မူကြို အရွယ် ကလေးတွေမှာ ဖြစ်တတ်ပါတယ်။ ဒီ ရောဂါဟာ ရှားပါးတဲ့ ရောဂါ အသစ် မဟုတ် ပါဘူး။ ရှေးကတည်းက ရှိခဲ့ပြီး စင်ကာပူ မှာ တွေ့ရတတ်တဲ့ ရောဂါတစ်မျိုးပါ။

မေး။ HFMD ဖြစ် မဖြစ် ဘယ်လို သိနိုင် မလဲ?
ဖြေ။ HFMD ဖြစ် တဲ့ ကလေးမှာ မိတ်လို၊ အရေကြည်ဖုလို၊ အနီကွက်တွေ လက်၊ခြေ နဲ့ တင်ပါး မှာ ထလာပါမယ်။ ပါးစပ်ထဲမှာ အနာပေါက် မယ်။ ဖျားပါ မယ်။ ဒါ့အပြင် လည်ချောင်းနာတာ၊ နှာရည်ယိုတာ၊ အန်တာ၊ ဝမ်းလျှောတာ နဲ့ မောပန်းတာတွေ လည်း ဖြစ်နိုင်ပါတယ်။ ကလေးကို ဆေးခန်း၊ မိသားစု ဆရာဝန် တို့နဲ့ ပြနိုင်ပါတယ်။ ဆေးရုံ အရေးပေါ် ဌာန ကို သွားဖို့ မလိုအပ်ပါ။

မေး။ ကလေးကို HFMD ဘယ်လို ကူးတာလဲ?
ဖြေ။ နှာရည်၊ တံတွေး၊ ဝမ်း၊ အရည်ကြည်ဖုက အရည် များကို တိုက်ရိုက် ထိခြင်းအား ဖြင့် အလွယ်တကူ ကူးနိုင်ပါတယ်။

မေး။ ဒီရောဂါက ပြင်းထန်လား?
ဖြေ။ ရောဂါဟာ သာမန်အားဖြင့် မပြင်းထန်ပါဘူး။ ကလေး အများစုဟာ တစ်ပါတ် လောက်ကြာရင် သက်သာ သွားပါတယ်။ ရှားရှားပါးပါး မှသာ တွေ့ရခဲတဲ့ ဗိုင်းရပ် ဗီဇကွဲတွေမှာ ပဲ ဦးနှောက် နဲ့ နှလုံး ရောင်တာ အစရှိတဲ့ နောက်ဆက်တွဲ ရောဂါ တွေ ဖြစ်တတ် ပါတယ်။

မေး။ HFMD က ပြုစုကုသ နိုင် ပါသလား?
ဖြေ။ တိကျတဲ့ ပြုစုကုသ မှု သတ်သတ်မှတ်မှတ် မရှိပါဘူး။ ရောဂါ လက္ခဏာ က များသော အားဖြင့် မပြင်းထန်ပဲ ကလေးရဲ့ ကိုယ်ခံအားစနစ်က ဗိုင်းရပ်စ် တွေကို တိုက်ထုတ် တဲ့အခါ များသောအားဖြင့် ပြန်ကောင်း သွားကြပါတယ်။ ဆရာဝန်က အဖျား မကြီးအောင် ဆေး ပေးပါ မယ်။ ကလေးကို တတ်နိုင် သမျှ အရည် များများ တိုက် သင့် ပါတယ်။ အစားအစာ ကို မျိုချရတာ နာကျင် နိုင်တာကြောင့် ကလေးဟာ အစာ စားချင်စိတ် နည်းနေနိုင်ပါတယ်။ ဒါပေမယ့် ရေဓာတ်ခန်းခြောက် ခြင်း မဖြစ်အောင် ကလေးက လုံလောက်တဲ့ အရည် သောက်ဖို့ သေချာအောင် ဂရုစိုက်ပေးပါ။ ကလေးကို သစ်သီးရေ၊ ထမင်းရည်၊ ဘာလီရည် အစရှိတဲ့ အရည်တစ်မျိုးမျိုး ကို နည်းနည်းချင်း (၁၀ ကနေ ၃၀ မီလီလီတာ လောက်) ကို နာရီဝက်ခြား တစ်ခါလောက် တစ်နေ့လုံး တိုက်ကျွေး ပေးပါ။ ဒါက ဗိုင်းရပ်စ် ကြောင့် ဖြစ်ပြီး ဘက်တီးရီးယား ကြောင့် ဖြစ်တာ မဟုတ်တဲ့ အတွက် အန်တီဗိုင်အိုတစ် (Antibiotics) တွေက ထိရောက်ထက်မြက်မှု မရှိပါဘူး။

မေး။ အန်တရိုဗိုင်းရပ်စ် (Enterovirus) တစ်ခါဖြစ်ဘူးရင် ဒီရောဂါကိုပြီးတဲ့ ခံနိုင်ရည်ရှိသွားပြီလား?
ဖြေ။ အဲဒီဖြစ်တဲ့ ဗိုင်းရပ်စ် အတွက်တော့ သီးသန့် ခံနိုင်ရည် ရှိသွားပါတယ်။ ဒါပေမယ့် အဲဒီ အန်တရိုဗိုင်းရပ်စ် (Enterovirus) အုပ်စု ထဲက ပဲ မတူတဲ့ ဗိုင်းရပ် ဗီဇကွဲ တွေကနေ ထပ်ဖြစ်ကောင်း ဖြစ်နိုင် ပါတယ်။

မေး။ ဒီရောဂါ မပြန့် ပွားအောင် ဘာလုပ်လို့ရလဲ?
ဖြေ။ ရောဂါဖြစ်နေတဲ့ ကလေးဟာ မပျောက်မချင်း ကလေးထိန်းကျောင်း၊ ကျောင်း၊ လူထူထပ်တဲ့ နေရာတွေကို မသွား ရပါဘူး။ တကိုယ်ရည် သန့်ရှင်းမှု ကို ဂရုစိုက်သင့်ပါတယ်။ ရောဂါရှိတဲ့ ကလေးကို ထိပြီးတဲ့အခါ၊ ကလေး ခါးတောင်းကျိုက်ကို လဲပေး ပြီးတဲ့အခါ၊ နဲ့ အစားအစာ များကို မကိုင်ခင်မှာ လက်ဆေးပါ။ ရောဂါဖြစ်နေတဲ့ ကလေး ကိုင်ထားတဲ့ ကစား စရာတွေ၊ စာအုပ်တွေ၊ ပန်းကန်ခွက်ယောက်တွေ၊ ပဝါ၊ အဝတ်အစားနဲ့ အခြား အသုံးအဆောင်များကို အခြား ကလေးများ မထိစေရပါဘူး။

မေး။ HFMD ဖြစ်နေတဲ့ ကလေးကို ဘယ်လို အချိန်မျိုးမှာ ဆေးရုံ အရေးပေါ် ဌာန ကို ခေါ်သွားသင့် သလဲ?
ဖြေ။ HFMD ဖြစ် တဲ့ ကလေး အများစု က အဖျားရှိပေမယ့် နေကောင်း တက်ကြွ ကြပါတယ်။ အများစုဟာ ဆေးခန်း၊ မိသားစု ဆရာဝန် တို့နဲ့တင် လုံလောက် အဆင်ပြေပါတယ်။ ဒါပေမယ့် အောက်ပါ ပြဿနာ များ ဖြစ်ပေါ်လာရင်တော့ ဆေးရုံ အရေးပေါ် ဌာန ကို ခေါ်သွားသင့် ပါတယ်။
၁။ ကလေးက အရည် သောက်တာ အရမ်းနည်းနေမယ်၊ မျိုမချ နိုင်ဘူး၊ တောက်လျှောက် အန်နေမယ် ဆိုရင်။
၂။ ကလေးက လျှာက ခြောက်နေမယ်၊ ဆီးသွားတာ နည်းနေတယ် (ရေဓာတ်ခန်းခြောက်ခြင်း) ဆိုရင်။
၃။ ကလေးက နုံးနေမယ်၊ ငိုက်နေမယ်၊ စိတ်တို စိတ်ဆိုးနေမယ်၊ မနားတမ်း ငိုနေမယ်၊ စိတ်ရှုပ်ထွေး စိတ်လွတ် နေမယ် ဆိုရင်။
၄။ တက် မယ်ဆိုရင်။
၅။ အသက်ရှုရ ခက်ခဲနေတယ် ဆိုရင်။
၆။ ကလေးက ဖြူဖပ်ဖြူရော်၊ ဖျော့တော့၊ ပြာနှမ်း လာတယ်ဆိုရင်။
၇။ ကလေးက ခေါင်းကိုက်တာ၊ ခေါင်းမူးတာ၊ အုန်းလွဲတာ တွေ ရှိတယ်ဆိုရင်။

Geometric Template Matching in LabVIEW

NI ရဲ့ IMAQ Vision Concepts Manual ထဲမှာ geometric template matching ကို အောက်ပါ အတိုင်း ဖော်ပြထားပါတယ်။ Geometric matching က ကင်မရာ က ဖမ်းယူ ရရှိတဲ့ ပုံမှာ ကိုယ်ရှာ ဖို့ သတ်မှတ်ထားတဲ့ အရာ ဘယ်နားမှာ ရှိနေလဲ ဆိုတာ ရှာပေး ပေး ပါတယ်။ Geometric matching က ဘယ်လို ပုံသဏ္ဍာန် ဆိုတာ သတ်မှတ်ထားတဲ့ အချက်အလက် ပေါ် မူတည်ပြီး ပုံစံပြား ကို ရှာပါတယ်။ Geometric matching ကို သုံးဖို့ အတွက် ရှာလိုတဲ့ ပစ္စည်း ကို ကိုယ်စား ပြုတဲ့ ပုံစံပြား တစ်ခုကို ဖန်တီးရ ပါတယ်။ စက်ရဲ့ အမြင်အနေနဲ့ အသုံးချ တဲ့ အခါ ပုံရိပ် တစ်ခု ချင်းစီမှာ ပုံစံပြား နဲ့ ကိုက်ညီမှု ရှိ တဲ့ နေရာတွေမှာ ဘယ်လောက်ထိ ကိုက်ညီမှု ရှိလဲ ဆိုတာ အမှတ်တွေ ပေးပါတယ်။ Geometric matching က အလင်းအမှောင် ပြောင်းလဲခြင်း၊ ပုံဝါးနေခြင်း၊ ပုံရိပ် မကြည်လင်ခြင်း၊ တဝက်တပြက် ဖုံးကွယ်နေခြင်း၊ အနေအထား နဲ့ အရွယ်အစား မတူခြင်း တွေ ရှိနေရင် တောင် ရှာ လိုတဲ့ ပုံစံပြား ရှိတဲ့ နေရာတွေ ကို ရှာပေးနိုင်ပါတယ်။ LabVIEW ထဲက IMAQ Find CoordSys (Pattern) 2 အစရှိတဲ့ VI တွေက ပုံစံပြား ကို ရှာဖို့ သုံးနိုင်ပါတယ်။ ပုံစံပြား ကို အောက်မှာ ဖော်ပြထားတဲ့ အဆင့်တွေ အတိုင်း ဖန်တီး နိုင်ပါတယ်။
Template Editor ကို Start -> All Programs -> National Instruments -> Vision -> Template Editor မှာဖွင့်ပါ။ File menu->New Template... ကိုနှိပ်ပါ။ Geometric Matching Template (Edge Based) ကိုရွေးပြီး ဖန်တီးမယ့် ပုံစံပြား ပါတဲ့ ပုံရိပ် ကို သတ်မှတ်ပေးပါ။ Select Template Region ဆိုတဲ့ tab မှာ ပုံစံပြား ဖန်တီးမယ့် နေရာကို သတ်မှတ်ပါ။ ဥပမာ အားဖြင့် (200,300) ကနေ (232,332) ထိ mouse ကို ဖိဆွဲ ပြီး သတ်မှတ်နိုင်ပါတယ်။ ပြီးနောက် မှတ်ထားတဲ့ နေရာကို ကိုယ်လိုချင်တဲ့ နေရာ ရောက်အောင် ပြန်ရွေ့နိုင်ပါတယ်။ Define curves ဆိုတဲ့ tab မှာ ပုံစံပြား ရဲ့ အနားသတ် ပုံစံနဲ့ ပတ်သက် တဲ့ အချက်တွေ ကို သတ်မှတ်ပါ။ ဥပမာ အားဖြင့် Extraction mode ကို normal၊ Edge Threshold ကို 32၊ Edge Filter size ကို Fine၊ Minimum Length ကို 5၊ Row Search Step Size ကို 1 နဲ့ Column Search Step size ကို 1 အစရှိသဖြင့် သတ်မှတ် နိုင်ပါတယ်။ Customize Scoring နဲ့ Specify Match Options tab တွေကိုတော့ နဂို အတိုင်း ထားနိုင်ပါတယ်။ File -> Save Template... ကိုနှိပ်ပြီး ပုံစံပြား ကို သိမ်းပါ။
နမူနာ အနေနဲ့ ဖန်တီးထားတဲ့ VI တွေကို

Geometric Template Matching on GitHub

မှာ ကြည့်နိုင်ပါတယ်။ VI အဝင် တွေ အတွက် သတ်မှတ်ခြင်း တွေကို အောက်မှာ ပြထားပါတယ်။