ContextualityIndex <- function( inANIObj, inSnapShot = NULL, inHalfDecayChords = 0.1,
inHalfDecayToneCenters = 1.5, inEnlargement = 0)
{
inPeriodicityPitch <- inANIObj[[1]]
inSampleFreq <- inANIObj[[2]]
inPeriods <- inANIObj[[3]]
if (inEnlargement == -1) {
inEnlargement = 2*inHalfDecayToneCenters;
}
if (is.null(inSnapShot)){
inSnapShot <- (dim(inPeriodicityPitch)[2]-1)/inSampleFreq
}
if (inSnapShot >= 0){
inSnapShotSamples <- round(inSnapShot*inSampleFreq)+1
} else {
inSnapShotSamples <- size(inPeriodicityPitch,2) - abs(round(inSnapShot*inSampleFreq))
}
outChords <- LeakyIntegration(inPeriodicityPitch, inSampleFreq,
inHalfDecayChords, inEnlargement)
outToneCenters <- LeakyIntegration(inPeriodicityPitch, inSampleFreq,
inHalfDecayToneCenters, inEnlargement)
outContextuality1 = array()
outContextuality2 = array()
outContextuality3 = array()
for (i in 1:dim(outToneCenters)[2]){
value1 <- cor(outChords[,i],outChords[,inSnapShotSamples])
value2 <- cor(outToneCenters[,i],outChords[,inSnapShotSamples])
value3 <- cor(outToneCenters[,i],outChords[,i])
outContextuality1[i] = value1
outContextuality2[i] = value2
outContextuality3[i] = value3
}
suppressMessages(require(ggplot2))
suppressMessages(require(cowplot))
plotcoefs <-data.frame(1:length(outContextuality1)/100, outContextuality1,
outContextuality2, outContextuality3)
colnames(plotcoefs) <- c("time","coef1","coef2","coef3")
g1 <- ggplot(data = plotcoefs, aes(x=time, y=coef1, group=1)) +
labs(x = "Time (in s)", y = "Corr. Coef.", title = "Local Inspection")+
geom_line(color = "steelblue", size = 0.65) +
ylim(0,1) +
theme(text = element_text(size=10))
g2 <- ggplot(data = plotcoefs, aes(x=time, y=coef2, group=1)) +
labs(x="Time (in s)", y = "Corr. Coef.", title = "Global Inspection") +
geom_line(color = "steelblue", size = 0.65) +
ylim(0,1) +
theme(text = element_text(size=10))
g3 <- ggplot(data = plotcoefs, aes(x=time, y=coef3, group=1)) +
labs(x="Time (in s)", y = "Corr. Coef.", title = "Comparison") +
geom_line(color = "steelblue", size = 0.65) +
ylim(0,1) +
theme(text = element_text(size=10))
coefplot <- plot_grid(g1, g2, g3, label_x = 0.2, nrow = 3)
Contextuality.Index <- list(outToneCenters, outChords, outContextuality1,
outContextuality2, outContextuality3)
class(Contextuality.Index) <- "ANI"
names(Contextuality.Index) <- c("ChordsImage", "ToneCentersImage",
"LocalInspection", "GlobalInspection",
"Comparison")
return(list(Contextuality.Index, coefplot))
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.