Import MRI, CT and microCT data

Thread index  |  Previous thread  |  Next thread  |  Start a new discussion

RSS FeedRSS feed   |   Email notificationsTurn on email notifications   |   7 Replies   Last post: October 24, 2013 2:43pm UTC
Maral Hassani

Maral Hassani

June 18, 2010 6:45am UTC

Import MRI, CT and microCT data

hello,

I want to simulate 3D blood flow in the carotid artery.I made the geometry that I got from the CT angiography by using CATIA,but it can not be made precisely.I read in the "cad import and features" pdf that we can Import MRI, CT and microCT data via Mimics to Comsol.but I dont know how...
whould you please help me..

Thanks,Maral

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Ben Danziger

Ben Danziger

November 8, 2010 10:39pm UTC in response to Maral Hassani

Re: Import MRI, CT and microCT data

Hi Maral,

I don't know if you're still working on this project, but if you are and haven't made progress here, then maybe this information will help.

What you want to do is to use the loft command, but it's not simple or easy. Refer to the 3.5a Matlab Interface document and go to page102 for the "Images, Interpolation, and MRI Data"

On page 105, COMSOL gives an example using the built in MRI data that comes with MATLAB. If you try this, I recommend in step 5 (page 106), that you show your value of k, so you know which kf value needs to be changed. Note, this is indicated by giving you a warning, but the code will continue to run.

And I wish I could give you some advice on steps 7-9, setting up the appropriate el values with the right matrix sizes that are created by the repmat commands... well, that's how I stumbled onto your question. Let me know if this is old news to you and you've already done this and you could provide some hints!

Note, as of right now, COMSOL 4.0 and 4.0a do not support the loft commands, so this needs to be done in COMSOL 3.5a. Luckily, a document COMSOL posted months ago, said they plan on supporting the loft command when 4.1 comes out... which should be any day now.

PS, I ran this example on a server license of MATLAB (there was only 1 license). I couldn't get it to work without erroring out at the same line in the example every single time - the error was that there was only one license and it was in use. That required me going to COMSOL's support team.

Anyway, I hope some of this can help you.

Thanks,
Ben

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Shivangi Kelkar

Shivangi Kelkar

December 10, 2010 8:53pm UTC in response to Ben Danziger

Re: Import MRI, CT and microCT data

Hi Ben
I am trying to reconstruct a 3D model from 2D MRI slices. I need to import the the 3D model to comsol and I am having trouble with the loft command too. I get the following error 'Lofting between objects with different number of edges not supported'. Let me know if you were successful in using that function!

Thanks,
Shivangi

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Ben Danziger

Ben Danziger

December 13, 2010 3:25pm UTC in response to Shivangi Kelkar

Re: Import MRI, CT and microCT data

Hi Shivangi,

I think I can help (maybe). It sounds like you need to tune your keepfrac values (this is the kf matrix).

First, If you open the COMSOL 3.5a Reference Guide and go to the pdf page 295 (listed as page 281 in the manual), you'll see the explanation of the LOFT command. On the third page of instructions for the loft command, there are several short examples which try to address how to loft between edges.

However, I didn't feel that I had a clear understanding when I received the same error you did. So I contacted COMSOL tech support and this is their response:

---------------------------------------------------------------------------------------------------------
A crucial part of the MRI import is to tune the value of keepfrac (kf) so that every created curve object consists of the same number of segments. After running flim2curve, simply type

c{:}

to view the number of boundary segments that each curve consists of. If there are curves with different number of segments, change the kf vector until all curves consist of the name number of segments (increase keepfrac
to to increase the number of segments and vice versa). It should be possible to make a while loop that varies kf for each segment until the desired number of segments is produced.


It may not be necessary to provide an 'el' struct, this is only necessary if you like to "rotate" during a loft from one section to another. To view the actual numbering of edges, use the command

geomplot(c{i},'edgelabels','on')


For a simple case, the dvr cell array can be constructed as follows:

dz = 10; % Distance for each loft
n_image = 25; % Number of slices
dvr = {repmat(dz,1,n_image-1),repmat(0,2,n_image),repmat(0,1,n_image)};

This command uses "no tilt" and "no rotation" (V and R matrices, respectively).
---------------------------------------------------------------------------------------------------------

(This information is from Anders Ekerot)



I hope this helps! I hope COMSOL also sees the thread and add more to the LOFT explanation or process for future version of COMSOL and their documentation. And if the folks at COMSOL already have, thank you! Please direct us to the new documentation!


Also, there's a company called Materialize which has a software called MIMICS which will upload MRI/CT images (and many other types too) and will very quickly generate a model of interest. Then in the Materialize software, there's 3-matics, which will produce a smoothed/reduced surface/volume mesh and export the resulting geometry/mesh for COMSOL.


Thanks,
Ben

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Ariono Verdianto

Ariono Verdianto

October 8, 2012 7:06am UTC in response to Ben Danziger

Re: Import MRI, CT and microCT data

HI ben

that very interesting, could you tell about the sextion el, what the exact values must add to this section, and also
lofting section, could you give briefly explanation on it?

thanks

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Alexander Warning

Alexander Warning

October 8, 2012 11:04am UTC in response to Maral Hassani

Re: Import MRI, CT and microCT data

Here is one solution, compile your images in 3D doctor, produce a .stl file, and just import. this works great for me and 3D doctor is not that expensive. I can provide a few more details if anyone has questions

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Ariono Verdianto

Ariono Verdianto

October 9, 2012 9:25am UTC in response to Alexander Warning

Re: Import MRI, CT and microCT data

HI Mr Alexander Warning,

thank you for your response, I have spent much money to buy some softwares, I just to find it solution without spend it again. could you help me?and also I have try a trial version 3D doctor, but it doesn't make a sense.

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse

Richard Hart

Richard Hart

October 24, 2013 2:43pm UTC in response to Ariono Verdianto

Re: Import MRI, CT and microCT data

Hi:

I've posted, in the Model Exchange, a method and example of using MATLAB and some free MATLAB libraries to take points on serial sections, loft into NURBS, and then import them into COMSOL. This process may be useful for your situation.

--Rich

Reply  |  Reply with Quote  |  Send private message  |  Report Abuse


Rules and guidelines