Histogram equalization - Contrast (gray value) distribution using transforming function












0












$begingroup$


I am looking for some guidance and explanation to be able to solve this exercise.



I understand that I have to come up with a function T(x) such that h(x) becomes H(x) and then with a U(x) which transforms back H(x) to h(x), but I am not sure on how to tackle this problem.



Exercise










share|cite|improve this question









$endgroup$












  • $begingroup$
    Can you elaborate, especially on T, h, H, U etc. ? At the moment it's hard to help.
    $endgroup$
    – Imago
    Dec 3 '18 at 21:25






  • 2




    $begingroup$
    @Imago Please check the image added under Exercise hyperlink.
    $endgroup$
    – Tristan
    Dec 3 '18 at 21:27












  • $begingroup$
    Still Looking for an answer.
    $endgroup$
    – Tristan
    Dec 3 '18 at 23:01
















0












$begingroup$


I am looking for some guidance and explanation to be able to solve this exercise.



I understand that I have to come up with a function T(x) such that h(x) becomes H(x) and then with a U(x) which transforms back H(x) to h(x), but I am not sure on how to tackle this problem.



Exercise










share|cite|improve this question









$endgroup$












  • $begingroup$
    Can you elaborate, especially on T, h, H, U etc. ? At the moment it's hard to help.
    $endgroup$
    – Imago
    Dec 3 '18 at 21:25






  • 2




    $begingroup$
    @Imago Please check the image added under Exercise hyperlink.
    $endgroup$
    – Tristan
    Dec 3 '18 at 21:27












  • $begingroup$
    Still Looking for an answer.
    $endgroup$
    – Tristan
    Dec 3 '18 at 23:01














0












0








0





$begingroup$


I am looking for some guidance and explanation to be able to solve this exercise.



I understand that I have to come up with a function T(x) such that h(x) becomes H(x) and then with a U(x) which transforms back H(x) to h(x), but I am not sure on how to tackle this problem.



Exercise










share|cite|improve this question









$endgroup$




I am looking for some guidance and explanation to be able to solve this exercise.



I understand that I have to come up with a function T(x) such that h(x) becomes H(x) and then with a U(x) which transforms back H(x) to h(x), but I am not sure on how to tackle this problem.



Exercise







calculus image-processing






share|cite|improve this question













share|cite|improve this question











share|cite|improve this question




share|cite|improve this question










asked Dec 3 '18 at 21:22









TristanTristan

1




1












  • $begingroup$
    Can you elaborate, especially on T, h, H, U etc. ? At the moment it's hard to help.
    $endgroup$
    – Imago
    Dec 3 '18 at 21:25






  • 2




    $begingroup$
    @Imago Please check the image added under Exercise hyperlink.
    $endgroup$
    – Tristan
    Dec 3 '18 at 21:27












  • $begingroup$
    Still Looking for an answer.
    $endgroup$
    – Tristan
    Dec 3 '18 at 23:01


















  • $begingroup$
    Can you elaborate, especially on T, h, H, U etc. ? At the moment it's hard to help.
    $endgroup$
    – Imago
    Dec 3 '18 at 21:25






  • 2




    $begingroup$
    @Imago Please check the image added under Exercise hyperlink.
    $endgroup$
    – Tristan
    Dec 3 '18 at 21:27












  • $begingroup$
    Still Looking for an answer.
    $endgroup$
    – Tristan
    Dec 3 '18 at 23:01
















$begingroup$
Can you elaborate, especially on T, h, H, U etc. ? At the moment it's hard to help.
$endgroup$
– Imago
Dec 3 '18 at 21:25




$begingroup$
Can you elaborate, especially on T, h, H, U etc. ? At the moment it's hard to help.
$endgroup$
– Imago
Dec 3 '18 at 21:25




2




2




$begingroup$
@Imago Please check the image added under Exercise hyperlink.
$endgroup$
– Tristan
Dec 3 '18 at 21:27






$begingroup$
@Imago Please check the image added under Exercise hyperlink.
$endgroup$
– Tristan
Dec 3 '18 at 21:27














$begingroup$
Still Looking for an answer.
$endgroup$
– Tristan
Dec 3 '18 at 23:01




$begingroup$
Still Looking for an answer.
$endgroup$
– Tristan
Dec 3 '18 at 23:01










1 Answer
1






active

oldest

votes


















0












$begingroup$

I think this is more probability theory question. The trick is, if $x sim F(x) $ ($F(x)$ is the cumulative distribution function or CDF in abbreviation form) then the transformation $ u = F(x)$ produces the uniform random variable $u$ with uniform distribution on interval $[0,1]$. you can see link below for proof:



Show Y has a uniform distribution if Y=F(X) where F(x)=P[X $le$ x] is continuous in x.



Also to construct an arbitrary distribution $x sim F(x)$ from a uniform random variable $u sim U([0,1])$, it's enough to form the random variable $x = F^{-1}(u)$ (again $F(x)$ is the CDF of $x$). This one is the result of previous one if you change u with x. Therefore hre you need to apply the transformations to get the desired function:



So we have $h(x) = 6x^5 Rightarrow F_x(x) = x^6 , xin [0,1]$.



Then $y = x^6$ has the uniform distribution according to above lemmas.



To get a random variable with distribution $H(X) = 1.8X+0.1 Rightarrow F_X(X) = 0.9X^2 + 0.1X$ you need to calculate the inverse of $F(X)$ which is $frac{-0.1+sqrt{0.81+4X}}{1.8}$ and then introduce the random variable $z = frac{-0.1+sqrt{0.81+4X}}{1.8}$ on the uniform random variable obtained from previous step. combining these two gives the transformation $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$.



Therefore if $x$ is distributed as $6x^5$, then $t$, defined as $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$ is distributed as $1.8t+0.1$.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    Thanks for the response @K.K.McDonald, I have found your answer quite confusing though. I am looking for two functions. T(x) = ? which will transform h(x) to become H(x) and U(x) = ? which will transform H(x) to become h(x)
    $endgroup$
    – Tristan
    Dec 3 '18 at 22:58












  • $begingroup$
    To achieve $H(x)$ from $h(x)$, first you apply a transform that gets you from $h(x)$ to a uniform distribution $u(x)$. then you apply the second transform $z$ to get to $H(x)$. The uniform transformation is indeed an interface between these two. for further explanationsyou can see the srochastic process book by Papoulis: amazon.com/Probability-Random-Variables-Stochastic-Processes/dp/…. page 140, equation 5-43 and three other equations before this equation.
    $endgroup$
    – K.K.McDonald
    Dec 4 '18 at 11:01












  • $begingroup$
    Thank you for the reply. @K.K.McDonald So what could T(x) and U(x) be in this specific exercise? To be able to validate your thought process I will try to check if those answers are correct and let you know. In this online exercise I have to input those two functions, then we can see if what you said is correct.
    $endgroup$
    – Tristan
    Dec 4 '18 at 15:59










  • $begingroup$
    okay, wish you success. if that worked right, don't forget to accept my question, you know, reputation thingee. although I've already ran it in MATLAB before and checked it.
    $endgroup$
    – K.K.McDonald
    Dec 7 '18 at 14:31











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3024695%2fhistogram-equalization-contrast-gray-value-distribution-using-transforming-f%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0












$begingroup$

I think this is more probability theory question. The trick is, if $x sim F(x) $ ($F(x)$ is the cumulative distribution function or CDF in abbreviation form) then the transformation $ u = F(x)$ produces the uniform random variable $u$ with uniform distribution on interval $[0,1]$. you can see link below for proof:



Show Y has a uniform distribution if Y=F(X) where F(x)=P[X $le$ x] is continuous in x.



Also to construct an arbitrary distribution $x sim F(x)$ from a uniform random variable $u sim U([0,1])$, it's enough to form the random variable $x = F^{-1}(u)$ (again $F(x)$ is the CDF of $x$). This one is the result of previous one if you change u with x. Therefore hre you need to apply the transformations to get the desired function:



So we have $h(x) = 6x^5 Rightarrow F_x(x) = x^6 , xin [0,1]$.



Then $y = x^6$ has the uniform distribution according to above lemmas.



To get a random variable with distribution $H(X) = 1.8X+0.1 Rightarrow F_X(X) = 0.9X^2 + 0.1X$ you need to calculate the inverse of $F(X)$ which is $frac{-0.1+sqrt{0.81+4X}}{1.8}$ and then introduce the random variable $z = frac{-0.1+sqrt{0.81+4X}}{1.8}$ on the uniform random variable obtained from previous step. combining these two gives the transformation $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$.



Therefore if $x$ is distributed as $6x^5$, then $t$, defined as $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$ is distributed as $1.8t+0.1$.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    Thanks for the response @K.K.McDonald, I have found your answer quite confusing though. I am looking for two functions. T(x) = ? which will transform h(x) to become H(x) and U(x) = ? which will transform H(x) to become h(x)
    $endgroup$
    – Tristan
    Dec 3 '18 at 22:58












  • $begingroup$
    To achieve $H(x)$ from $h(x)$, first you apply a transform that gets you from $h(x)$ to a uniform distribution $u(x)$. then you apply the second transform $z$ to get to $H(x)$. The uniform transformation is indeed an interface between these two. for further explanationsyou can see the srochastic process book by Papoulis: amazon.com/Probability-Random-Variables-Stochastic-Processes/dp/…. page 140, equation 5-43 and three other equations before this equation.
    $endgroup$
    – K.K.McDonald
    Dec 4 '18 at 11:01












  • $begingroup$
    Thank you for the reply. @K.K.McDonald So what could T(x) and U(x) be in this specific exercise? To be able to validate your thought process I will try to check if those answers are correct and let you know. In this online exercise I have to input those two functions, then we can see if what you said is correct.
    $endgroup$
    – Tristan
    Dec 4 '18 at 15:59










  • $begingroup$
    okay, wish you success. if that worked right, don't forget to accept my question, you know, reputation thingee. although I've already ran it in MATLAB before and checked it.
    $endgroup$
    – K.K.McDonald
    Dec 7 '18 at 14:31
















0












$begingroup$

I think this is more probability theory question. The trick is, if $x sim F(x) $ ($F(x)$ is the cumulative distribution function or CDF in abbreviation form) then the transformation $ u = F(x)$ produces the uniform random variable $u$ with uniform distribution on interval $[0,1]$. you can see link below for proof:



Show Y has a uniform distribution if Y=F(X) where F(x)=P[X $le$ x] is continuous in x.



Also to construct an arbitrary distribution $x sim F(x)$ from a uniform random variable $u sim U([0,1])$, it's enough to form the random variable $x = F^{-1}(u)$ (again $F(x)$ is the CDF of $x$). This one is the result of previous one if you change u with x. Therefore hre you need to apply the transformations to get the desired function:



So we have $h(x) = 6x^5 Rightarrow F_x(x) = x^6 , xin [0,1]$.



Then $y = x^6$ has the uniform distribution according to above lemmas.



To get a random variable with distribution $H(X) = 1.8X+0.1 Rightarrow F_X(X) = 0.9X^2 + 0.1X$ you need to calculate the inverse of $F(X)$ which is $frac{-0.1+sqrt{0.81+4X}}{1.8}$ and then introduce the random variable $z = frac{-0.1+sqrt{0.81+4X}}{1.8}$ on the uniform random variable obtained from previous step. combining these two gives the transformation $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$.



Therefore if $x$ is distributed as $6x^5$, then $t$, defined as $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$ is distributed as $1.8t+0.1$.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    Thanks for the response @K.K.McDonald, I have found your answer quite confusing though. I am looking for two functions. T(x) = ? which will transform h(x) to become H(x) and U(x) = ? which will transform H(x) to become h(x)
    $endgroup$
    – Tristan
    Dec 3 '18 at 22:58












  • $begingroup$
    To achieve $H(x)$ from $h(x)$, first you apply a transform that gets you from $h(x)$ to a uniform distribution $u(x)$. then you apply the second transform $z$ to get to $H(x)$. The uniform transformation is indeed an interface between these two. for further explanationsyou can see the srochastic process book by Papoulis: amazon.com/Probability-Random-Variables-Stochastic-Processes/dp/…. page 140, equation 5-43 and three other equations before this equation.
    $endgroup$
    – K.K.McDonald
    Dec 4 '18 at 11:01












  • $begingroup$
    Thank you for the reply. @K.K.McDonald So what could T(x) and U(x) be in this specific exercise? To be able to validate your thought process I will try to check if those answers are correct and let you know. In this online exercise I have to input those two functions, then we can see if what you said is correct.
    $endgroup$
    – Tristan
    Dec 4 '18 at 15:59










  • $begingroup$
    okay, wish you success. if that worked right, don't forget to accept my question, you know, reputation thingee. although I've already ran it in MATLAB before and checked it.
    $endgroup$
    – K.K.McDonald
    Dec 7 '18 at 14:31














0












0








0





$begingroup$

I think this is more probability theory question. The trick is, if $x sim F(x) $ ($F(x)$ is the cumulative distribution function or CDF in abbreviation form) then the transformation $ u = F(x)$ produces the uniform random variable $u$ with uniform distribution on interval $[0,1]$. you can see link below for proof:



Show Y has a uniform distribution if Y=F(X) where F(x)=P[X $le$ x] is continuous in x.



Also to construct an arbitrary distribution $x sim F(x)$ from a uniform random variable $u sim U([0,1])$, it's enough to form the random variable $x = F^{-1}(u)$ (again $F(x)$ is the CDF of $x$). This one is the result of previous one if you change u with x. Therefore hre you need to apply the transformations to get the desired function:



So we have $h(x) = 6x^5 Rightarrow F_x(x) = x^6 , xin [0,1]$.



Then $y = x^6$ has the uniform distribution according to above lemmas.



To get a random variable with distribution $H(X) = 1.8X+0.1 Rightarrow F_X(X) = 0.9X^2 + 0.1X$ you need to calculate the inverse of $F(X)$ which is $frac{-0.1+sqrt{0.81+4X}}{1.8}$ and then introduce the random variable $z = frac{-0.1+sqrt{0.81+4X}}{1.8}$ on the uniform random variable obtained from previous step. combining these two gives the transformation $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$.



Therefore if $x$ is distributed as $6x^5$, then $t$, defined as $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$ is distributed as $1.8t+0.1$.






share|cite|improve this answer









$endgroup$



I think this is more probability theory question. The trick is, if $x sim F(x) $ ($F(x)$ is the cumulative distribution function or CDF in abbreviation form) then the transformation $ u = F(x)$ produces the uniform random variable $u$ with uniform distribution on interval $[0,1]$. you can see link below for proof:



Show Y has a uniform distribution if Y=F(X) where F(x)=P[X $le$ x] is continuous in x.



Also to construct an arbitrary distribution $x sim F(x)$ from a uniform random variable $u sim U([0,1])$, it's enough to form the random variable $x = F^{-1}(u)$ (again $F(x)$ is the CDF of $x$). This one is the result of previous one if you change u with x. Therefore hre you need to apply the transformations to get the desired function:



So we have $h(x) = 6x^5 Rightarrow F_x(x) = x^6 , xin [0,1]$.



Then $y = x^6$ has the uniform distribution according to above lemmas.



To get a random variable with distribution $H(X) = 1.8X+0.1 Rightarrow F_X(X) = 0.9X^2 + 0.1X$ you need to calculate the inverse of $F(X)$ which is $frac{-0.1+sqrt{0.81+4X}}{1.8}$ and then introduce the random variable $z = frac{-0.1+sqrt{0.81+4X}}{1.8}$ on the uniform random variable obtained from previous step. combining these two gives the transformation $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$.



Therefore if $x$ is distributed as $6x^5$, then $t$, defined as $t = frac{-0.1+sqrt{0.81+4x^6}}{1.8}$ is distributed as $1.8t+0.1$.







share|cite|improve this answer












share|cite|improve this answer



share|cite|improve this answer










answered Dec 3 '18 at 22:06









K.K.McDonaldK.K.McDonald

954618




954618












  • $begingroup$
    Thanks for the response @K.K.McDonald, I have found your answer quite confusing though. I am looking for two functions. T(x) = ? which will transform h(x) to become H(x) and U(x) = ? which will transform H(x) to become h(x)
    $endgroup$
    – Tristan
    Dec 3 '18 at 22:58












  • $begingroup$
    To achieve $H(x)$ from $h(x)$, first you apply a transform that gets you from $h(x)$ to a uniform distribution $u(x)$. then you apply the second transform $z$ to get to $H(x)$. The uniform transformation is indeed an interface between these two. for further explanationsyou can see the srochastic process book by Papoulis: amazon.com/Probability-Random-Variables-Stochastic-Processes/dp/…. page 140, equation 5-43 and three other equations before this equation.
    $endgroup$
    – K.K.McDonald
    Dec 4 '18 at 11:01












  • $begingroup$
    Thank you for the reply. @K.K.McDonald So what could T(x) and U(x) be in this specific exercise? To be able to validate your thought process I will try to check if those answers are correct and let you know. In this online exercise I have to input those two functions, then we can see if what you said is correct.
    $endgroup$
    – Tristan
    Dec 4 '18 at 15:59










  • $begingroup$
    okay, wish you success. if that worked right, don't forget to accept my question, you know, reputation thingee. although I've already ran it in MATLAB before and checked it.
    $endgroup$
    – K.K.McDonald
    Dec 7 '18 at 14:31


















  • $begingroup$
    Thanks for the response @K.K.McDonald, I have found your answer quite confusing though. I am looking for two functions. T(x) = ? which will transform h(x) to become H(x) and U(x) = ? which will transform H(x) to become h(x)
    $endgroup$
    – Tristan
    Dec 3 '18 at 22:58












  • $begingroup$
    To achieve $H(x)$ from $h(x)$, first you apply a transform that gets you from $h(x)$ to a uniform distribution $u(x)$. then you apply the second transform $z$ to get to $H(x)$. The uniform transformation is indeed an interface between these two. for further explanationsyou can see the srochastic process book by Papoulis: amazon.com/Probability-Random-Variables-Stochastic-Processes/dp/…. page 140, equation 5-43 and three other equations before this equation.
    $endgroup$
    – K.K.McDonald
    Dec 4 '18 at 11:01












  • $begingroup$
    Thank you for the reply. @K.K.McDonald So what could T(x) and U(x) be in this specific exercise? To be able to validate your thought process I will try to check if those answers are correct and let you know. In this online exercise I have to input those two functions, then we can see if what you said is correct.
    $endgroup$
    – Tristan
    Dec 4 '18 at 15:59










  • $begingroup$
    okay, wish you success. if that worked right, don't forget to accept my question, you know, reputation thingee. although I've already ran it in MATLAB before and checked it.
    $endgroup$
    – K.K.McDonald
    Dec 7 '18 at 14:31
















$begingroup$
Thanks for the response @K.K.McDonald, I have found your answer quite confusing though. I am looking for two functions. T(x) = ? which will transform h(x) to become H(x) and U(x) = ? which will transform H(x) to become h(x)
$endgroup$
– Tristan
Dec 3 '18 at 22:58






$begingroup$
Thanks for the response @K.K.McDonald, I have found your answer quite confusing though. I am looking for two functions. T(x) = ? which will transform h(x) to become H(x) and U(x) = ? which will transform H(x) to become h(x)
$endgroup$
– Tristan
Dec 3 '18 at 22:58














$begingroup$
To achieve $H(x)$ from $h(x)$, first you apply a transform that gets you from $h(x)$ to a uniform distribution $u(x)$. then you apply the second transform $z$ to get to $H(x)$. The uniform transformation is indeed an interface between these two. for further explanationsyou can see the srochastic process book by Papoulis: amazon.com/Probability-Random-Variables-Stochastic-Processes/dp/…. page 140, equation 5-43 and three other equations before this equation.
$endgroup$
– K.K.McDonald
Dec 4 '18 at 11:01






$begingroup$
To achieve $H(x)$ from $h(x)$, first you apply a transform that gets you from $h(x)$ to a uniform distribution $u(x)$. then you apply the second transform $z$ to get to $H(x)$. The uniform transformation is indeed an interface between these two. for further explanationsyou can see the srochastic process book by Papoulis: amazon.com/Probability-Random-Variables-Stochastic-Processes/dp/…. page 140, equation 5-43 and three other equations before this equation.
$endgroup$
– K.K.McDonald
Dec 4 '18 at 11:01














$begingroup$
Thank you for the reply. @K.K.McDonald So what could T(x) and U(x) be in this specific exercise? To be able to validate your thought process I will try to check if those answers are correct and let you know. In this online exercise I have to input those two functions, then we can see if what you said is correct.
$endgroup$
– Tristan
Dec 4 '18 at 15:59




$begingroup$
Thank you for the reply. @K.K.McDonald So what could T(x) and U(x) be in this specific exercise? To be able to validate your thought process I will try to check if those answers are correct and let you know. In this online exercise I have to input those two functions, then we can see if what you said is correct.
$endgroup$
– Tristan
Dec 4 '18 at 15:59












$begingroup$
okay, wish you success. if that worked right, don't forget to accept my question, you know, reputation thingee. although I've already ran it in MATLAB before and checked it.
$endgroup$
– K.K.McDonald
Dec 7 '18 at 14:31




$begingroup$
okay, wish you success. if that worked right, don't forget to accept my question, you know, reputation thingee. although I've already ran it in MATLAB before and checked it.
$endgroup$
– K.K.McDonald
Dec 7 '18 at 14:31


















draft saved

draft discarded




















































Thanks for contributing an answer to Mathematics Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3024695%2fhistogram-equalization-contrast-gray-value-distribution-using-transforming-f%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

ComboBox Display Member on multiple fields

Is it possible to collect Nectar points via Trainline?