Skip to content

Commit bdeee6b

Browse files
authored
Add files via upload
Added updates to Matlab code to use anaconda 3 rather than standalone python. Allows for ease of updating packages instead of using older python Also requires update to DeBaCl which can be found here CoAxLab/DeBaCl#69
1 parent f36f6e9 commit bdeee6b

9 files changed

Lines changed: 282 additions & 224 deletions
Lines changed: 91 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,92 @@
1-
%This function provides some preliminary information about the cluster analysis paramters and the dataset
2-
function [AxisLimits,pDeBaCl]=BeforeStartingAnalyses(DatasetName,MinClusterSizeHDBSCAN,MinSamplesHDBSCAN,hdbscanPersistencyThreshold,...
3-
hdbscanProbabilityThreshold,kDeBaCl,gammaDeBaCl,MassLengthDeBaClThreshold,...
4-
NNNforKNN,PrefactorDeBaClDensityThreshold,hdbscanAnalysisTwoTimes,PrefactForPersistancy,IgnorePersisInDeBaClanalysis,...
5-
IgnorehdbscanProbabilityThresholdAfterKNNrelabeling)
6-
7-
X=importdata(DatasetName);
8-
g=figure(1);
9-
if size(X,2)==2
10-
plot(X(:,1),X(:,2),'k.','MarkerSize',2);
11-
pDeBaCl=2;%Dataset is 2D
12-
else
13-
plot3(X(:,1),X(:,2),X(:,3),'k.','MarkerSize',2);
14-
pDeBaCl=3;%Dataset is 3D
15-
end
16-
xlabel('X (nm)')
17-
ylabel('Y (nm)')
18-
zlabel('Z (nm)')
19-
AxisLimits=[min(X(:,1)) max(X(:,1));...
20-
min(X(:,2)) max(X(:,2));...
21-
min(X(:,3)) max(X(:,3))];
22-
xlim([AxisLimits(1,1) AxisLimits(1,2)])
23-
ylim([AxisLimits(2,1) AxisLimits(2,2)])
24-
zlim([AxisLimits(3,1) AxisLimits(3,2)])
25-
Title=({'Original Dataset';['Number of atoms in the dataset is ' num2str(size(X,1))]});
26-
title(Title)
27-
set(gcf,'Units','Normalized','OuterPosition',[0.25, 0.07, .65, .92])
28-
saveas(g,'1_OriginalDatat.tiff')
29-
%saveas(g,'1_OriginalDatat.fig')
30-
%close(g)
31-
32-
fid1 = fopen('0_ParamtersUsedForClusterAnalyses.txt','wt');
33-
34-
fprintf(fid1, '%s\t', ' DatasetName:');
35-
fprintf(fid1, '%s\n', DatasetName);
36-
37-
fprintf(fid1, '%s', ' MinClusterSizeHDBSCAN=');
38-
fprintf(fid1, '%i\n', MinClusterSizeHDBSCAN);
39-
40-
fprintf(fid1, '%s', ' MinSamplesHDBSCAN=');
41-
fprintf(fid1, '%i\n', MinSamplesHDBSCAN);
42-
43-
fprintf(fid1, '%s', ' hdbscanAnalysisTwoTimes=');
44-
if hdbscanAnalysisTwoTimes
45-
fprintf(fid1, '%s\n', 'true');
46-
else
47-
fprintf(fid1, '%s\n', 'false');
48-
end
49-
50-
fprintf(fid1, '%s', ' PrefactForPersistancy=');
51-
fprintf(fid1, '%i\n', PrefactForPersistancy);
52-
53-
fprintf(fid1, '%s', ' hdbscanPersistencyThreshold=');
54-
fprintf(fid1, '%f\n', hdbscanPersistencyThreshold);
55-
56-
fprintf(fid1, '%s', ' hdbscanProbabilityThreshold=');
57-
fprintf(fid1, '%f\n', hdbscanProbabilityThreshold);
58-
59-
% fprintf(fid1, '%s', ' pDeBaCl=');
60-
% fprintf(fid1, '%i\n', pDeBaCl);
61-
62-
fprintf(fid1, '%s', ' kDeBaCl=');
63-
fprintf(fid1, '%i\n', kDeBaCl);
64-
65-
fprintf(fid1, '%s', ' gammaDeBaCl=');
66-
fprintf(fid1, '%i\n', gammaDeBaCl);
67-
68-
fprintf(fid1, '%s', ' IgnorePersisInDeBaClanalysis=');
69-
if IgnorePersisInDeBaClanalysis
70-
fprintf(fid1, '%s\n', 'true');
71-
else
72-
fprintf(fid1, '%s\n', 'false');
73-
end
74-
75-
fprintf(fid1, '%s', ' MassLengthDeBaClThreshold=');
76-
fprintf(fid1, '%f\n', MassLengthDeBaClThreshold);
77-
78-
fprintf(fid1, '%s', ' NNNforKNN=');
79-
fprintf(fid1, '%i\n', NNNforKNN);
80-
81-
fprintf(fid1, '%s', 'PrefactorDeBaClDensityThreshold=');
82-
fprintf(fid1, '%f', PrefactorDeBaClDensityThreshold);
83-
84-
if IgnorehdbscanProbabilityThresholdAfterKNNrelabeling
85-
fprintf(fid1, '%s','IgnorehdbscanProbabilityThresholdAfterKNNrelabeling=true');
86-
else
87-
fprintf(fid1, '%s','IgnorehdbscanProbabilityThresholdAfterKNNrelabeling=false');
88-
end
89-
fclose(fid1);
90-
1+
2+
%This function provides some preliminary information about the cluster analysis paramters and the dataset
3+
function [AxisLimits,pDeBaCl]=BeforeStartingAnalyses(DatasetName,MinClusterSizeHDBSCAN,MinSamplesHDBSCAN,hdbscanPersistencyThreshold,...
4+
hdbscanProbabilityThreshold,kDeBaCl,gammaDeBaCl,MassLengthDeBaClThreshold,...
5+
NNNforKNN,PrefactorDeBaClDensityThreshold,hdbscanAnalysisTwoTimes,PrefactForPersistancy,IgnorePersisInDeBaClanalysis,...
6+
IgnorehdbscanProbabilityThresholdAfterKNNrelabeling)
7+
8+
X=importdata(DatasetName);
9+
g=figure(1);
10+
if size(X,2)==2
11+
plot(X(:,1),X(:,2),'k.','MarkerSize',2);
12+
pDeBaCl=2;%Dataset is 2D
13+
else
14+
plot3(X(:,1),X(:,2),X(:,3),'k.','MarkerSize',2);
15+
pDeBaCl=3;%Dataset is 3D
16+
end
17+
xlabel('X (nm)')
18+
ylabel('Y (nm)')
19+
zlabel('Z (nm)')
20+
AxisLimits=[min(X(:,1)) max(X(:,1));...
21+
min(X(:,2)) max(X(:,2));...
22+
min(X(:,3)) max(X(:,3))];
23+
xlim([AxisLimits(1,1) AxisLimits(1,2)])
24+
ylim([AxisLimits(2,1) AxisLimits(2,2)])
25+
zlim([AxisLimits(3,1) AxisLimits(3,2)])
26+
Title=({'Original Dataset';['Number of atoms in the dataset is ' num2str(size(X,1))]});
27+
title(Title)
28+
set(gcf,'Units','Normalized','OuterPosition',[0.25, 0.07, .65, .92])
29+
saveas(g,'1_OriginalDatat.tiff')
30+
%saveas(g,'1_OriginalDatat.fig')
31+
%close(g)
32+
33+
fid1 = fopen('0_ParamtersUsedForClusterAnalyses.txt','wt');
34+
35+
fprintf(fid1, '%s\t', ' DatasetName:');
36+
fprintf(fid1, '%s\n', DatasetName);
37+
38+
fprintf(fid1, '%s', ' MinClusterSizeHDBSCAN=');
39+
fprintf(fid1, '%i\n', MinClusterSizeHDBSCAN);
40+
41+
fprintf(fid1, '%s', ' MinSamplesHDBSCAN=');
42+
fprintf(fid1, '%i\n', MinSamplesHDBSCAN);
43+
44+
fprintf(fid1, '%s', ' hdbscanAnalysisTwoTimes=');
45+
if hdbscanAnalysisTwoTimes
46+
fprintf(fid1, '%s\n', 'true');
47+
else
48+
fprintf(fid1, '%s\n', 'false');
49+
end
50+
51+
fprintf(fid1, '%s', ' PrefactForPersistancy=');
52+
fprintf(fid1, '%i\n', PrefactForPersistancy);
53+
54+
fprintf(fid1, '%s', ' hdbscanPersistencyThreshold=');
55+
fprintf(fid1, '%f\n', hdbscanPersistencyThreshold);
56+
57+
fprintf(fid1, '%s', ' hdbscanProbabilityThreshold=');
58+
fprintf(fid1, '%f\n', hdbscanProbabilityThreshold);
59+
60+
% fprintf(fid1, '%s', ' pDeBaCl=');
61+
% fprintf(fid1, '%i\n', pDeBaCl);
62+
63+
fprintf(fid1, '%s', ' kDeBaCl=');
64+
fprintf(fid1, '%i\n', kDeBaCl);
65+
66+
fprintf(fid1, '%s', ' gammaDeBaCl=');
67+
fprintf(fid1, '%i\n', gammaDeBaCl);
68+
69+
fprintf(fid1, '%s', ' IgnorePersisInDeBaClanalysis=');
70+
if IgnorePersisInDeBaClanalysis
71+
fprintf(fid1, '%s\n', 'true');
72+
else
73+
fprintf(fid1, '%s\n', 'false');
74+
end
75+
76+
fprintf(fid1, '%s', ' MassLengthDeBaClThreshold=');
77+
fprintf(fid1, '%f\n', MassLengthDeBaClThreshold);
78+
79+
fprintf(fid1, '%s', ' NNNforKNN=');
80+
fprintf(fid1, '%i\n', NNNforKNN);
81+
82+
fprintf(fid1, '%s', 'PrefactorDeBaClDensityThreshold=');
83+
fprintf(fid1, '%f', PrefactorDeBaClDensityThreshold);
84+
85+
if IgnorehdbscanProbabilityThresholdAfterKNNrelabeling
86+
fprintf(fid1, '%s','IgnorehdbscanProbabilityThresholdAfterKNNrelabeling=true');
87+
else
88+
fprintf(fid1, '%s','IgnorehdbscanProbabilityThresholdAfterKNNrelabeling=false');
89+
end
90+
fclose(fid1);
91+
9192
end

0 commit comments

Comments
 (0)