# Forum

How to calculate "p...

Clear all

# [Solved] How to calculate "ppf"

4 Posts
3 Users
0 Likes
855 Views Posts: 15
Topic starter
(@sae)
Active Member
Joined: 3 years ago

Hello dear..., all.

I have a basic question.

I can't understand how to calculate value of "ppf".

An age-dependent differential pathlength factor (DPF) was computed for each participant, I think.

I used default value of ppf "1", and it run without any problem.

Although I wonder if it's okay to keep the default.

Kind regards,

Sae

3 Replies Posts: 15
Topic starter
(@sae)
Active Member
Joined: 3 years ago

As for above question,

I have understood by checking some articles etc... .

Thank you.

Sae Posts: 285
(@dboas)
Joined: 3 years ago

Excellent. For the benefit of others, can you paste the citation here of the article you read? Thanks Posts: 11
(@cpickouol)
Eminent Member
Joined: 5 months ago

Here is a Matlab code for working out DPF (which can be entered as a substitute for PPF in Homer3, due to a lack of PVF values)

The example here is for ages 18-30 and wavelengths 780nm and 850nm but you can play around with the parameters to suit your data

```% Define the wavelength values
lambda1 = 780; % Wavelength in nm
lambda2 = 850; % Wavelength in nm

% Define the age range
ages = 18:30; % Ages from 18 to 30

% Initialize arrays to store DPF values for both wavelengths
DPF_780nm = zeros(size(ages));
DPF_850nm = zeros(size(ages));

% Parameters for the DPF calculation
a = 223.3;
b = 0.05624;
c = 0.8493;
d = -5.723E-7;
e = 0.001245;
f = -0.9025;

% Calculate DPF for each age at both wavelengths
for i = 1:length(ages)
A = ages(i);
DPF_780nm(i) = a + b * A^c + d * lambda1^3 + e * lambda1^2 + f * lambda1;
DPF_850nm(i) = a + b * A^c + d * lambda2^3 + e * lambda2^2 + f * lambda2;
end

% Display the results
disp('Age    DPF (780nm)    DPF (850nm)');
disp([ages', DPF_780nm', DPF_850nm']);
Age    DPF (780nm)    DPF (850nm)
% Define the wavelength values
lambda1 = 780; % Wavelength in nm
lambda2 = 850; % Wavelength in nm

% Define the age range
ages = 18:30; % Ages from 18 to 30

% Initialize arrays to store DPF values for both wavelengths
DPF_780nm = zeros(size(ages));
DPF_850nm = zeros(size(ages));

% Parameters for the DPF calculation
a = 223.3;
b = 0.05624;
c = 0.8493;
d = -5.723E-7;
e = 0.001245;
f = -0.9025;

% Calculate DPF for each age at both wavelengths
for i = 1:length(ages)
A = ages(i);
DPF_780nm(i) = a + b * A^c + d * lambda1^3 + e * lambda1^2 + f * lambda1;
DPF_850nm(i) = a + b * A^c + d * lambda2^3 + e * lambda2^2 + f * lambda2;
end

% Display the results
disp('Age    DPF (780nm)    DPF (850nm)');
disp([ages', DPF_780nm', DPF_850nm']);
Age    DPF (780nm)    DPF (850nm)
18.0000    5.8768    4.8786
19.0000    5.9075    4.9094
20.0000    5.9381    4.9399
21.0000    5.9683    4.9702
22.0000    5.9984    5.0003
23.0000    6.0283    5.0302
24.0000    6.0580    5.0599
25.0000    6.0875    5.0894
26.0000    6.1168    5.1187
27.0000    6.1460    5.1478
28.0000    6.1749    5.1768
29.0000    6.2038    5.2056
30.0000    6.2325    5.2343
```
Share: