شبیه سازی اسپین اکو در MRI
در اینجا شبیه سازی اسپین اکو که یکی از پرکاربردترین متدهای تصویرگری در MRI است رو قرار می دم. بدین صورت که ابتدا یک پالس ۹۰ درجه در راستای محور x وارد می کنیم. ۲۵ میلی ثانیه صبر می کنیم و سپس پالس ۱۸۰ درجه رو در راستای محور y وارد کرده و بعد از ۲۵ میلی ثانیه پالس اکو رو دریافت می کنیم. در این شبیه سازی از فانکشن های مربوط به شبیه سازی معادله بلاخ و زمان آسایش اسپین ها که قبل تر در اینجا قرار گرفت استفاده شده است.
ابتدا یک تک اسپین رو مورد مطالعه قرار می دیم که نتیجه زیر برای مغناطیس شدگی Mx و My و Mz بدست آورده می شه. مقادیر T1 و T2 به ترتیب ۶۰۰ و ۱۰۰ میلی ثانیه و مقدار off-resonance رو ۱۰ هرتز در نظر گرفته شده.
سپس همین شبیه سازی رو برای ۱۰ تا اسپین باoff-resonance های تصادفی بین -۵۰ تا ۵۰ هرتز اجرا شد. مقادیر T1 و T2 مثل قبل ۶۰۰ و ۱۰۰ میلی ثانیه در نظر گرفته شدن. فاز این ده اسپین رو در طول تمام زمان شبیه سازی می شه در شکل زیر دید.
اما اگر برآیند سیگنال دامنه رو برای این ۱۰ اسپین ترسیم کنیم سیگنال FID مورد نظرمون رو خواهیم داشت. همانطور که در شکل زیر می بینید در ۵۰ ثانیه یک اکو رخ داده.
کد برنامه:
M = [];
for i=1:10
off = 100*(rand() – 0.5);
[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
در همین رابطه بخوانید:


