ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

convert dynamo markers files into imod model files:dynamo中挑选颗粒在imod中查看(matlab写的)

2021-07-03 21:03:07  阅读:344  来源: 互联网

标签:files idx imod tilt markers xy file dynamo contour


function dms2mod(markers_dms_file, model_file, image_file)
%%%%% Convert Dynamo markers (.dms files) into IMOD format model files (.mod)
%%%%% Requires MATLAB >= r2019a
%%%%% Requires Dynamo >= 1.1.478
%%%%% Requires IMOD >= 4.10.37
%%% Reading marker file
m = dread(markers_dms_file);

%%% Extract useful objects
markers = m.shapes;
n_markers = size(markers, 2);

tilt_angles = m.nominalTiltAngles;
n_tilt_angles = size(tilt_angles, 1);

%%% Extraction of coordinates in array resembling IMOD format (contour, x, y, z)
output = [];
for contour_idx = 1:n_markers
current_contour = markers(1, contour_idx);
xy = current_contour.coordinates;

for z_idx = 1:size(xy, 2)
c_xy = xy{z_idx};
if size(c_xy, 1) > 0
x = c_xy(1);
y = c_xy(2);
z = z_idx - 1;
output = [output; contour_idx, x, y, z];
end
end
end

%%% Write text file containing points in IMOD format
writematrix(output, 'tmp.csv', 'Delimiter', 'tab');

%%% Run point2model to obtain IMOD format model file
command = ['point2model -ci 5 -w 1 -co 120,120,255 -image ', image_file, ' tmp.csv ', model_file]
system(command)

%%% Write out tilt angles
tilt_angle_file = strrep(model_file, '.mod', '.tlt')
writematrix(tilt_angles, tilt_angle_file, 'FileType', 'text')
end

标签:files,idx,imod,tilt,markers,xy,file,dynamo,contour
来源: https://www.cnblogs.com/klausage/p/14967515.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有