mirror of
https://github.com/eddyem/bta-image-model.git
synced 2025-12-06 02:35:21 +03:00
39 lines
1.5 KiB
Matlab
39 lines
1.5 KiB
Matlab
|
||
function make_mask()
|
||
% ÐÏÓÔÒÏÅÎÉÅ ÇÁÒÔÍÁÎÏ×ÓËÏÊ ÍÁÓËÉ
|
||
% SS - ÒÁÚÍÅÒ ÍÁÓËÉ
|
||
f = fopen("holes.json", "w");
|
||
X = []; Y = [];
|
||
R = [175 247 295 340 379 414 448 478] * 1e-3; % ÒÁÄÉÕÓÙ ËÏÌÅÃ ÎÁ ÇÁÒÔÍÁÎÏÇÒÁÍÍÅ
|
||
HoleR = 7.5e-3; % ÒÁÄÉÕÓ ÏÔ×ÅÒÓÔÉÊ - 7.5ÍÍ
|
||
R0 = .6; % ÒÁÄÉÕÓ ÓÁÍÏÊ ÇÁÒÔÍÁÎÏÇÒÁÍÍÙ
|
||
alpha0 = pi/32; % ÓÍÅÝÅÎÉÅ ÌÕÞÅÊ ÏÔÎÏÓÉÔÅÌØÎÏ ÓÅËÕÝÉÈ ÇÏÒÉÚÏÎÔÁÌÉ/×ÅÒÔÉËÁÌÉ
|
||
Angles = [0:31] * 2 * alpha0 + alpha0; % ÕÇÌÙ, ÐÏ ËÏÔÏÒÙÍ ÒÁÓÐÏÌÁÇÁÀÔÓÑ ÌÕÞÉ
|
||
% ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÒÁÚÍÅÓÔÉÔØ ÎÁ ÍÁÓËÅ ÏËÒÕÖÎÏÓÔÉ, ÓÏÚÄÁÄÉÍ ÍÁÓËÕ
|
||
% ÏËÒÕÖÎÏÓÔÉ: zeros(15) Ó ÅÄÉÎÉÃÁÍÉ ÔÁÍ, ÇÄÅ ÄÏÌÖÎÁ ÂÙÔØ ÄÙÒËÁ. úÁÔÅÍ
|
||
% ÐÏÍÅÔÉÍ ÅÄÉÎÉÃÁÍÉ × mask ÔÅ ÔÏÞËÉ, ËÕÄÁ ÄÏÌÖÅÎ ÐÏÐÁÄÁÔØ ÌÅ×ÙÊ ×ÅÒÈÎÉÊ
|
||
fprintf(f, "{\n\t\"maskz\": 20.017,\n\t\"shape\": \"round\", \"radius\": %f,\n\t\"holes\": [\n" , HoleR);
|
||
for i = [1 : size(R,2)] % ÃÉËÌ ÐÏ ËÏÌØÃÁÍ
|
||
x = R(i) * cos(Angles);
|
||
y = R(i) * sin(Angles);
|
||
X = [X x]; Y = [Y y];
|
||
%fprintf(f, "\t\t{\"ring\": %d, \"center\": [%f, %f]\n", i, x[j], y[j]]);
|
||
printR(f, sprintf("\"ring\": %d", i-1), x, y);
|
||
endfor
|
||
% ÐÏÍÅÞÁÅÍ ÍÁÒËÅÒÙ
|
||
x = R([8 3]) .* cos([-2 -7]* 2 * alpha0);
|
||
y = R([8 3]) .* sin([-2 -7]* 2 * alpha0);
|
||
X = [X x]; Y = [Y y];
|
||
%fprintf(f, "\t\t{\"marker\", \"center\": [%f, %f]\n", x, y);
|
||
printR(f, sprintf("\"mark\": 1"), x, y);
|
||
fprintf(f, "\t]\n}\n");
|
||
fclose(f);
|
||
plot(X, Y, 'o'); axis square;
|
||
endfunction
|
||
|
||
function printR(f, msg, x, y)
|
||
for i = 1:size(x,2)
|
||
fprintf(f, "\t\t{ %9s, \"number\": %2d, \"center\": [ %7.4f, %7.4f ] },\n", msg, i-1, x(i), y(i));
|
||
endfor
|
||
endfunction
|