View source: R/BP_FitMLRadialCompactness.R
BP_FitMLRadialCompactness | R Documentation |
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.
BP_FitMLRadialCompactness( bone, fitted.parameters = NULL, priors = NULL, fixed.parameters = NULL, analysis = 1, silent = FALSE, twosteps = TRUE )
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? |
BP_FitMLRadialCompactness estimates likelihood of model of a bone section
The -Ln L
Marc Girondot marc.girondot@gmail.com
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()
## 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)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.