11
by Andrew McGovern

By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

Embed Size (px)

Citation preview

Page 1: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

by Andrew McGovern

Page 2: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

Introduction

• What the model is

• What it does

• How it was implemented

• The model in action

• Results

Page 3: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

Purpose of the model

• To describe the function of the kidney mathematically.

• To enable renal function to be measure from imaging.

• A number of attempts to do this with limited success.1-3

• Tofts’ model measures: renal filtration, renal blood volume and blood flow.4,5

Page 4: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

Cpart Cp

glom Cd

A B C

Composition of the model

)()()( tgtCtC artp

glomp A:

detC

T

t artp

fwhm 0

))(( 2

)(2ln2

B and C: )exp()()( deffluxglom

pd

trans

d vtKtCv

KtC

Page 5: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

Implementing the model

Maths: Images:

)()( 1101 tCrRtR

cos1

sin)1()(

)(

)(

01

1

TRtR

TRtR

e

eStS

sin)(

sincos)(ln

1)(

0

01 StS

StS

TRtR

)()1()( arg tCHcttC artp

elartb

dgtCtgtCtCt art

partp

glomp

0)()()()()( 1)(

0

dttg

)()()1()( tCvtCHctvtC ddglomp

smallbt

)()()(

21 tCKtCKFFdt

tdCv d

effluxglomp

transdd

)exp()()( deffluxglom

pd

trans

d vtKtCv

KtC

Page 6: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

Implementing the modelboolean step5() {

double t = Global.flipangle * Math.PI/180;double r1;float ct[] = new float[Global.size];Global.modsigEV = new float[Global.size];Global.modsigIV = new float[Global.size];Global.modkidneysig = new float[Global.size];float s0 = (float)(Global.precontrenalsig*(1.000-Math.cos(t)*Math.exp(-0.001*Global.trms/Global.t10kidney))/((1.000-Math.exp(-0.001*Global.trms/Global.t10kidney))*Math.sin(t)));int i;for (i = 0; i < Global.size; i++) {

ct[i] = (float)(Global.vb*(1.00 - 0.01*Global.hctsmall)*Global.cpren[i]);r1 = 1/Global.t10kidney + Global.r1kidney*Global.vdcd[i];Global.modsigEV[i] = (float)(s0*(1.00-Math.exp(-0.001*Global.trms*r1))*Math.sin(t)/(1-Math.exp(-0.001*Global.trms*r1)*Math.cos(t)));r1 = 1/Global.t10kidney + Global.r1kidney*ct[i];Global.modsigIV[i] = (float)(s0*(1.00-Math.exp(-0.001*Global.trms*r1))*Math.sin(t)/(1-Math.exp(-0.001*Global.trms*r1)*Math.cos(t)));ct[i] += Global.vdcd[i];r1 = 1/Global.t10kidney + Global.r1kidney*ct[i];Global.modkidneysig[i] = (float)(s0*(1.00-Math.exp(-0.001*Global.trms*r1))*Math.sin(t)/(1-Math.exp(-0.001*Global.trms*r1)*Math.cos(t)));

}return true;

}/** Model input selection function */boolean getToftsInputs() {

boolean error;String GIRFoptions[] = {"Gaussian", "Delayed exponential"};String effluxoptions[] = {"Off", "On"};String input, effout = effluxoptions[0], girfout = " ";if(Global.effluxoptions) effout = effluxoptions[1];switch(Global.girfoption) {

case(1):girfout = GIRFoptions[0];break;

case(2):girfout = GIRFoptions[1];break;

}/** Creates an input dialog box */do {

GenericDialog d = new GenericDialog("Tofts' Model: Input box", IJ.getInstance());d.addNumericField("End fit time (seconds after bolus arrives): ", Global.endfittime, 0, 6, "s");d.addChoice("Inpulse response function", GIRFoptions, girfout);d.addChoice("Efflux: ", effluxoptions, effout);

Page 7: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

Results

Page 8: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

Results

Filtration rate Blood volume

Page 9: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

The future

• A few mathematical discrepancies to fix

• Publish the program on the internet

• Test the model with diseased kidneys

• Use as a research tool

• Use in clinical practice

Page 10: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results

References

1. David LB, Ala'a ES, Ching MC, Andrew PJ, Hari M, Philip AK. Measurement of single kidney function using dynamic contrast-enhanced MRI: Comparison of two models in human subjects. J Magn Reson Imaging. 2006;24(5):1117-23.

2. Miles KA, Leggett DA, Bennett GA. CT derived Patlak images of the human kidney. Br J Radiol. 1999 Feb;72(854):153-8.

3. Daghini E, Juillard L, Haas JA, Krier JD, Romero JC, Lerman LO. Comparison of mathematic models for assessment of glomerular filtration rate with electron-beam CT in pigs. Radiology. 2007 Feb;242(2):417-24.

4. Tofts PS, Cutajar M, Mendichovszky IA, Peters AM, Miles KA, Buckley DL, et al. Estimation of renal filtration and vascular parameters using a simple three-compartment model for dynamic contrast-enhanced MRI of the kidney. Unpublished Work: Brighton and Sussex Medical School 2010.

5. Tofts PS, Cutajar M, Mendichovszky IA, Gordon I. Accurate and precise measurement of renal filtration and vascular parameters using DCE-MRI and a 3-compartment model. International Society for Magnetic Resonance in Medicine Conference. Stockholm 2010.

Page 11: By Andrew McGovern. Introduction What the model is What it does How it was implemented The model in action Results