glcm_all.Rd
Creates gray-level co-occurrence matrix (GLCM) from RIA_image.
GLCM assesses the spatial relation of voxels to each other. While the glcm
function calculates the GLCM in one given direction, the glcm_all
function
simultaneously calculates all GLCMs in all possible directions.
For 3D datasets, this means GLCMs will be calculated for all 26 different directions.
However, due to symmetry overall only 13 different GLCMs will be generated.
If the symmetric parameter is set to FALSE, then 26 non-symmetrical GLCM matrices
will be returned.
In case of 2D datasets, instead of 8 GLCMs, only 4 are returned by default. If the symmetric
parameter is set to FALSE then all 8 non-symmetrical GLCM matrices are returned.
For detailes see: https://www.ncbi.nlm.nih.gov/pubmed/28346329
By default the use_type is set to discretize, therefore GLCMs will be calculated
for all discretized images in all directions. Also single data processing is supported,
then by default the image in the $modif slot will be used. If use_slot is given,
then the data present in RIA_image$use_slot will be used for calculations.
Results will be saved into the glcm slot. The name of the subslot is automatically
generated by RIA.
glcm_all(RIA_data_in, distance = 1, symmetric = TRUE,
normalize = TRUE, use_type = "discretized", use_orig = FALSE,
use_slot = NULL, save_name = NULL, verbose_in = TRUE)
RIA_data_in | RIA_image. |
---|---|
distance | integer, distance between the voxels being compared. |
symmetric | logical, indicating whether to create a symmetric glcm by also calculating the glcm in the opposite direction and add it to the glcm. |
normalize | logical, indicating whether to change glcm elements to relaive frequencies. |
use_type | string, can be "single" which runs the function on a single image, which is determined using "use_orig" or "use_slot". "discretized" takes all datasets in the RIA_image$discretized slot and runs the analysis on them. |
use_orig | logical, indicating to use image present in RIA_data$orig. If FALSE, the modified image will be used stored in RIA_data$modif. |
use_slot | string, name of slot where data wished to be used is. Use if the desired image is not in the data$orig or data$modif slot of the RIA_image. For example, if the desired dataset is in RIA_image$discretized$ep_4, then use_slot should be discretized$ep_4. The results are automatically saved. If the results are not saved to the desired slot, then please use save_name parameter. |
save_name | string, indicating the name of subslot of $glcm to save results to. If left empty, then it will be automatically determined by RIA. |
verbose_in | logical indicating whether to print detailed information.
Most prints can also be suppressed using the |
RIA_image containing the GLCMs.
Márton KOLOSSVÁRY et al. Radiomic Features Are Superior to Conventional Quantitative Computed Tomographic Metrics to Identify Coronary Plaques With Napkin-Ring Sign Circulation: Cardiovascular Imaging (2017). DOI: 10.1161/circimaging.117.006843 https://www.ncbi.nlm.nih.gov/pubmed/29233836
Márton KOLOSSVÁRY et al. Cardiac Computed Tomography Radiomics: A Comprehensive Review on Radiomic Techniques. Journal of Thoracic Imaging (2018). DOI: 10.1097/RTI.0000000000000268 https://www.ncbi.nlm.nih.gov/pubmed/28346329
if (FALSE) {
#Discretize loaded image and then calculate GLCM matrix of RIA_image$modif
RIA_image <- discretize(RIA_image, bins_in = c(4, 8), equal_prob = TRUE,
use_orig = TRUE, write_orig = FALSE)
RIA_image <- glcm_all(RIA_image, use_type = "single")
#Use use_slot parameter to set which image to use
RIA_image <- glcm_all(RIA_image, use_type = "single",
use_orig = FALSE, use_slot = "discretized$ep_4")
#Batch calculation of GLCM matrices on all disretized images at a distance of 1 and 2
RIA_image <- glcm_all(RIA_image, use_type = "discretized", distance = c(1:2))
}