Import MRI, CT and microCT data?


2 Answers

Big Brat Profile
Big Brat answered

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.

thanked the writer.
Jack  Simpson
Jack Simpson commented
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!
Big Brat
Big Brat commented
I think I can help (maybe). It sounds like you need to tune your keepfrac values (this is the kf matrix).

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


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. suggested options are fill plate clever road house hope it will help

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

Jack  Simpson
Jack Simpson commented
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?
Jack  Simpson Profile
Jack Simpson answered

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..

Answer Question