|
|||||||||||
All macros of the tutorials with their test data can be downloaded. FITS table to TTree conversiontable2tree() { // A FITS table is read from a FITS file, and converted into // a ROOT tree. The tree is displayed with its TreeViewer. // read one table extension from the FITS file // SPI.-FEE3-HRW is the extension name of the FITS table TFTable * table = TFReadTable("spi_raw_acs.fits.gz", "SPI.-FEE3-HRW"); if (table) { // convert the table into a TTree TTree * tree = table->MakeTree(); delete table; // view the data tree->StartViewer(); } } FITS table to TGraph conversiontable2graph() { // A FITS table is read from a FITS file, and converted into // a ROOT TGraph. The graph is displayd. // read one table extension from the FITS file // SPI.-FEE8-HRW is the extension name of the FITS table TFTable * table = TFReadTable("spi_raw_acs.fits.gz", "SPI.-FEE8-HRW"); if (table) { // use the two columns PACK_TIME and FEE65 of the table // to crate a TGraph. TGraph * graph = table->MakeGraph("PACK_TIME", "FEE65"); delete table; // display the data graph->Draw("AL"); } } FITS image to TH2D conversionimage2histogram() { // read an FITS image, convert it into a // ROOT histogram and display it // The image we want to display is the extension // SPI.-SKY.-IMA in the image.fits file. TFFloatImg * img = TFReadImage("image.fits", "SPI.-SKY.-IMA"); if (img == NULL) { TFError::PrintErrors(); return; } // create a TH2D histogram and display it TH2D * hist = img->MakeHisto(); hist->Draw("surf4"); } Note: The following two examples does not work since ROOT version 4.01.04 on Sun solaris. The problem is reported, but not yet fixed. Image Displayimage_display1() { // create an astronomical image display directly from a FITS file // and display it. // The image we want to display is the third HDU in the file // image.fits. AstroImage * disp = new AstroImage("image.fits", NULL, 3); // read a color palette, it was written to the file via the // color editor (Save button) TFile *fpal = new TFile("image.pal.root", "READ"); TImagePalette *palette = (TImagePalette*)fpal->Get("TImagePalette"); delete fpal; // use the palette for this image disp->SetPalette(palette); delete palette; // draw the image and open its palette editor disp->Draw(); disp->StartPaletteEditor(); } image_display2() { // read an FITS image, modify it slightly and display the // result. // The image we want to display is the extension SPI.-SKY.-IMA // in the image.fits file. TFFloatImg * img = TFReadImage("image.fits", "SPI.-SKY.-IMA"); if (img == NULL) { TFError::PrintErrors(); return; } // get the size of image. We know it has two dimensions UInt_t size[2]; img->GetSize(size); // cut all values above 8 for (UInt_t x = 0; x < size[1]; x++) for (UInt_t y = 0; y < size[0]; y++) if ( (Float_t)((*img)[y][x]) > 8.0) (*img)[y][x] = 8.0; // open a window and open the status bar to display the // coordinates and value of the image pixel at the mouse position TCanvas * win = new TCanvas("image", "SPI", 100, 100, 550, 524); win->ToggleEventStatus(); // create the image display for the just read and slightly // modified image AstroImage * disp = new AstroImage(img); // we don't need the image any more delete img; // draw the image disp->Draw(); }
|
|||||||||||