// Macros for Inbar to measure radial plot profiles // Michael Cammer, May 2014 var plot1Name = "protein1"; // Alexa 488 var plot2Name = "protein2"; // OKT3 647 // The following correspond to the channel number in the hyperstack var plot1 = 1; // channel 1 var plot2 = 2 // channel 4 var maxPlotLength = 96; // a number bigger than the largest possible cell size var singleProfile = newArray(maxPlotLength); var plot1output = newArray(maxPlotLength); var plot2output = newArray(maxPlotLength); var tab = "\t"; var meanCell = -1; // used by macro "multichannel Integrated intensity through time" //================================================================ // Radial profile plot. macro "Radial Profile Plot multiple cells from overlays [q]" { requires("1.49a"); // only run if the correct version of ImageJ is running openImages = nImages(); getVoxelSize(width, height, depth, unit); // initialize the arrays as strings for (i=0; i 0) run("Make Band...", "band=1"); run("Measure"); singleProfile[k] = getResult("Mean", nResults-1); } // end of expanding bands } // end radialMeasureUsingBands(ROInum) //============================================================ // This macro requires a multichannel multi time series in a hyperstack. // To work properly, there need to be channels > 1, slices = 1, and frames > 1. // Frames is the time dimension. To use on Z instead, the user would have to swap frames for slices. //============================================================ macro "multichannel Integrated intensity through time" { Stack.getDimensions(width, height, channels, slices, frames); // next two lines may be changed for different #s of channels and different proteins to be measured channelstomeasure = newArray(2, 3); // channels to measure channelsnames = newArray ("GP120", "OKT3"); // names of channels to measure run("Set Measurements...", " mean standard redirect=None decimal=3"); output = newArray(frames+1); // top row is roi # for (t=1; t<=output.length; t++) output[t-1] = ""; for(roi=0; roi min) area = area + counts[i]; } // for i meanCell = intden / area; // this was added later so it is a global variable instead of a return return intden; }