View source: R/read.malpaca.estimates.R
read.malpaca.estimates | R Documentation |
This function returns store MALPACA median estimates and corresponding manual landmarks in 3D arrays. It also returns a 4D array that contains all landmark estimates of individual templates
read.malpaca.estimates(MALPACA_outputDir, templates_Dir)
MALPACA_outputDir |
The output directory of MALPACA |
template_number |
The number of templates |
A list that contains median estimates, manual landmarks and estimates of individual templates
The returned value contains:
$MALPACA_medians = a 3d array for the median estimates of MALPACA
$allEstimates = A 4d array for all estimates of each template. The 1st dimension is the landmark number. The 2nd dimension specifies x, y, z coordinates. The 3rd dimension is the template number. The 4th dimension is the sample size.
#The example below shows how this function reads MALPACA output. #The output estimates are then submitted to the 'extract.outliers' for removing outlier estimates. #Finally, 'get.medians'is used to calculate a new set of median estimates based on the result of 'extract.outliers' #Please see the help file of 'extract.outliers' and 'get.medians' in SlicerMorphR for more detail. #Clone the Github repository that contains the sample ape MALPACA output and template landmark files using the url 'https://github.com/SlicerMorph/Mouse_Models.git' #The ape MALPACA output is in the 'ape_MALPACA' folder. See 'https://github.com/SlicerMorph/Mouse_Models' for details # Users can also download and unzip the file in the Github repository using the following R code: save.dir='C:/tmp' #enter your directory to download the MALPACA data sample setwd(save.dir) zip_url <- "https://github.com/SlicerMorph/Mouse_Models/archive/refs/heads/main.zip" download.file(url = zip_url, destfile = "Mouse_Models.zip") unzip(zipfile = "Mouse_Models.zip") MAL_outDir_git<- paste(save.dir, 'Mouse_Models-main/ape_malpaca', sep="/") #If cloned the repository, MAL_outDir_git <- 'your_directory_for_the_Cloned_folder/ape_malpaca' templates_path_git<- paste(save.dir, 'Mouse_Models-main/ape_malpaca/templates_LMs', sep='/') #If cloned the repository, templates_path_git <- 'your_directory_for_the_Cloned_folder/ape_malpaca/templates_LMs' #Read MALPACA median estimates and estimates by individual templates LMs <- read.malpaca.estimates(MALPACA_outputDir = MAL_outDir_git, templates_Dir = templates_path_git) allEst <- LMs$allEstimates #Store all individual estimates in a 4D array #For the ape data allEst[1:2, , 1, 3] #The LM1 and LM2 estimated by template 1 for target specimen 3 [,1] [,2] [,3] [1,] -15.37080 428.172 159.411 [2,] -1.88649 365.697 180.744 MAL_medians <- LMs$MALPACA_medians #Store all median estimates in a 3D array MAL_medians[1:2, , 3] #The median estimates for LM 1 and LM3 of the target specimen 3 [,1] [,2] [,3] [1,] -7.218665 417.9610 158.4400 [2,] -1.850612 366.3141 180.6046 #########Run 'extract.outliers' outPath <- the_output_path_for_boxplots_that_mark_outlier_estimates outliers <- extract.outliers(allEstimates = allEst, MALPACA_medians = MAL_medians, outputPath = outPath) outliers$estimates_no_out[18:23, , 2, 7] #Show LM18 to LM23 estimated by template 2 for the 7th target specimen. #Note the coordinates of LM21 are marked as NA because it is an outlier x y z 18 3.123262 441.5676 226.7014 19 1.254022 417.1126 206.4035 20 -2.445040 385.6000 193.9190 21 NA NA NA 22 -17.194445 457.1618 238.1673 23 28.504499 455.5570 234.8030 outliers$outlier_info[[7]] #Print out the outlier LMs generated by each template for the 7th target specimen. "NULL" means no outlier generated. $`USNM084655-Cranium_merged_1` NULL $`USNM142185-Cranium` [1] 21 39 $`USNM153830-Cranium` [1] 21 $`USNM176236-Cranium_merged_1` NULL $USNM590953_CRANIUM [1] 19 36 38 $USNM599167_CRANIUM [1] 19 25 36 37 #######Run 'get.medians' medians <- get.medians(AllLMs = outliers$estimates_no_out, outlier.NA = TRUE) #Because therer are NAs in outliers$estimates_no_out, assign "TRUE" to "outlier.NA" medians[1:2, , 3] [,1] [,2] [,3] [1,] -7.218665 416.3260 158.4400 [2,] -1.850612 366.3141 180.6046
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.