source: trunk/src/Devel/menus.cc @ 1441

Last change on this file since 1441 was 876, checked in by MatthewWhiting, 12 years ago

Getting include statements right for the Devel part

File size: 7.3 KB
Line 
1// -----------------------------------------------------------------------
2// menus.cc: Interactive text-based menus to access certain FITS images.
3// -----------------------------------------------------------------------
4// Copyright (C) 2006, Matthew Whiting, ATNF
5//
6// This program is free software; you can redistribute it and/or modify it
7// under the terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 2 of the License, or (at your
9// option) any later version.
10//
11// Duchamp is distributed in the hope that it will be useful, but WITHOUT
12// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14// for more details.
15//
16// You should have received a copy of the GNU General Public License
17// along with Duchamp; if not, write to the Free Software Foundation,
18// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
19//
20// Correspondence concerning Duchamp may be directed to:
21//    Internet email: Matthew.Whiting [at] atnf.csiro.au
22//    Postal address: Dr. Matthew Whiting
23//                    Australia Telescope National Facility, CSIRO
24//                    PO Box 76
25//                    Epping NSW 1710
26//                    AUSTRALIA
27// -----------------------------------------------------------------------
28#include <iostream>
29#include <fstream>
30#include <iomanip>
31#include <sstream>
32#include <string>
33#include <stdlib.h>
34using std::stringstream;
35
36// void menu(std::string &fname)
37std::string menu()
38{
39  std::cout << "Files to choose from:\n";
40  std::cout << "1: precut_p26cube22_poly.fits\n";
41  std::cout << "2: precut_p34cube19_poly.fits\n";
42  std::cout << "3: precut_p34cube20_poly.fits\n";
43  std::cout << "4: precut_p42cube17_poly.fits\n";
44  std::cout << "5: precut_p58cube10_poly.fits\n";
45  std::cout << "6: H201_abcde_luther_chop.fits\n";
46  std::cout << "7: Another HIPASS cube\n";
47  std::cout << "8: Your own cube\n";
48
49  int file=0;
50  while((file<1)||(file>8)){
51    std::cout<<"Enter choice (1-8): ";
52    std::cin >> file;
53  }
54
55  std::string fname;
56  stringstream ss;
57  int cube=0;
58  switch(file){
59  case 1:
60    fname = "/Users/whi550/ObsData/cubes/precut_p26cube22_poly.fits";
61    break;
62  case 2:
63    fname = "/Users/whi550/ObsData/cubes/precut_p34cube19_poly.fits";
64    break;
65  case 3:
66    fname = "/Users/whi550/ObsData/cubes/precut_p34cube20_poly.fits";
67    break;
68  case 4:
69    fname = "/Users/whi550/ObsData/cubes/precut_p42cube17_poly.fits";
70    break;
71  case 5:
72    fname = "/Users/whi550/ObsData/cubes/precut_p58cube10_poly.fits";
73    break;
74  case 6:
75    fname = "/Users/whi550/ObsData/cubes/H201_abcde_luther_chop.fits";
76    break;
77  case 7:
78    while((cube<1)||(cube>538)){
79      std::cout<<"Enter cube number (1-538): ";
80      std::cin>>cube;
81    }
82//     ss << "/DATA/MULTI_5/LUTHER/hipass_chop/H";
83    ss << "/Users/whi550/ObsData/cubes/H";
84    ss << std::setw(3) << std::setfill('0') << cube;
85    ss << "_abcde_luther_chop.fits";
86    fname = ss.str();
87    break;
88  default:
89    std::cout << "Enter filename (full path): ";
90    std::cin >> fname;
91    break;
92  }
93  return fname;
94}
95
96// void specMenu(std::string fname)
97std::string specMenu()
98{
99  std::cout << "Spectra to choose from:\n";
100  std::cout << "1: b1133m172\n";
101  std::cout << "2: b1136m135\n";
102  std::cout << "3: b1226p023\n";
103  std::cout << "4: b2126m158\n";
104  std::cout << "5: b2126m158-Galaxy#09\n";
105  std::cout << "6: b0823p033\n";
106  std::cout << "7: b1404p044 (SDSS)\n";
107
108  int file=0;
109  while((file<1)||(file>7)){
110    std::cout<<"Enter choice (1-7): ";
111    std::cin >> file;
112  }
113
114  std::string fname;
115  switch(file){
116  case 1:
117    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b1133m172";
118    break;
119  case 2:
120    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b1136m135";
121    break;
122  case 3:
123    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b1226p023";
124    break;
125  case 4:
126    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b2126m158";
127    break;
128  case 5:
129    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b2126_obj09";
130    break;
131  case 6:
132    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b0823p033";
133    break;
134  default:
135    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b1404_sdss.dat";
136    break;
137  }
138  return fname;
139}
140
141//void orionMenu(std::string fname)
142std::string orionMenu()
143{
144  std::cout << "Chandra time series to choose from:\n";
145  std::cout << "1: Flaring/Constant \n";
146  std::cout << "2: Faint/Flaring\n";
147  std::cout << "3: Bright/Flaring\n";
148
149
150  int file=0;
151  while((file<1)||(file>3)){
152    std::cout<<"Enter choice (1-3): ";
153    std::cin >> file;
154  }
155
156  std::string fname;
157  switch(file){
158  case 1:
159    fname = "/DATA/SITAR_1/whi550/Stats/summerschool/orion/COUP263.dat";
160    break;
161  case 2:
162    fname = "/DATA/SITAR_1/whi550/Stats/summerschool/orion/COUP551.dat";
163    break;
164  default:
165    fname = "/DATA/SITAR_1/whi550/Stats/summerschool/orion/COUP554.dat";
166    break;
167  }
168  return fname;
169}
170
171//void imageMenu(std::string fname)
172std::string imageMenu()
173{
174  std::cout << "2D optical/NIR images to choose from:\n";
175  std::cout << "1: 2126-158 Kband (IRIS)\n";
176  std::cout << "2: 1555-140 Rband (40\")\n";
177  std::cout << "3: 2126-158 i' band (GMOS)\n";
178  std::cout << "4: NGC4567 Bband (2.3m)\n";
179  std::cout << "5: NGC4567 Vband (2.3m)\n";
180  std::cout << "6: Channel 229 of HIPASS H201\n";
181  //  std::cout << "6: A single velocity plane of an HI cube\n";
182  std::cout << "7: Your own image\n";
183
184  int file=0;
185  while((file<1)||(file>6)){
186    std::cout<<"Enter choice (1-6): ";
187    std::cin >> file;
188  }
189
190  std::string fname;
191  switch(file){
192  case 1:
193    fname = "/DATA/SITAR_1/whi550/iraf/search_test/temp2.fits";
194    break;
195  case 2:
196    fname = "/DATA/SITAR_1/whi550/iraf/search_test/b1555m140r.fits";
197    break;
198  case 3:
199    fname = "/DATA/SITAR_1/whi550/iraf/search_test/b2126_cps_sml.fits";
200    break;
201  case 4:
202    fname = "/DATA/SITAR_1/whi550/iraf/search_test/N4567B_trim.fits";
203    break;
204  case 5:
205    fname = "/DATA/SITAR_1/whi550/iraf/search_test/N4567V_trim.fits[216:715,261:760]";
206    break;
207  case 6:
208    fname = "/Users/whi550/ObsData/cubes/H201_abcde_luther_chop.fits[*,*,229:229]";
209    break;
210  default:
211    std::cout << "Enter filename (full path): ";
212    std::cin >> fname;
213    break;
214    //    fname = menu();
215    //    fname = "";
216    //    break;
217  }
218  return fname;
219}
220
221std::string twoblMenu()
222{
223  std::cout << "2BL spectra to choose from: \n";
224//   system("ls /u/whi550/RESEARCH/2BL/data");
225  system("ls /Users/whi550/Work/RESEARCH/2BL/data");
226  std::string fname;
227  std::ifstream fin;
228  do{
229    std::cout << "Select a file: ";
230    std::cin >> fname;
231    fname = "/Users/whi550/Work/RESEARCH/2BL/data/" + fname;
232    fin.open(fname.c_str(),std::ifstream::in);
233    if(!fin.good()) std::cout << "Bad file -- try again!";
234  }while(!fin.good());
235
236  return fname;
237}
238
239
240std::string b1555Menu()
241{
242  std::cout << "B1555-140 spectra to choose from: \n";
243  system("set DIR=`pwd`;cd /Users/whi550/Work/myPapers/1555-140/b1555_redshifts/data/;ls *.txt;cd $DIR;unset $DIR");
244  std::string fname;
245  std::ifstream fin;
246  do{
247    std::cout << "Select a file: ";
248    std::cin >> fname;
249    fname = "/Users/whi550/Work/myPapers/1555-140/b1555_redshifts/data/" + fname;
250    fin.open(fname.c_str(),std::ifstream::in);
251    if(!fin.good()) std::cout << "Bad file -- try again!";
252  }while(!fin.good());
253
254  return fname;
255}
256
Note: See TracBrowser for help on using the repository browser.