LagLaplDeconv: function LagLaplDeconv

Description Usage Arguments Details Value Author(s) References Examples

Description

Main function of this package : computes the Laplace deconvolution with noisy discrete non-equally spaced observations on a finite time interval (see reference).

Usage

1
2
LagLaplDeconv(Y, g, times = 1:length(Y), sigma, cpen = 2, atab = -1,
  Mmax = 25, ncores.max = Inf, verbose = FALSE, withplot = FALSE)

Arguments

Y

numeric vector, the observed noisy observations of the Laplace convolution

g

numeric vector, the known kernel of the Laplace convolution

times

numeric vector, the observation times (default 1:length(Y))

sigma

numeric, the noise level

cpen

numeric, the penalization constant (default 2)

atab

numeric vector, an array of value for a (default -1, see Details)

Mmax

integer, the maximum degree (default 25)

ncores.max

numeric, number of used cores (default Inf)

verbose

boolean to control information output (default FALSE)

withplot

boolean to control plot output (default FALSE)

Details

atab defines the values of the scale parameter used to build the Laguerre functions basis. If atab is of length 1 and negative then atab<-seq(0.4,3,by=0.05/abs(atab))/sqrt(Tmax/10) where Tmax=max(times).

Value

a list containing:

Author(s)

Y. Rozenholc and M. Pensky

References

Laplace deconvolution on the basis of time domain data and its application to Dynamic Contrast Enhanced imaging by F. Comte, C-A. Cuenod, M. Pensky, Y. Rozenholc (ArXiv http://arxiv.org/abs/1405.7107)

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
## Not run: 
 #### AN ARTICIAL EXAMPLE ####

 library(LaplaceDeconv)
 par(mfrow=c(1,1))
 set.seed(29102015)

 sigma=0.02
 a = 1
 t = seq(0,5,l=100)
 g = 20*t^2*exp(-5*t)
 f.coef = c(0.4,0.02,0.01)

 # compute the Laplace convolution from g, kernel computed at times t, and the function
 # described by its decomposition in Laguerre function basis with scale a :
 fg = LaguerreLaplaceConvolution(t,g,f.coef,a)

 # the noisy observations :
 Y = fg+sigma*rnorm(length(fg))

 # estimation of f from the observation and the kernel :
 L = LagLaplDeconv(Y,g,t,sigma)
 matplot(t,cbind(g,MakeLaguerreMatrix(a,3)(t)%*%f.coef,fg,L$q.hat,L$f.hat,Y),lty=1,
   type=c('b',rep('l',4),'p'),ylab='',pch='x')

 # display results of estimation
 legend('topright',lty=c(rep(1,5),0),pch=c('x',rep('',4),'x'),
   legend=c(
     'g: partially observed kernel',
     'f: unknown',
     'q=fxg: unknown convolution',
     expression(hat(q)*': plug-in convolution'),
     expression(hat(f)*': estimation of f'),
     'Y: observations'),
   col=1:6)
 
## End(Not run)

 ## Not run: 
 #### A REAL EXAMPLE USING DCE-MRI DATA FROM A TUMOR ####

 library(LaplaceDeconv)
 par(mfrow=c(1,2))

 # load data from patient before the treatment
 data(EX_DCEMRI_t0)

 # display AIF and tumoral enhancements
 matplot(ex_dcemri$times,
   cbind(ex_dcemri$AIF,ex_dcemri$TUM_1,ex_dcemri$TUM_2,ex_dcemri$TUM_3),
   ylab='',lty=1,type=c('b',rep('p',3)),pch='+',main='Observations')
 legend('topright',pch='+',legend=c('AIF','TUM_1','TUM_2','TUM_3'),col=1:4)

 # estimation of the contrast agent survival functions
 L1 = LagLaplDeconv(ex_dcemri$TUM_1,ex_dcemri$AIF,ex_dcemri$times,ex_dcemri$sigma)
 L2 = LagLaplDeconv(ex_dcemri$TUM_2,ex_dcemri$AIF,ex_dcemri$times,ex_dcemri$sigma)
 L3 = LagLaplDeconv(ex_dcemri$TUM_3,ex_dcemri$AIF,ex_dcemri$times,ex_dcemri$sigma)

 matlines(ex_dcemri$times,cbind(L1$q.hat,L2$q.hat,L3$q.hat),type='l',lty=1,col=2:4)

 # display results of estimation
 matplot(ex_dcemri$times,cbind(L1$f.hat,L2$f.hat,L3$f.hat),type='l',lty=1,col=2:4,
   ylab='survival',main='Contrast agent survival fcts')
 legend('topright',lty=1,col=2:4,
   legend=c(
     paste0('TUM_1 - a.hat=',round(L1$a.hat,digits=2)),
     paste0('TUM_2 - a.hat=',round(L2$a.hat,digits=2)),
     paste0('TUM_3 - a.hat=',round(L3$a.hat,digits=2))
     )
   )
 
## End(Not run)

LaplaceDeconv documentation built on May 2, 2019, 11:12 a.m.