I am trying to find the lengths of different contours in the following plot:

It is a complicated piecewise function evaluated on the unit disk. I am hoping there is an easy, generalized way to numerically approximate each of the contours' lengths.
Essentially, I am looking for a way to solve for the length of a homogenous equation bound by a region. Given a function f(x,y) - f* == 0 on a region R, where f* is the value of the contour of interest, is there a way to find the length of the curve that satisfies that equation?
For concreteness, the above is the ContourPlot of
q[r_] := Piecewise[{{25/(0.1*1), r < 0.1}, {25/r, r >= 0.1}}]
phi[r_, t_] := (Pi/2) + q[r]*t
v[r_, t_] := q[r]*r*Cos[phi[r, t]]
s[x_] := Piecewise[{{x = -1, x < 0}, {x = 1, x >= 0}}]
f[x_,y_] := s[x]*v[Sqrt[x^2 + y^2],ArcTan[y/x]/q[Sqrt[x^2 + y^2]]]
How does one numerically find the lengths of each of those contours?


omega? – b.gates.you.know.what Apr 19 '14 at 07:11Cases[ContourPlot[...],Line[pts_]:>List[pts],Infinity]. UseListPlotto verify the extracted lists are your contours. It is then a simple matter to find the length of the line. – george2079 Apr 19 '14 at 13:11omegawas a typo resulting from poor copy/pasting, I've changed it to reflect the actual function. Thanks for the assistance, George! – pirtle Apr 21 '14 at 21:36