-
Notifications
You must be signed in to change notification settings - Fork 0
/
dicomFile.m
45 lines (44 loc) · 1.75 KB
/
dicomFile.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
function dicomFile
% dicomFile selects labelled protein aggregate areas in retinal images with
% SIFT
%
% SYNOPSIS dicomFile
%
% INPUT I1 : raw image
%
% OUTPUT images with Difference of Gaussians transform and SIFT
% detections
%
% DEPENDENCES dicomFile uses {Matlab native functions}
%
% example run: dicomFile;
%
% Alexandre Matov, January 6th, 2023
%%
% dirName = uigetdir('C:\');
% cd(dirName)
% rootdir = dirName;%'A:\Amydis\Glaucoma SDEB Eye #2';
% filelist = dir(fullfile(rootdir, '*.dcm'));
%-----------------------------------------------
I1 = dicomread('A:\Amydis\AMYDIS FIH - COHORT 1\1\OPTOS\01-101_PROBE____01-101_ 1\1.2.826.0.2.139953.3.1.2.3790383533.20220906090530.1610592815.dcm');
%I1 = dicomread('A:\Amydis\AMYDIS FIH - COHORT 1\1\OPTOS\01-101_PROBE____01-101_ 1\1.2.826.0.2.139953.3.1.2.3790383533.20220906090530.1611098917.dcm');
%I1 = dicomread('A:\Amydis\AMYDIS FIH - COHORT 1\1\OPTOS\01-101_PROBE____01-101_ 1\1.2.826.0.2.139953.3.1.2.3790383533.20220906090530.1610592815.dcm');
%----------------------
I = rgb2gray(I1);
%figure, imshow(I,[])
%----------------------
Igray = Gauss2D(double(I),1); % filtering of high frequency background noise
Iblur = Gauss2D(double(I),7); % filtering of background nonspecific intensity
Idiff = Igray - Iblur; % difference of gaussians
Idiff(find(Idiff<0))=0; % clipping of negative values
figure, imshow(Idiff,[0 50]);
%--------------------
figure
points = detectSIFTFeatures(I);
imshow(I); hold on;
plot(points.selectStrongest(5))
%----------------------------------
% info = dicominfo('A:\Amydis\AMYDIS FIH - COHORT 1\1\OPTOS\01-101_PROBE____01-101_ 1\1.2.826.0.2.139953.3.1.2.3790383533.20220906090530.1610592815.dcm');
% Y = dicomread(info);
% figure
% imshow(Y,[]);