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

Last change on this file since 860 was 860, checked in by MatthewWhiting, 13 years ago

Various tweaks to Devel code, including getting the sigma_factors calculator to work properly.

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>
33using std::stringstream;
34
35// void menu(std::string &fname)
36std::string menu()
37{
38  std::cout << "Files to choose from:\n";
39  std::cout << "1: precut_p26cube22_poly.fits\n";
40  std::cout << "2: precut_p34cube19_poly.fits\n";
41  std::cout << "3: precut_p34cube20_poly.fits\n";
42  std::cout << "4: precut_p42cube17_poly.fits\n";
43  std::cout << "5: precut_p58cube10_poly.fits\n";
44  std::cout << "6: H201_abcde_luther_chop.fits\n";
45  std::cout << "7: Another HIPASS cube\n";
46  std::cout << "8: Your own cube\n";
47
48  int file=0;
49  while((file<1)||(file>8)){
50    std::cout<<"Enter choice (1-8): ";
51    std::cin >> file;
52  }
53
54  std::string fname;
55  stringstream ss;
56  int cube=0;
57  switch(file){
58  case 1:
59    fname = "/Users/whi550/ObsData/cubes/precut_p26cube22_poly.fits";
60    break;
61  case 2:
62    fname = "/Users/whi550/ObsData/cubes/precut_p34cube19_poly.fits";
63    break;
64  case 3:
65    fname = "/Users/whi550/ObsData/cubes/precut_p34cube20_poly.fits";
66    break;
67  case 4:
68    fname = "/Users/whi550/ObsData/cubes/precut_p42cube17_poly.fits";
69    break;
70  case 5:
71    fname = "/Users/whi550/ObsData/cubes/precut_p58cube10_poly.fits";
72    break;
73  case 6:
74    fname = "/Users/whi550/ObsData/cubes/H201_abcde_luther_chop.fits";
75    break;
76  case 7:
77    while((cube<1)||(cube>538)){
78      std::cout<<"Enter cube number (1-538): ";
79      std::cin>>cube;
80    }
81//     ss << "/DATA/MULTI_5/LUTHER/hipass_chop/H";
82    ss << "/Users/whi550/ObsData/cubes/H";
83    ss << std::setw(3) << std::setfill('0') << cube;
84    ss << "_abcde_luther_chop.fits";
85    fname = ss.str();
86    break;
87  default:
88    std::cout << "Enter filename (full path): ";
89    std::cin >> fname;
90    break;
91  }
92  return fname;
93}
94
95// void specMenu(std::string fname)
96std::string specMenu()
97{
98  std::cout << "Spectra to choose from:\n";
99  std::cout << "1: b1133m172\n";
100  std::cout << "2: b1136m135\n";
101  std::cout << "3: b1226p023\n";
102  std::cout << "4: b2126m158\n";
103  std::cout << "5: b2126m158-Galaxy#09\n";
104  std::cout << "6: b0823p033\n";
105  std::cout << "7: b1404p044 (SDSS)\n";
106
107  int file=0;
108  while((file<1)||(file>7)){
109    std::cout<<"Enter choice (1-7): ";
110    std::cin >> file;
111  }
112
113  std::string fname;
114  switch(file){
115  case 1:
116    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b1133m172";
117    break;
118  case 2:
119    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b1136m135";
120    break;
121  case 3:
122    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b1226p023";
123    break;
124  case 4:
125    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b2126m158";
126    break;
127  case 5:
128    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b2126_obj09";
129    break;
130  case 6:
131    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b0823p033";
132    break;
133  default:
134    fname = "/Users/whi550/ObsData/PHFS/PHFS_spectra/pks/b1404_sdss.dat";
135    break;
136  }
137  return fname;
138}
139
140//void orionMenu(std::string fname)
141std::string orionMenu()
142{
143  std::cout << "Chandra time series to choose from:\n";
144  std::cout << "1: Flaring/Constant \n";
145  std::cout << "2: Faint/Flaring\n";
146  std::cout << "3: Bright/Flaring\n";
147
148
149  int file=0;
150  while((file<1)||(file>3)){
151    std::cout<<"Enter choice (1-3): ";
152    std::cin >> file;
153  }
154
155  std::string fname;
156  switch(file){
157  case 1:
158    fname = "/DATA/SITAR_1/whi550/Stats/summerschool/orion/COUP263.dat";
159    break;
160  case 2:
161    fname = "/DATA/SITAR_1/whi550/Stats/summerschool/orion/COUP551.dat";
162    break;
163  default:
164    fname = "/DATA/SITAR_1/whi550/Stats/summerschool/orion/COUP554.dat";
165    break;
166  }
167  return fname;
168}
169
170//void imageMenu(std::string fname)
171std::string imageMenu()
172{
173  std::cout << "2D optical/NIR images to choose from:\n";
174  std::cout << "1: 2126-158 Kband (IRIS)\n";
175  std::cout << "2: 1555-140 Rband (40\")\n";
176  std::cout << "3: 2126-158 i' band (GMOS)\n";
177  std::cout << "4: NGC4567 Bband (2.3m)\n";
178  std::cout << "5: NGC4567 Vband (2.3m)\n";
179  std::cout << "6: Channel 229 of HIPASS H201\n";
180  //  std::cout << "6: A single velocity plane of an HI cube\n";
181  std::cout << "7: Your own image\n";
182
183  int file=0;
184  while((file<1)||(file>6)){
185    std::cout<<"Enter choice (1-6): ";
186    std::cin >> file;
187  }
188
189  std::string fname;
190  switch(file){
191  case 1:
192    fname = "/DATA/SITAR_1/whi550/iraf/search_test/temp2.fits";
193    break;
194  case 2:
195    fname = "/DATA/SITAR_1/whi550/iraf/search_test/b1555m140r.fits";
196    break;
197  case 3:
198    fname = "/DATA/SITAR_1/whi550/iraf/search_test/b2126_cps_sml.fits";
199    break;
200  case 4:
201    fname = "/DATA/SITAR_1/whi550/iraf/search_test/N4567B_trim.fits";
202    break;
203  case 5:
204    fname = "/DATA/SITAR_1/whi550/iraf/search_test/N4567V_trim.fits[216:715,261:760]";
205    break;
206  case 6:
207    fname = "/Users/whi550/ObsData/cubes/H201_abcde_luther_chop.fits[*,*,229:229]";
208    break;
209  default:
210    std::cout << "Enter filename (full path): ";
211    std::cin >> fname;
212    break;
213    //    fname = menu();
214    //    fname = "";
215    //    break;
216  }
217  return fname;
218}
219
220std::string twoblMenu()
221{
222  std::cout << "2BL spectra to choose from: \n";
223//   system("ls /u/whi550/RESEARCH/2BL/data");
224  system("ls /Users/whi550/Work/RESEARCH/2BL/data");
225  std::string fname;
226  std::ifstream fin;
227  do{
228    std::cout << "Select a file: ";
229    std::cin >> fname;
230    fname = "/Users/whi550/Work/RESEARCH/2BL/data/" + fname;
231    fin.open(fname.c_str(),std::ifstream::in);
232    if(!fin.good()) std::cout << "Bad file -- try again!";
233  }while(!fin.good());
234
235  return fname;
236}
237
238
239std::string b1555Menu()
240{
241  std::cout << "B1555-140 spectra to choose from: \n";
242  system("set DIR=`pwd`;cd /Users/whi550/Work/myPapers/1555-140/b1555_redshifts/data/;ls *.txt;cd $DIR;unset $DIR");
243  std::string fname;
244  std::ifstream fin;
245  do{
246    std::cout << "Select a file: ";
247    std::cin >> fname;
248    fname = "/Users/whi550/Work/myPapers/1555-140/b1555_redshifts/data/" + fname;
249    fin.open(fname.c_str(),std::ifstream::in);
250    if(!fin.good()) std::cout << "Bad file -- try again!";
251  }while(!fin.good());
252
253  return fname;
254}
255
Note: See TracBrowser for help on using the repository browser.