Icex: Advances in the automatic extraction and volume calculation of cranial cavities

Abstract The use of non‐destructive approaches for digital acquisition (e.g. computerised tomography—CT) allows detailed qualitative and quantitative study of internal structures of skeletal material. Here, we present a new R‐based software tool, Icex, applicable to the study of the sizes and shapes of skeletal cavities and fossae in 3D digital images. Traditional methods of volume extraction involve the manual labelling (i.e. segmentation) of the areas of interest on each section of the image stack. This is time‐consuming, error‐prone and challenging to apply to complex cavities. Icex facilitates rapid quantification of such structures. We describe and detail its application to the isolation and calculation of volumes of various cranial cavities. The R tool is used here to automatically extract the orbital volumes, the paranasal sinuses, the nasal cavity and the upper oral volumes, based on the coordinates of 18 cranial anatomical points used to define their limits, from 3D cranial surface meshes obtained by segmenting CT scans. Icex includes an algorithm (Icv) for the calculation of volumes by defining a 3D convex hull of the extracted cavity. We demonstrate the use of Icex on an ontogenetic sample (0–19 years) of modern humans and on the fossil hominin crania Kabwe (Broken Hill) 1, Gibraltar (Forbes' Quarry) and Guattari 1. We also test the tool on three species of non‐human primates. In the modern human subsample, Icex allowed us to perform a preliminary analysis on the absolute and relative expansion of cranial sinuses and pneumatisations during growth. The performance of Icex, applied to diverse crania, shows the potential for an extensive evaluation of the developmental and/or evolutionary significance of hollow cranial structures. Furthermore, being open source, Icex is a fully customisable tool, easily applicable to other taxa and skeletal regions.


Figs S1-S3: separate landmarks configs for COI
building of the α-shape and setting of alpha Table S1: sample used Table S2: arguments of the function Icex

Supporting Information 1 -Example code for Icex and Icv
Cavity of interest (COI)-specific values for each argument of Icex are here presented. Some arguments identify the individual (sur, set), others are determined by the Mode applied (planes, keep, multiple), while param1, param2 and alpha can be changed to obtain an optimal extraction of the COI and calculation of its volume. For these, in testing the function, we tried to identify values that would work on a heterogeneous sample as the one we used. param1 and param2 were needed to be changed only between the COIs, and not between individuals, with few exceptions (see section 4, Discussion in the Main Text). The value of the alpha argument has been set to 20 for all sample and all cavities, except for the endocast (EC) and palate (PA). In the first case, alpha has a default volume in endomaker, in the second case, the value has been set to 50. This is because a smaller polygon enveloping the shape (i.e., strictly adhering to the inner surface of the palate) would not effectively approximate the overall dimension the upper oral cavity. The higher value of alpha, in this case, allows for the isolation of a larger portion of the cavity better approximating the inner volume of the upper oral cavity.
Below we provide the code for Icex and its application for the extraction and volume calculation of each COI. We also provide a version of the code including the parameters for the application of the COI-specific partial landmark configurations. Lastly, we provide an example for the application of Icv only.
Installation of the Arothron package and importing of example data provided: It is possible to upload own meshes (e.g., .ply files) by installing the package Morpho and using the function for reading 3d meshes. We also applied a decimation to 500k triangles: sur<-vcgQEdecim(ply2mesh("name_mesh.ply"),500000) set=read.table("name_set",sep=";",dec=".",col.names = NA) In this case the first two arguments of the function will be sur and set.
Load the functions provided in the supporting code available on Zenodo (https://zenodo.org/record/6642828). On Zenodo we supplied example data for sur and set.
After the visualization of the different COIs, by running Icex as explained below for each single cavity, it is possible to automatically save the meshes of both the extracted cavity and the α-shape in the working folder by typing on the R console the affirmative response ("y"), otherwise it can be typed a negative response ("n") prior to restart the process.

NC$volume
Or simply run: NC to see all the attributes of the object (volume included).

MS_r$volume
Or simply run:

MS_l
MS_r to see all the attributes of the object (volume included).
A reduced landmark configuration limited to the first 13 landmarks (see Figure S1 in Supporting Information Figures) can be applied without changing the parameters set for planes and keep, if interested in NC and MSs only.

OR_l
OR_r to see all the attributes of the object (volume included). Cavity (or 'palate', PA). The parameters suggested are those used in our study: set=set,planes=list(c(16,17,18)), keep=FALSE,param1=0.5,param2=NULL,alpha=50,center=c(16,17,18),mode=3) It can be applied a reduced landmark configuration (see Figure S2, a in Supporting Information Figures) for the extraction of the orbits only, by changing parameters as follows: