A computer-implemented method of determining a cycle threshold (Ct) value for a real-time Polymerase Chain Reaction data curve, the method comprising the steps, implemented in a computer system, of: - receiving a data set representing a PCR growth curve, the data set having a plurality of coordinate values (x,y), wherein x is a cycle number and y is an indicator of accumulated growth; - approximating the data set using a two segment piecewise linear function having a first linear segment ending at x* and a second linear segment beginning at x*, wherein the two segment piecewise linear function has the form: f x = { ax + b, x ≤ x ∗ c x − x ∗ + ax ∗ + b, x > x ∗, where a, b, and c are parameters of the approximation; - determining whether the PCR growth curve has a parabolic shape by determining: a) whether an R 2 value of a quadratic fit to the data points beginning with x* to the end of the data set is above a predetermined threshold value of 0.90; and b) whether an R2 value of the two segment piecewise fit over substantially all the data set is above a threshold value of 0.85; and c) whether the slope of the second segment is greater than the slope of the first segment if both slopes are greater than zero; and if conditions a), b) and c) are satisfied: - estimating the Ct value of the data set by applying an equation of the form: C T = x ∗ + mean i = 1... x ∗ y i − ax i − b c − a, where c is the slope of the second linear segment and b is the y intercept of the first linear segment; and - outputting the Ct value for display or further processing. - receiving a data set representing a PCR growth curve, the data set having a plurality of coordinate values (x,y), wherein x is a cycle number and y is an indicator of accumulated growth; - approximating the data set using a two segment piecewise linear function having a first linear segment ending at x* and a second linear segment beginning at x*, wherein the two segment piecewise linear function has the form: f x = { ax + b, x ≤ x ∗ c x − x ∗ + ax ∗ + b, x > x ∗, where a, b, and c are parameters of the approximation; - determining whether the PCR growth curve has a parabolic shape by determining: a) whether an R 2 value of a quadratic fit to the data points beginning with x* to the end of the data set is above a predetermined threshold value of 0.90; and b) whether an R2 value of the two segment piecewise fit over substantially all the data set is above a threshold value of 0.85; and c) whether the slope of the second segment is greater than the slope of the first segment if both slopes are greater than zero; and if conditions a), b) and c) are satisfied: - estimating the Ct value of the data set by applying an equation of the form: C T = x ∗ + mean i = 1... x ∗ y i − ax i − b c − a, where c is the slope of the second linear segment and b is the y intercept of the first linear segment; and - outputting the Ct value for display or further processing. a) whether an R 2 value of a quadratic fit to the data points beginning with x* to the end of the data set is above a predetermined threshold value of 0.90; and b) whether an R2 value of the two segment piecewise fit over substantially all the data set is above a threshold value of 0.85; and c) whether the slope of the second segment is greater than the slope of the first segment if both slopes are greater than zero; and if conditions a), b) and c) are satisfied: - estimating the Ct value of the data set by applying an equation of the form: C T = x ∗ + mean i = 1... x ∗ y i − ax i − b c − a, where c is the slope of the second linear segment and b is the y intercept of the first linear segment; and - outputting the Ct value for display or further processing. - estimating the Ct value of the data set by applying an equation of the form: C T = x ∗ + mean i = 1... x ∗ y i − ax i − b c − a, where c is the slope of the second linear segment and b is the y intercept of the first linear segment; and - outputting the Ct value for display or further processing.