Learning MCNP4C and MCNPX

روش تبدیل تصاویر ct scan به فرمت 3D و قابل نمایش در برنامه های Blender یا Meshlab



با سلام

//////////

پیش از شروع : جهت اموزش برنامه های ITK snap  و MeshLab میتوانند به ادرس های زیر در سایت یوتیوب youtube مراجعه نمایند :

ITK snap : https://www.youtube.com/channel/UCmjrCaGMtwwBXppAberTrjg/videos

Meshlab : https://www.youtube.com/user/MrPMeshLabTutorials/videos

\\\\\\\\\\

پیش از شروع مجموعه تصاویر سی تی اسکن خودتونو در یک فولدر قرار داده برنامه MRIconvert اجرا کنید :

برای مشاهده تصویر بزرگتر کلیک کنید


همانگونه که از روی شکل مشخص شده با انتخاب add files میتوانید به پوشه مورد نظر رفته و تمامی تصاویر سی تی را انتخاب کرده و سپس ok را انتخاب نمایید. در قسمت پایین با انتخاب directory میتوانید مسیر فایل تبدیل شده را انتخاب نمائید، توجه کنید که فرمت فایل میبایستی همانند فرمت فایلی که در تصویر بالا انتخاب شده باشد سپس convert all را انتخاب کنید. فایل تبدیل شده بصورت زیر در پوشه ذخیره خواهد شد :

برای مشاهده تصویر بزرگتر کلیک کنید

اکنون میتوانید برنامه ITK Snap را اجرا کنید و از منوی بالا فایل را انتخاب کرده سپس open image را کلیک کنید

برای مشاهده تصویر بزرگتر کلیک کنید


سپس تصویر زیر را مشاهده خواهید کرد

برای مشاهده تصویر بزرگتر کلیک کنید

در ادامه با توجه به شکل ها عمل کنید

برای مشاهده تصویر بزرگتر کلیک کنید

گزینه ها را مطابق با آنچه روی شکل تایین شده انتخاب نمائید

برای مشاهده تصویر بزرگتر کلیک کنید

با انتخاب finish به قسمت بعد کار خواهیم پرداخت

برای مشاهده تصویر بزرگتر کلیک کنید


سپس گزینه snake رو فعال کنید و یک محدوده برای فضای کارتان انتخاب کنید ، این محدوده همان خط چین هایی هستند که اطراف تصویر سی تی در شکل میبینید ضمنا توجه داشه باشید که شما میتوانید با حرکت دادن نشانگر موس و یک ابزار در قسمت سمت راست تصاویر در فضای تصاویر حرکت کنید و تمامی بخش ها را مشاهده کنید حتی با احیا یا دستکاری نوع نمایش بخش هایی را نادیده یا ظاهر کنید

برای مشاهده تصویر بزرگتر کلیک کنید


بعد از اینکه محدوده را تایین کردید گزینه segment 3D را انتخاب کنید 

برای مشاهده تصویر بزرگتر کلیک کنید


سپس به مرحله اول کار وارد میشوید

برای مشاهده تصویر بزرگتر کلیک کنید

در این بخش در چند حالت مختلف نحوه نمایش و توانایی های گزینشی این برنامه را در تصاویر زیر نمایش میدهم البته کاربر برحسب نوع نیازمندی میتواند گزینش مناسبی داشته باشد

برای مشاهده تصویر بزرگتر کلیک کنید


برای مشاهده تصویر بزرگتر کلیک کنید


دوباره برمیگردیم به تصویر اولی که داشتیم در این قسمت میتوانید استانه را تغییر دهید و بخش هایی را که لازم ندارید محو کنید

برای مشاهده تصویر بزرگتر کلیک کنید


اگر توجه کرده باشید قبلا گفتم که میتوانید جای جای تصویر سی تی را با گزینه ای در قسمت سمت راست پنجره مشاهده کنید در تصویر زیر مشخص شده 

برای مشاهده تصویر بزرگتر کلیک کنید

سپس با انتخاب next به مرحله بعدی خواهیم رفت

برای مشاهده تصویر بزرگتر کلیک کنید

در این قسمت شما باید با استفاده از کروسور موس روی بخش هایی که تمایل دارید بصورت سه بعدی تبدیل شوند کلیک کنید و نشانگر را روی هر بخش با استفاده از موس ببرید و سپس add bubble at cursor را انتخاب نمایید توجه داشته باشید که در سه بعد میبایستی این حباب ها را قرار دهید

برای دقت در این امر هم میتوانید شعاع این حباب ها را تغییر دهید

برای مشاهده تصویر  بزرگتر کلیک کنید


اگر حبابی را اشتباه وارد کردید از جدول کنار سمت راست میتوانید ان را گزینش و حذف کنید

برای مشاهده تصویر بزرگتر کلیک کنید


سپس با انتخاب Next به مرحله پایانی وارد میشویم

برای مشاهده تصویر بزرگتر کلیک کنید

در صورتی که تمام بخش های مورد نظر را انتخاب کرده اید میتوانید Finish را انتخاب کنید

در این بخش میتوانید پیش نمایشی 3 بعدی را از این گزینش ها را در پنجره پایین سمت چپ با انتخاب ایکون گزینه play و سپس pause ان و کلیک کردن روی update پایین همان پنجره نمای سه بعدی رو ببینید 

برای مشاهده تصویر بزرگتر کلیک کنید

سپس برای ذخیره فایل طبق شکل زیر عمل کنید

برای مشاهده تصویر بزرگتر کلیک کنید

از منوی بالا segmentation را انتخاب کنید سپس export as surface mesh را گزینش کنید

برای مشاهده تصویر بزرگتر کلیک کنید

سپس Finish را انتخاب نمایید و فایل ذخیره خواهد شد دقت کنید گزینه ها مطابق شکل انتخاب شده باشند

برای مشاهده تصویر بزرگتر کلیک کنید

سپس برنامه MeshLab را اجرا کنید 

برای مشاهده تصویر بزرگتر کلیک کنید


در نهایت تصویر زیر  را خواهیم دید / البته بدلیل اینکه تمام بخش ها را گزینش نکرده بودم تصویر ناقص نشان داده میشود اما اگر بخش خاصی را انتخاب و ان را تماما گزینش کنید ان عضو یا اندام تماما بصورت 3 بعدی ترسیم خواهد شد

برای مشاهده تصویر بزرگتر کلیک کنید

اما این پایان کار نیست شما میتوانید در همین برنامه که پایه و اساس مشبندی دارد ادامه دهید و یا اینکه در محیطی دیگر همانند Belender با این فایل کار کنید

برای مشاهده تصویر بزرگتر کلیک کنید

البته در بلندر امکان تبدیلفایل سه بعدی به voxel وجود دارد منتها در ان بخش باید خروجی را برای کدهایی مثل mcnpx مهیا کرد

برای مشاهده تصویر بزرگتر کلیک کنید


با تشکر از توجه شما

علی اصغر محمدزاده

گروه پژوهشی افق امید نو

چطور فایل های اتوکد را وارد کنیم - how to import cad file in VE

چطور فایل های سه بعدی کد را وارد رابط گرافیکی visual editor کنیم?

how to import 3D cad files in to visual editor

ابتدا طبق شکل در محیط اتوکد (نسخه 2007 این کار رو انجام میده نسخه های بالاتر هم میتوانند) شکل 3 بعدی را که طراحی کرده ایم رو بحالت انتخاب شده در میاوریم

First of all in Autocad - mine is 2007 version - select the object that you drew

سپس در خط فرمان کلمه export را بنویسید یا از منوی file این گزینه را انتخاب کنید

Then in command line type export or you can select it in File menu

سپس کلید Enter را بزنید تا پنجره زیر باز شود

click Enter and follow the picture

در این بخش شما میبایست نام فایل خروجی با فرمت sat را تعیین کنید : مثلا 13

you must set the name of your output file in export operation with sat format then click save

تا اینجا با اتوکد کارمان تمام شده و به محیط visual editor میرویم در این محیط طبق شکل cad import را انتخاب کرده از منو 3D import را انتخاب میکنیم

in Visual editor environment select import cad then chose 3D import 

در پنجره جدید - شکل زیر - مطابق تصویر عمل کنید

continue like what i did in below picture

برای تبدیل فایل کد به کد mcnp باید گزینه convert را انتخاب کنید سپس در پنجره اصلی input را انتخاب کرده و خروجی را مشاهده نمایید

now for converting cad file into mcnp code you must select conver after that select input and see the changes


چطور با Visual Editor کار کنیم - How could we use visual editor

Know we decide to work with visual editor directly

First start with surface card

الان قصد داریم تا مستقیما از visual editor استفاده کنیم برای این مقصود پس از اجرای برنامه از کارت سطح شروع میکنیم

click here for large picture

برای مشاهده تصویر بزرگتر کلیک کنید

همانطور که جزییات در تصویر ذکر شده اند ابتدا شماره سطح را درج میکنیم سپس نوع ان را تایین میکنیم - استوانه یا کره یا صفحه حالا برحسب تعریف در جهات مختلف - بعد اگر سطح مورد نظر یک سطح بازتاب کننده است تیک Reflective را بزنید گزینه های بعدی هم مربوط به توضیحاتی است که برای هر سطر مینویسید یا بطور جداگانه در کارت توضیحات درج میکنید به دو صورت میتوانید این کار را انجام دهید Dollar comment , Comment card

در قسمت unit نوع واحدی را که مد نظر دارید انتخاب کنید

در قسمت surface mode چون داریم تعریف میکنیم - از ابتدا شروع کردیم - توجه کنید که create new تیک خورده باشد

پس از انجام این تغییرات Register را انتخاب کنید

سپس در پنجره ابی این پیام را خواهید دید

according to the picture first we set surface number then it's type here we apply cylindrical surface in y direction with the name of number 1 so we continue with setting reflective or non reflective surface box that we must select it if we had a reflective surface and when we do this in code editor - select input - in main window to view your code - the reflective  surface start with* for ex: *1- at the end to options left that they are allow you to describe your coding style first is $ comment formation and the other is comment card style just apply your descriptions and then select Register then we could see this message in blue box

Also you can use Wizard option that i will describe it later

به تصویر زیر توجه کنید پس از ثبت سطح شماره 1 هنگام ثبت سطح شماره 2 Create like تیک میخوره که البته میتوانستید از اول ان را انتخاب کنید فرقی نمیکنه ولی از این به بعد این گزینه باید فعال باشه به تصویر زیر توجه کنید

این کار را تا ثبت تمامی سطوح ادامه میدهیم

سپس close را انتخاب کرده و از پنل ثبت سطوح خارج میشویم

مرحله بعد ثبت material - تایین مواد - است

we continue this operation to set all the surfaces

after that we set the last surface then click close and start material card

the next level is setting material card

از نوار ابزار نرم افزار Data سپس از پنجره کشویی باز شده material را انتخاب کنید

برای مشاهده تصویر بزرگتر کلیک کنید

view larger picture click

در حالت پیش گزیده Default چون هنوز mode را انتخاب نکردیم بطور پیش فرض مد نوترون انتخاب میشود میتوانید در تصویر بخش ابی رنگ مشاهده کنید

در قسمت isotope description میبایستی تک تک عناصر موجود در متریال را هریک بهمراه فرکشن خودش در این قسمت درج کنید و Add کنید تا در متریال شماره 1 ثبت شود سپس Register را انتخاب کنید تا تغییرات ثبت شود

متریال 2 را هم به همین شکل ثبت میکنیم 

in default mode visual editor apply mode n to your input file you can see that in blue part

at isotope description you must write all the components of material 1 with their fractions set by set in each part for example : 6000           -0.00012 then click Add then 7014           -0.75527 click Add and ... after that click Register to set all of them in to material number 1 you must continue this for another materials with their components

مرحله بعد تایین مد است

next level is Mode specification

در این مرحله در نوار ابزار ابتدا Data سپس mode را انتخاب کنید پنجره زیر باز میشود و شما ترابرد ذرات مورد نظرتان را انتخاب کنید و Register کنید تا ثبت شود سپس close را انتخاب کنید 

follow Data then select mode in main window then bellow picture will be appear that you can select your aimed particle then select Register and then close

مرحله بعد تایین سلول هاست

cell را از پنجره اصلی برنامه انتخاب کنید تصویر زیر

next level is Cell specification

click cell in main window

در cell description بایستی سطوحی که سلول را محیط کرده اند درج شوند مانند شکل و شماره سلول و شماره متریال و چگالی سلول و توضیحات واضح است این روند را تا ثبت اخرین سلول انجام دهید نتیجه کار این چنین خواهد شد

in cell description you must input surfaces that make cells and ... the other parameters are so easy to set then click Register and then close

مرحله بعد تایین اهمیت ترنسپورت ذرات در سلول هاست

next level is cell importance


چگونه چند plot از cross section را در visual editor ترسیم کنیم

با توجه به پست قبلی پیرامون  cross section plotting در ادامه میخواهیم چند پلوت را در یک ترسیم با هم مقایسه کنیم 

ابتدا پنجره cross section plot را باز میکنیم

و اولین پلوت را انجام میدهیم شکل زیر

سپس با انتخاب option و coplot کار را ادامه میدهیم

در این حالت بدون اینکه پنجره بالا را ببندید به پنجره cross section plotting بروید

در قسمت تعیین نوع سطح مقطع طبق شکل تک تک سطح مقطع هایی را که برای مقایسه نیاز دارید انتخاب کنید بصورت اتوماتیک با هر انتخاب این ترسیم ها انجام میشوند (شکل زیر)

میتوانید مقیاس را تغییر دهید و ... تغییرات مد نظر خود را اعمال کنید

برای مثال میخواهیم پراکندگی تامسون (همدوس) را در دو محیط اب m1  و هوای خشک m2 بررسی کنیم پارامتر های تغییر داده شده را در شکل زیر مشاهد کنید

و در نهایت خواهیم داشت (شکل زیر)

چگونه cross section ها را در Visual Editor پلوت کنیم و ...

ابتدا visual editor را اجرا کرده سپس تب cross section plot را کلیک کنید

سپس پنجره زیر باز خواهد شد در این پنجره ابتدا گزینه Read Cross Sections را کلیک کنید

سپس material را میبایستی انتخاب کنید (یا Nuclide) بسته به نظر شما

باید شماره متریال مورد نظر را ذکر کنید مثلا در این مورد بخصوص m2 هوای خشک مد نظر بوده

(در این مثال من با متریال کار کردم و مثالی با nuclide را مورد بررسی قرار نداده ام)

در ادامه میبایست نوع سطح مقطع مورد نظرتان را انتخاب کنید البته پیش از این به متن کد رجوع کرده و mode مساله را مشخص کنید (فوتون؟ الکترون؟ یا نوترون؟) سپس نوع ان را با زدن تیک فعال کنید با توجه به شکل زیر (در این مساله mode p e) مد نظر بوده و از این رو سطح مقطع هایی که بررسی خواهد شد عبارتند از 

سطح مقطع کل

سطح مقطع تامسون (همدوس)

سطح مقطع کامپتون (ناهمدوس)

سطح مقطع تولید زوج

سطح مقطع فتوالکتریک

 با انتخاب plot پنجره زیر را خواهید دید

با انتخاب Title از پنجره cross section plotting پنجره زیر باز میشود

با دو گزینه اول شما میتوانید عنوان سطح مقطع مورد نظر را تغییر دهید (بسته به نظر شما)

نکته : هر بار که متنی را در این بخش نوشتید گزینه update را انتخاب کنید تا تغییرات اعمال شود

این کار را برای تمامی بخش ها انجام دهید

با x axis , ... z axis شما عنوان محور ها را تعیین خواهید کرد

نکته : به صورت پیش فرض ابتدا همه عنوان ها همان گونه که در شکل میبینید گزینش شده اند

با sub شما میتوانید برای منحنی ها توضیح کوتاه ذکر کنید که باید مختصات را در x , y ذکر کنید

 legeng را هم پیشنهاد میکنم تغییر ندهید همان شکل پیش فرض مناسب ترین حالت ممکن است

باز بر میگردیم به پنجره cross section plotting این بار گزینه options را انتخاب کنید

پنجره زیر باز میشود

با تیک زدن coplot و انتخاب update شما میتوانید چند سطح مقطع را در یک خروجی plot کنید 

plot type نوع پلوت را مشخص میکند

axis شما میتوانید مقیاس پلوت را مشخص کنید بترتیب مقیاس محور افقی و مقیاس محور عمودی

linlin افقی خطی عمودی خطی

linlog افقی خطی عمودی لگاریتمی

loglog افقی لگاریتمی عمودی لگاریتمی

loglin افقی لگاریتمی عمودی خطی

گزینه های بعدی را بنا بر احتیاج تغییر دهید

x_Axis : محور افقی را از یک نقطه الف شروع و تا نقطه ب بپایان میرساند به تعداد گام یا step

همین روند را برای محور y طی خواهیم داشت  

اگر جایی از تصویر تغییرات اندکی داشت و قابل مشاهده نبود از factor و constant استفاده کنید

سپس update را انتخاب کنید و تغییرات را اعمال کنید

به مثال زیر دقت کنید

تغییرات به شکل زیر اعمال خواهد شد

 

Mcnp Visual Editor رابط گرافیکی قدرتمند و کارامد بین CAD , MCNP

در این بخش میخواهیم فایل اتوکد را وارد Mcnp visual editor کنیم

دانلود فایل نمونه کد

دانلود فایل تبدیل شده به فرمت .dxf همان فایل بالا



از نمای دیگر شکل زیر 



نکته اینجاست که شما میبایستی تمام کار خود را به فرمت نهایی .sat تبدیل کنید

من دو نمونه از فایل کد سه بعدی را که در تصویر میبینید را برای دانلود گذاشتم تبدیلش کنید به فرمت .sat فقط کافیه تمام حجم هایی را که درست کردین رو یکجا انتخاب کرده سپس از Export استفاده کنید .

در ادامه ... ابتدا Visual Editor را اجرا کنید

سپس گزینه Cad import و بعد 3D import را انتخاب کنید

پنجره زیر ظاهر میشود


حالا طبق شکل import را انتخاب کرده و سپس فایل اتوکد با فرمت .sat را باز میکنیم

شکل زیر



گزینه convert را انتخاب کنید سپس از منوی بالا گزینه input را انتخاب کنید




حالا فایل کد ما تبدیل شد به کد mcnp به این راحتی الان میتونید مقیاس ها رو دست کاری کنید و هزار جور بلا سرش بیارین 

نکته ما در Mcam 4.7 چون نسخه ازمایشی بود نتونستیم هندسه را به زبان کد تبدیل کنیم اما در Visual Editor این کار برای ما مقدور بود و ما انجامش دادیم

Mcnp Visual Editor قسمت اول

روش کار ما اینطور است که : چون با mcnp4c یا mcnpx راحتیم برنامه را در اون پکیج ها مینویسیم و وارسی هندسی را با این پکیج انجام میدهیم اما کار های زیادی را میتونه انجام بده و فوقالاده ست

طبق شکل زیر 

مسیر زیر را دنبال کنید

File ->Open->select your mcnp file

فایل mcnp خودتان را که در نسخه 4c یا x نوشته اید از داخل پوشه های mcnp4c یا mcnpx باز کنید یا open کنید

طبق انچه که در تصویر بالا میبینید میتوانید صفحه مشاهده تان را از yz به xy یا هر نمای دیگری تغییر دهید همچنین توانایی بزرگنمایی و کوچکنمایی را هم دارید 

نکته : اگر فایل را باز کردید و چیزی ندیدید نقاط مشخص شده در تصویر بالا را تغییر دهید چون اگر برنامه خطا یا هشدار داشته باشد در بدو باز شدن پیام دریافت خواهید کرد 





PageRank