BP_FitMLRadialCompactness {BoneProfileR} | R Documentation |
Estimation of the likelihood of a bone section
Description
Estimation of the compactness of a bone section using radial model.
If the fitted.parameters and fixed.parameters are NULL and the analysis includes a
BP_FitMLCompactness() result, the values of this result is used as a reference for
fitted.parameters and fixed.parameters.
If no BP_FitMLCompactness() result is available, it will use:
fitted.parameters=c(P=0.5, S=0.05, Min=-2, Max=5); fixed.parameters=c(K1=1, K2=1).
The reference for radial estimation of compactness is the trigonometric circle for rotation.angle=0 in
BP_EstimateCompactness():
- The top of the section is located at -pi/2.
- The left of the section is located at -pi and +pi.
- The bottom of the section is located at pi/2.
- The right of the section is 0.
If rotation.angle is different from 0, the value of rotation.angle is added to the angle modulo 2.pi.
The two-steps analysis performs first a quasi-Newton method, then a Bayesian MCMC and finally again a quasi-Newton method.
It generally ensures that global minimum is found. On the other hand, it doubles the time to complete for each angle.
Usage
BP_FitMLRadialCompactness(
bone,
fitted.parameters = NULL,
priors = NULL,
fixed.parameters = NULL,
analysis = 1,
silent = FALSE,
twosteps = TRUE
)
Arguments
bone |
The bone image to be used |
fitted.parameters |
Parameters of the model to be fitted |
priors |
If twosteps is TRUE, ell what prior should be used. |
fixed.parameters |
Fixed parameters of the model |
analysis |
Name or rank of analysis |
silent |
Should the function displays some information? |
twosteps |
Should a 2-steps analysis be performed? |
Details
BP_FitMLRadialCompactness estimates likelihood of model of a bone section
Value
The -Ln L
Author(s)
Marc Girondot marc.girondot@gmail.com
See Also
Other BoneProfileR:
BP_AutoFit()
,
BP_ChooseBackground()
,
BP_ChooseCenter()
,
BP_ChooseForeground()
,
BP_DetectBackground()
,
BP_DetectCenters()
,
BP_DetectForeground()
,
BP_DuplicateAnalysis()
,
BP_EstimateCompactness()
,
BP_FitBayesianCompactness()
,
BP_FitMLCompactness()
,
BP_GetFittedParameters()
,
BP_ListAnalyses()
,
BP_LnLCompactness()
,
BP_OpenImage()
,
BP_Report()
,
Erinaceus_europaeus
,
plot.BoneProfileR()
,
summary.BoneProfileR()
Examples
## Not run:
# Not run
library(BoneProfileR)
path_Hedgehog <- system.file("extdata", "Erinaceus_europaeus_fem_2-1_small.png",
package = "BoneProfileR")
bone <- BP_OpenImage(file=path_Hedgehog)
# or
bone <- BP_OpenImage(ijtiff=TRUE)
bone <- BP_DetectBackground(bone=bone, analysis="logistic")
bone <- BP_DetectForeground(bone=bone, analysis="logistic")
bone <- BP_DetectCenters(bone=bone, analysis="logistic")
bone <- BP_EstimateCompactness(bone, analysis="logistic")
bone <- BP_EstimateCompactness(bone, analysis="logistic", cut.angle=30)
bone <- BP_FitMLCompactness(bone, analysis="logistic")
plot(bone)
plot(bone, type="observations")
plot(bone, type="observations+model", analysis=1)
fittedpar <- BP_GetFittedParameters(bone, analysis="logistic")
bone <- BP_DuplicateAnalysis(bone, from="logistic", to="flexit")
bone <- BP_FitMLCompactness(bone,
fitted.parameters=c(fittedpar, K1=1.01, K2=1.01),
fixed.parameters=NULL, analysis="flexit")
bone <- BP_FitBayesianCompactness(bone, analysis="flexit")
mcmc <- RM_get(bone, RMname = "flexit", value="mcmc")
fittedpar <- as.parameters(mcmc)
bone <- BP_FitMLCompactness(bone,
fitted.parameters=fittedpar,
fixed.parameters=NULL, analysis="flexit")
compare_AIC(Logistic=BP_GetFittedParameters(bone, analysis="logistic", alloptim=TRUE),
Flexit=BP_GetFittedParameters(bone, analysis="flexit", alloptim=TRUE))
out4p <- plot(bone, type="observations+model", analysis="logistic")
out6p <- plot(bone, type="observations+model", analysis="flexit")
# The twosteps fit is more acurate but is around 100 times slower
bone <- BP_FitMLRadialCompactness(bone, analysis="logistic", twosteps=TRUE)
bone <- BP_FitMLRadialCompactness(bone, analysis="logistic", twosteps=FALSE)
plot(bone, type="observations", angle=0)
plot(bone, type="model", analysis="logistic", angle=0)
plot(bone, type="observations+model", angle=0)
plot(bone, type="observations+model", angle=pi)
plot(bone, type="radial", radial.variable=c("P", "S"), analysis="logistic")
plot(bone, type="radial", radial.variable=c("P", "S", "Min", "Max"), analysis="logistic")
plot(bone, type="radial", radial.variable=c("TRC"), analysis="logistic")
# Test using the change of orientation using default.angle from BP_EstimateCompactness():
bone <- BP_DuplicateAnalysis(bone, from="logistic", to="logistic_rotation_pi")
# With a pi rotation, the top moves to the bottom and the left moves to the right
bone <- BP_EstimateCompactness(bone, rotation.angle=pi, analysis="logistic_rotation_pi")
bone <- BP_FitMLRadialCompactness(bone, analysis="logistic_rotation_pi")
plot(bone, type="radial", radial.variable=c("P", "S"), analysis="logistic")
plot(bone, type="radial", radial.variable=c("P", "S"), analysis="logistic_rotation_pi")
BP_Report(bone=bone,
analysis=1,
docx=NULL,
pdf=NULL,
xlsx=file.path(getwd(), "report.xlsx"),
author="Marc Girondot",
title=attributes(bone)$name)
## End(Not run)