>Hello to All, > >There is a simple formula for converting log data to linear, and I have >forgotten. If anyone remembers this I would appreciate a quick note. >Thanks. > >Jim Phillips >University of Miami School of Medicine >Miami, Fla. Jim Phillips, I always forget this formula, too, so I re-derive it everytime I need it. Correct me if I'm wrong, but when you say "log data" I assume you mean signals that were logarithmically amplified electronically before digitization, and is now represented on a linear (!) "channel numbers" scale. The point of the conversion is to replace the misleading channel numbers with "linear values" or "linear equivalents" that properly relate the log distribution, i.e., channel 20 is not twice as bright as channel 10, but 20 linear values is twice as bright as 10 linear values. <-0-----256-----512-----768----1024-> channel numbers <-+-------+-------+-------+-------+-> <-1------10-----100----1000---10000-> linear values The first step is to normalize the channel numbers scale. Divide your log data (in channel numbers), c, by the maximum number of channels, M: c/M. (M is usually 256 or 1024 for most cytometers.) Since c can be any integer between 0 and M, including 0 but excluding M, written [0,M), c/M is a rational number on the range [0,1). Next, multiply by the number of "decades", D, used in the logarithmic amplifier. (D is usually 3 or 4 for most cytometers.) Each "power of ten" on the log scale is another decade, for example 10^0 to 10^1 is one decade, 10^1 to 10^2 is another decade, and 10^0 to 10^4 is 4 decades. Our function is now D*(c/M), which has a range of [0,D). Last, take the antilog base 10 to end up in linear values, v: v=10^(D*c/M). Since 10^0=1, our range is now [1,10^D). Let's plug in some numbers to see how this works. I'll use M=1024 maximum channels and D=4 decades. c=0, v=10^(4*0/1024)=10^0=1 c=256, v=10^(4*256/1024)=10^1=10 c=512, v=10^(4*512/1024)=10^2=100 c=1024, v=10^(4*1024/1024)=10^4=10,000 (c is never equal to M, as in this last example, but using c=1023 gets messy.) >From the middle two conversions, we see that comparing c=256 to c=512 in linear values (v=10 and v=100, respectively) results in a 10-fold difference (100/10), whereas 512/256 incorrectly shows only a 2-fold difference. The inverse function that converts linear values to channel numbers can be readily derived from the function above, or similarly derived "from scratch" as above. It is c=(M/D)*log(v), where log() represents log base 10. In summary, v=10^(D*c/M), c=(M/D)*log(v) c=channel number, v=linear value, D=decades, M=maximum channels These converstion formulas assume that your log amplifier and ADC are both properly calibrated. Don't compare two sets of data if they were acquired with different instrument settings, like PMT voltage, compensation, or log offset; these formulas do not account for these changes. I think Abe Schwartz from Flow Cytometry Standards Corporation best explained how to derive the actual formula for how your particular system is performing using beads, but I don't have the reference handy. /\/\/\_ Eric Van Buren, aa9080@wayne.edu \ \ \ Karmanos Cancer Institute and Immunology & Microbiology \_^_/ Wayne State University, Detroit, Michigan, USA
This archive was generated by hypermail 2b29 : Wed Apr 03 2002 - 11:53:40 EST