A computer-implemented method of correcting for temperature step changes in a data set for a Polymerase Chain Reaction (PCR) growth curve having a baseline portion and a growth portion, the method comprising: - receiving a data set for a PCR growth curve, wherein said data set includes a plurality of data points for a kinetic Polymerase Chain Reaction (PCR) process, each data point having a pair of coordinate values (x,y), wherein x represents the cycle number and y represents an accumulation of amplified polynucleotide; - calculating a linear approximation to a first portion of the curve, said first portion including data points in the data set including cycle numbers less than or equal to a cycle number (CAC) at which an annealing temperature change occurs in the PCR process; - estimating a first y value for a first x value using the linear approximation of the first portion of the curve; - calculating an approximation to a second portion of the curve by fitting a double sigmoid function of the form a + bx + c 1 + exp − d x − e 1 + exp − f x − g by applying a Levenberg-Marquardt (LM) regression process to iteratively determine the parameters a, b, c, d, e, f and g of the function to a second portion of the data set, said second portion of the data set including data points having cycle numbers greater than the CAC; - estimating a second y value for the first x value using the approximation calculated for the second portion of the curve; - determining a difference between the first and second y values; and - subtracting off the difference from each y value for the data points corresponding to the first portion of the curve to produce a modified data set, wherein the first x value either is x = CAC or x = CAC+1. - receiving a data set for a PCR growth curve, wherein said data set includes a plurality of data points for a kinetic Polymerase Chain Reaction (PCR) process, each data point having a pair of coordinate values (x,y), wherein x represents the cycle number and y represents an accumulation of amplified polynucleotide; - calculating a linear approximation to a first portion of the curve, said first portion including data points in the data set including cycle numbers less than or equal to a cycle number (CAC) at which an annealing temperature change occurs in the PCR process; - estimating a first y value for a first x value using the linear approximation of the first portion of the curve; - calculating an approximation to a second portion of the curve by fitting a double sigmoid function of the form a + bx + c 1 + exp − d x − e 1 + exp − f x − g by applying a Levenberg-Marquardt (LM) regression process to iteratively determine the parameters a, b, c, d, e, f and g of the function to a second portion of the data set, said second portion of the data set including data points having cycle numbers greater than the CAC; - estimating a second y value for the first x value using the approximation calculated for the second portion of the curve; - determining a difference between the first and second y values; and - subtracting off the difference from each y value for the data points corresponding to the first portion of the curve to produce a modified data set, <EOS>