importClass(Packages.plugins.tprovoost.scripteditor.uitools.filedialogs.FileDialog)
importClass(Packages.icy.file.FileUtil)
importClass(Packages.icy.util.XLSUtil)
importClass(Packages.icy.roi.ROIUtil)

outFile = FileDialog.save();
sequence = getSequence()

if (sequence != null)
{	
	// create new excel file
	xls = XLSUtil.createWorkbook(outFile)

	// get ROIs
	rois = sequence.getROIs()

	// sheet index
	for(p = 0; p < (rois.size() + 255) / 256; p++)
	{
		rstart = p * 256;
		rend = (p * 256) + 256
		if (rend > rois.size()) rend = rois.size()
		
		// create a new page
		xlsPage = XLSUtil.createNewPage(xls, "Spots " + rstart + " - " + (rend - 1))
		
		for(r = rstart; r < rend; r++)
		{
			roi = rois.get(r)
			rpage = r - (p * 256)
			
			// write header (roi name)
			XLSUtil.setCellString(xlsPage, rpage, 0, roi.getName())
	
			// iterate over frames
			for(t = 0; t < sequence.getSizeT(); t++)
			{
				// compute mean intensity for this frame
				mean = ROIUtil.getMeanIntensity(sequence, roi, -1, t, -1)
				XLSUtil.setCellNumber(xlsPage, rpage, t+1, mean)
			}
	
			println("processing roi #" + r + " - " + roi.getName())
		}
	}
	
	println("done !")
	
	// save excel file
	XLSUtil.saveAndClose(xls)
}
