-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
100 lines (74 loc) · 3.32 KB
/
README
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#============================================================================#
This is a collection of programs for processing, manipulating, and filtering CT
scan data. A CT scan data could be binary RAW data or VTK data. All the source
code is in the ./source_files directory.
Important files to be looked at while building & executing the program are,
--> ./parameter.dat
--> ./source_files/image_process.f90
#============================================================================#
How to Build
>> make -C object_files
#============================================================================#
How to Execute
>> ./inter parameter.dat
In the parameter.dat file, one should specify the name of the CT data file
along with the size of the filter. Here are the values that
can pass to binary executable via parameter.dat file.
The parameter.dat will look like this,
1 kernel_X=5
2 kernel_Y=5
3 kernel_Z=5
4 fpath=./vtk/
5 fname=file_name_of_CT_data
6 fext=vtk
7 np=24
kernel_X,_Y,&_Z can be used to pass the length/size of the filter in each x,y, & z-direction.
fpath=> file path name
fname=> file name without extention
fext=> file extension (for example, vtk or raw)
#============================================================================#
Main available filters or manipulation tools (in form of subroutines) are,
=> ADAPTIVE_MEDIAN
=> ADAPTIVE_QR
=> GRADIENT
=> MEAN
=> MEDIAN
=> QR
=> data Extrapolation filter subroutine
=> VTK data read & write subroutine
=> RAW data read subroutine
=> sorting subroutines
#============================================================================#
How to use the Adaptive filters (QR or median) on CT data to extract the best
possible smoothed filtered results? Please remember, the aim is to extract a
smooth geometry of the human artery from the patient-specific CT scan data.
In the source_files/image_process.f90 file, one must call a subroutine called,
adaptive_median or adaptive_qr subroutine, like below
CALL ADAPTIVE_MEDIAN(CT_NEW,KSIZE,np)
or
CALL ADAPTIVE_QR(CT_NEW,KSIZE,np)
Adaptive filters will find the gradient of each pixel, and based on the
intensity of the gradient value, the median or QR filter will be used multiple
times.
The intensity value is predefined, 0,25,50 and Max of Gradient.
A maximum of 4 times a median or QR filter will be applied on a pixel based
on the norm of the gradient.
Keep in mind the size of the kernel/filter being used. In the parameter
file, one must specify this. The typical values are 3,3,3 or 5,5,5.
#============================================================================#
How to use the pure QR or median filter on CT data to extract the best possible
smoothed filtered results? Please remember, the aim is to extract a smooth
geometry of the human artery from the patient-specific CT scan data.
In the source_files/image_process.f90 file, one must call a subroutine called,
median or QR subroutine, like below
CALL MEDIAN(CT_NEW,KSIZE,np)
or
CALL QR(CT_NEW,KSIZE,np)
If you want to process the median /qr filter on each pixel for more number of
times, you can do this,
CALL MEDIAN(CT_NEW,KSIZE,np)
CALL MEDIAN(CT_NEW,KSIZE,np)
CALL MEDIAN(CT_NEW,KSIZE,np)
CALL MEDIAN(CT_NEW,KSIZE,np)
In the above example, four times a median filter will be applied on each pixel/voxel
without taking gradient into considerations.