20111129

20111121

The Vaccine Controvery

This past Friday I had the chance to meet Mark Largent, a historian of science at Michigan State University, who after writing an excellent history of American eugenics, is working on a history of the anti-vaccination movement. The anti-vaccination movement is one of the more contentious flashpoints in popular culture, with views on vaccines ranging from the deliberate poisoning of children by doctors, to anti-science nonsense that threatens to reverse a century of healthcare gains. Largent’s methodology is to look at the people involved and try to see the world as they believe it, without doing violence. The question of whether vaccines cause autism is scientifically and socially irrelevant. But it is a proxy for a wider and more important spectrum of beliefs about personal responsibility and biomedical interventions, the interface between personal liberty and public goods, and the political consequences of these beliefs.

Some numbers: Currently, 40% of American parents have delayed one or more recommend vaccines, and 11.5% have refused a state mandated vaccine. 23 states containing more than half the population allow “philosophical exemptions” to mandatory vaccination, which are trivial to obtain. The number of inoculations given to children has increased from 9 in the mid 1980s, to 26 today. As a single father, Largent understands the anti-vaccines movement on a basic level: babies hate shots, and doctors administer dozens of them from seconds after birth to two years old.

The details of “vaccines-cause-autism” are too complex to go into here, but Largent is an expert on Andrew Wakefield, the now-discredited British physician who authored the withdrawn Lancet study which suggest a link between the MMR vaccines and autism, and Jenny McCarthy, who campaigned against the mercury-containing preservative thimerosal in the US. Now, as for the scientific issue, it is settled: vaccines do not cause autism. Denmark, which keeps comprehensive health records, shows no difference in autism cases between the vaccinated, partially vaccinated, and un-vaccinated. We don’t know what causes autism, or why cases of autism are increasing, but it probably is related to more rigorous screening and older mothers, as opposed to any external cause. Certainly, the epidemiological cause-and-effect for vaccines and autism is about as a strong as the link between cellphones and radiation, namely non-existent.

But parents, looking for absolute safety and certainty for their children, aren’t convinced by scientific studies, simply because it is effectively impossible to prove a negative to their standards. A variety of pro-vaccine advocates, Seth Mnookin and Paul Offit among them, have cast this narrative as the standard science denialism story, with deluded and dangerous parents threatening to return us to the bad old days of polio. This “all-or-nothing” demonization is unhelpful, and serves merely to alienate the parents doctors are trying to reach. Rather, Largent proposed that we need to have a wider social debate on the number and purpose of vaccines, and the relationship between doctors, parents, and the teachers and daycare workers who are the first line of vaccine compliance.

Now, thinking about this in the context of my studies, this looks like a classic issue of biopolitics and competing epistemologies, and is tied directly into the consumerization of the American healthcare system. According to Foucault, modernity was marked by the rise of biopolitics. “One might say that the ancient right to take life or let live was replaced by a power to foster life or disallow it to the point of death.” While the sovereign state—literally a man in a shiny hat with a sword—killed his enemies to maintain order, the modern state tends to the population like a garden, keeping careful statistics and intervening to maintain population health.

From a bureaucratic rationalist point of view, vaccines are an ideal tool, requiring a minimal intervention, and with massive and observable effects on the rolls of births and deaths, and the frequency and severity of epidemics. Parents don’t see these facts, particularly when vaccines have been successful. What they do see is that babies hate vaccines. I’m not being flip when I say that the suffering of children is of no account to the bureaucratic perspective, the official CDC claim is that 1/3 of babies are “fretful” after receiving vaccines. This epistemology justifies an unlimited expansion of the vaccination program, since any conceivable amount of fretfulness is offset by even a single prevented death. For parents and pediatricians, who must deal with the expense, inconvenience, and suffering of each shoot, the facts appear very different. These mutually incompatible epistemologies mean that pro and anti-vaccine advocates are talking past each other.

The second side of the story is how responsibility for maintaining health has been increasingly shifted onto patients. From the women’s health movement of the 1970s, with Our Bodies, Ourselves, to the 1997 Consumer Bill of Rights and Responsibilities, to Medicare Advantage plans, ordinary people are increasingly expected to take part in healthcare decisions that were previously the sole province of doctors. The anti-vaccine movement has members from the Granola Left and the Libertarian Right, but it is overwhelming composed of upper-middle class women, precisely the people who have seen the greatest increase in medical knowledge and choice over the past few decades. Representatives of the healthcare system should not be surprised that after empowering patients to make their own decisions, they sometimes make decisions against medical advice.

So how to resolve this dilemma? The pro-vaccine advocates suggest we either force people to get vaccinated, a major intrusion of coercive power into a much more liberalized medical system, or we somehow change the epistemology of parents. Both of these approaches are unworkable. Likewise, anti-vaccine advocates should lay off vaccines-cause-autism. They may have valid complaints, but at this point, the science is in, and continuing to push that line really pisses scientists off. Advocates need to understand the standards of scientific knowledge, and what playing in a scientific arena entails.

In the vaccine controversy, as in so many others, what we need is forum that balances both scientific and non-scientific knowledge, so that anti-vaccine advocates can speak their case without mangling science in the process. I don’t know what that forum would look like, who would attend, or how it would achieve this balance, but the need for better institutional engagement between science and society is clear.


20111101

Visual analogue of a Shepard tone

A Shepard tone is an auditory illusion that appears to indefinitely ascend or descend in pitch, without actually changing pitch at all.
 
Shepard tones work because they actually contain multiple tones, separated by octaves. As tones get higher in pitch, they fade out. New tones fade in at the lower pitches. The net effect is that it sounds like all the constituent tones are continually increasing in pitch -- and they are, but pitches fade in and out so that, on average, the pitch composition is constant.

Since 2D quasicrystals can be rendered as a sum of plane-waves, it is possible to form the analogue of a Shepard tone with these visual objects. Each plane wave is replaced with a collection of plane waves, at 2,4,8,16... etc times the spatial frequency of the original plane wave.

The relative amplitudes of the plane waves are set so that the spatial frequency stays approximately the same even as the underlying waves are scaled. The result is a quasicrystal that appears to zoom in or out indefinitely, without fundamentally changing in structure.

The infinite zoom effects creates a motion-fatigue optical illusion, which will cause illusory contraction of your visual field after staring at the GIF below:
 
 

 

More quasicrystal zoom GIFs can be found here. You can run and modify the code I used to generate these animation. Copy the following code into a file called QuasiZoom.java. Then, in a terminal, type "javac QuasiZoom.java" in the same directory, and then "java QuasiZoom". Various parameters to tune the output are noted in comments in the code. Then use Gimp to make an animated GIF.

import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import static java.lang.Math.*;

public class QuasiZoom {

    // Defines a gaussian function. We will use this to define the
    // envelope of spatial frequencies
    public static double gaussian(double x) {
        return exp(-x*x/2)/sqrt(2*PI);
    }

    public static void main(String[] args) throws IOException {
        int k = 5;        //number of plane waves
        int stripes = 3;  //number of stripes per wave
        int N = 500;      //image size in pixels
        int divisions=40; //number of frames to divide the animation into
        int N2 = N/2;

        BufferedImage it = new BufferedImage(N, N, BufferedImage.TYPE_INT_RGB);

        //the range of different spatial frequencies
        int [] M=new int[]{1,2,4,8,16,32,64,128,256};
        
    //the main ( central ) spatial frequency
        double mean=log(16);

    //the spread of the spatial frequency envelope
        double sigma=1;

    //counts the frames 
        int ss=0;

    //iterate over spatial scales, scaling geometrically
        for (double sc=2.0; sc>1.0; sc/=pow(2,1./divisions)) 
        {    
            System.out.println("frame = "+ss);

            //adjust the  wavelengths for the current spatial scale
            double [] m=new double[M.length];
            for (int l=0; l<M.length; l++)
                m[l]=M[l]*sc;

            //modulate each wavelength by a gaussian envelop in log
            //frequency, centered around aforementioned mean with defined
            //standard deviation
            double sum=0;
            double [] W=new double[M.length];
            for (int l=0; l<M.length; l++) {
                W[l]=gaussian((log(m[l])-mean)/sigma);
                sum+=W[l];
            }
            sum*=k;

            for (int i = 0; i < N; i++) {
                for (int j = 0; j < N; j++) {

                    double x = j - N2, y = i - N2; //cartesian coordinates
                    double C = 0;                  // accumulator
 
                    // iterate over all k plane waves
                    for (double t = 0; t < PI; t += PI / k){
                        //compute the phase of the plane wave
                        double ph=(x*cos(t)+y*sin(t))*2*PI*stripes/N;
                        //take a weighted sum over the different spatial scales
                        for (int l=0; l<M.length; l++)
                            C += (cos(ph*m[l]))*W[l];
                    }
                    // convert the summed waves to a [0,1] interval
                    // and then convert to [0,255] greyscale color
                    C = min(1,max(0,(C*0.5+0.5)/sum));
                    int c = (int) (C * 255);
                    it.setRGB(i, j, c | (c << 8) | (c << 16));
                }
            }
            ImageIO.write(it, "png", new File("out"+(ss++)+".png"));
        }
        
    }
}