1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

شبیه سازی آسایش اسپین ها،معادله بلاخ و اسپین اکو در ام ار ای

شروع موضوع توسط Mr Perfect ‏30/6/15 در انجمن مهندسی پزشکی

  1. کاربر فوق حرفه ای

    تاریخ عضویت:
    ‏23/6/15
    ارسال ها:
    4,491
    تشکر شده:
    6,079
    امتیاز دستاورد:
    113
    جنسیت:
    مرد
    حرفه:
    Engineering Management
    شبیه سازی آسایش اسپین ها
    آسایش اسپین ها یا relaxation اسپین ها بدین صورت است که معادله بلاخ را برای حالت آسایش اسپین ها حل می کنیم. کد این برنامه ۵ ورودی میگیرد. اولین پارامتر مبین وضعیت فعلی بردار مغناطیس شدگی و دومین پارامتر مبین مقدار off-resonance بر حسب هرتز است. سومین و چهارمین پارامتر به ترتیب T1 و T2 هستند و نهایتا پارامتر آخر هم مدت زمان لازم است تا شبیه سازی صورت بگیرد.در تصویر یک نمومه شبیه سازی هم در ادامه همراه با کد متلب آورده شده است.

    [​IMG]



    برای دریافت برنامه کلیک کنید



    در ادامه ی شبیه سازی ها معادله ی معروف و اساسی بلاخ یا Bloch را در متلب پیاده خواهیم کرد که چیزی جز حل یه معادله دیفرانسیل نیست. تابع مورد نظر به صورت زیر نوشته میشود:

    [t, M] = bloch_sim(M0, dW, B, Alpha)

    در این تابع M0 مقدار اولیه مغناطیس شدگی، dw مقدار off-resonance و B هم به صورت یک بردادر ۳*۱ وارد میشود که اندازه ی پالس RF را در دو جهت x و y و همچنین مقدار B0 در جهت z را دریافت می کند. مقدار Alpha هم زاویه چرخش یا همان flip -angle است. چیزی هم که توسط تابع برگشت داده میشود مسیر حرکت اسپین تا رسیدن به مقدار زاویه ی تحریک است.

    [​IMG]



    برای دریافت برنامه کلیک کنید

    شبیه سازی اسپین اکو
    در مطلب شبیه سازی اسپین اکو که یکی از پرکاربردترین متدهای تصویرگری در MRI است رو قرار می دهیم. بدین صورت که ابتدا یک پالس ۹۰ درجه در راستای محور x وارد می کنیم. ۲۵ میلی ثانیه صبر می کنیم و سپس پالس ۱۸۰ درجه رو در راستای محور y وارد کرده و بعد از ۲۵ میلی ثانیه پالس اکو رو دریافت می کنیم. در این شبیه سازی از فانکشن های مربوط به شبیه سازی معادله بلاخ و زمان آسایش اسپین ها که قبل تر قرار گرفت استفاده شده است.

    ابتدا یک تک اسپین رو مورد مطالعه قرار می دیم که نتیجه زیر برای مغناطیس شدگی Mx و My و Mz بدست آورده می شه. مقادیر T1 و T2 به ترتیب ۶۰۰ و ۱۰۰ میلی ثانیه و مقدار off-resonance رو ۱۰ هرتز در نظر گرفته شده است.

    [​IMG]

    سپس همین شبیه سازی برای ۱۰ اسپین باoff-resonance های تصادفی بین -۵۰ تا ۵۰ هرتز اجرا شد. مقادیر T1 و T2 مثل قبل ۶۰۰ و ۱۰۰ میلی ثانیه در نظر گرفته شدند. فاز این ده اسپین را در طول تمام زمان شبیه سازی می شود را می توان در شکل زیر دید.

    [​IMG]

    اما اگر برآیند سیگنال دامنه را برای این ۱۰ اسپین ترسیم کنیم سیگنال FID مورد نظر را خواهیم داشت. همانطور که در شکل زیر می بینید در ۵۰ ثانیه یک اکو رخ داده است.

    [​IMG]

    کد برنامه:

    M = [];
    for i=1:10
    off = 100*(rand() – ۰٫۵);
    [t1, M1] = bloch_sim([0 0 1], 0, [1e-5 0 3], 90);
    [t2, M2] = relaxation(M1(end,:), off, 600e-3, 100e-3, 25e-3);
    [t3, M3] = bloch_sim(M2(end,:), 0, [0 1e-5 3], 180);
    [t4, M4] = relaxation(M3(end,:), off, 600e-3, 100e-3, 500e-3);
    M = [M, [M2; M4]];
    end
    t= (0:numel(t2)+numel(t4)-1);
    for k=0:9
    plot(t, abs(complex(M(:,3*k+1),M(:,3*k+2))))
    hold on
    end
    axis([min(t) max(t) -1 1]);

    figure(2);
    for k=0:9
    plot(t, angle(complex(M(:,3*k+1),M(:,3*k+2))))
    hold on
    end
    axis([min(t) max(t) -1 1]);

    figure(3);
    plot(t, abs(complex(M(:,1)+M(:,4)+M(:,7)+M(:,10)+M(:,13)+M(:,16)+M(:,19)+M(:,22)+M(:,25)+M(:,28)…
    ,M(:,2)+M(:,5)+M(:,8)+M(:,11)+M(:,14)+M(:,17)+M(:,20)+M(:,23)+M(:,26)+M(:,29))/10))
    axis([min(t) max(t) -1 1]);
    grid on





    منبع:انجمن مهندسی پزشکی