Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
FITS_tutorial1.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_FITS
3/// \notebook -draw
4/// Open a FITS file and retrieve the first plane of the image array
5/// as a TImage object
6///
7/// \macro_image
8/// \macro_code
9/// \macro_output
10///
11/// \author Claudi Martinez
12
13void FITS_tutorial1()
14{
15 // Here we open a FITS file that contains only the primary HDU, consisting on an image.
16 // The object you will see is a snapshot of the NGC7662 nebula,
17 // which was taken by the author on November 2009 in Barcelona.
18
19 TString dir = gROOT->GetTutorialDir();
20
21 // Open primary HDU from file
22 TFITSHDU hdu(dir + "/fitsio/sample1.fits");
23
24 // Dump the HDUs within the FITS file
25 // and also their metadata
26 // printf("Press ENTER to see summary of all data stored in the file:"); getchar();
27
28 hdu.Print("F+");
29
30 // Here we get the exposure time.
31 printf("Exposure time = %s\n", hdu.GetKeywordValue("EXPTIME").Data());
32
33 // Read the primary array as a matrix, selecting only layer 0.
34 // This function may be useful to do image processing, e.g. custom filtering
35
36 std::unique_ptr<TMatrixD> mat(hdu.ReadAsMatrix(0));
37 mat->Print();
38
39 // Read the primary array as an image, selecting only layer 0.
40 TImage * im = (TImage *)hdu.ReadAsImage(0);
41
42 // Read the primary array as a histogram. Depending on array dimensions, the returned
43 // histogram will be 1D, 2D or 3D.
44 TH1 * hist = (TH1 *)hdu.ReadAsHistogram();
45
46 auto c = new TCanvas("c1", "FITS tutorial #1", 1400, 800);
47 c->Divide(2, 1);
48 c->cd(1);
49 im->Draw();
50 c->cd(2);
51 hist->Draw("COL");
52}
#define c(i)
Definition RSha256.hxx:101
#define gROOT
Definition TROOT.h:404
The Canvas class.
Definition TCanvas.h:23
FITS file interface class.
Definition TFITS.h:35
TH1 is the base class of all histogram classes in ROOT.
Definition TH1.h:58
virtual void Draw(Option_t *option="")
Draw this histogram with options.
Definition TH1.cxx:3074
An abstract interface to image processing library.
Definition TImage.h:29
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
Definition TObject.cxx:267
Basic string class.
Definition TString.h:136