Skip to content

hpcnpatel/Fortran_Image_Processing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#============================================================================#
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. 

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published