forked from LeonardoLupori/brainAlignment
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbatchBatchCellQuantify.m
69 lines (45 loc) · 2.12 KB
/
batchBatchCellQuantify.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
clearvars, clc
% -------------------------------------------------------------------------
defaultFolder = 'D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET';
outputFolder = 'D:\PizzorussoLAB\proj_PNN-highFatDiet\RESULTS\dotsPv';
randomForestModelPath = "C:\Users\Leonardo\Documents\MATLAB\PNN_wholeBrain\model_pv_20220412-1829.mat";
channel = 2;
% -------------------------------------------------------------------------
%%
% Load the annotation volume
if ~exist('annotationVolume','var')
load('annotationVolume.mat');
end
xmlFileList = [...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\AL1A\AL1A-info.xml",...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\CC1A\CC1A-info.xml",...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\CC1B\CC1B-info.xml",...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\CC2B\CC2B-info.xml",...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\CC3A\CC3A-info.xml",...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\HF1A\HF1A-info.xml",...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\HF1B\HF1B-info.xml",...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\HF2B\HF2B-info.xml",...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\HF3A\HF3A-info.xml",...
"D:\PizzorussoLAB\proj_PNN-highFatDiet\DATASET\HF3B\HF3B-info.xml"];
for j = 1:length(xmlFileList)
xml = xmlFileList(j);
sliceArray = allSlicesFromXml(xml);
T = table();
% Analyze all the other slices
for i = 1:length(sliceArray)
if sliceArray(i).valid == 0
fprintf('Slice: "%s" flagged as not valid. Skipped quantification\n',sliceArray(i).name)
continue
end
new_T = sliceArray(i).quantifyDots(annotationVolume,channel,randomForestModelPath);
T = [T; new_T];
end
% Print a happy end message
beep
fprintf(['\n' repmat('*',1,28)])
fprintf('\n*** END OF ANALYSIS :D ***\n')
fprintf([repmat('*',1,28) '\n'])
% Save the result of the analysis
fname = [sliceArray(1).mouseID '_dots_' sliceArray(1).channelNames{channel} datestr(now,'_yyyymmdd-HHMMSS') '.csv'];
writetable(T, [outputFolder filesep fname])
end