glcm_all: Creates gray-level co-occurrence matrix of all possible...

Description Usage Arguments Value References Examples

View source: R/glcm_all.R

Description

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.

Usage

1
2
3
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)

Arguments

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 suppressMessages function.

Value

RIA_image containing the GLCMs.

References

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

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
## Not run: 
#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))

## End(Not run)

neuroconductor/RIA documentation built on May 21, 2021, 6:56 a.m.