source: tags/release-1.1.12/src/Devel/menus.cc

Last change on this file was 669, checked in by MatthewWhiting, 14 years ago

Minor change for help with testing.

File size: 7.1 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: A single velocity plane of an HI cube\n";
180  std::cout << "6: Your own image\n";
181
182  int file=0;
183  while((file<1)||(file>6)){
184    std::cout<<"Enter choice (1-6): ";
185    std::cin >> file;
186  }
187
188  std::string fname;
189  switch(file){
190  case 1:
191    fname = "/DATA/SITAR_1/whi550/iraf/search_test/temp2.fits";
192    break;
193  case 2:
194    fname = "/DATA/SITAR_1/whi550/iraf/search_test/b1555m140r.fits";
195    break;
196  case 3:
197    fname = "/DATA/SITAR_1/whi550/iraf/search_test/b2126_cps_sml.fits";
198    break;
199  case 4:
200    fname = "/DATA/SITAR_1/whi550/iraf/search_test/N4567B_trim.fits";
201    break;
202  case 5:
203    fname = "/DATA/SITAR_1/whi550/iraf/search_test/N4567V_trim.fits[216:715,261:760]";
204    break;
205  default:
206    std::cout << "Enter filename (full path): ";
207    std::cin >> fname;
208    break;
209    //    fname = menu();
210    //    fname = "";
211    //    break;
212  }
213  return fname;
214}
215
216std::string twoblMenu()
217{
218  std::cout << "2BL spectra to choose from: \n";
219//   system("ls /u/whi550/RESEARCH/2BL/data");
220  system("ls /Users/whi550/Work/RESEARCH/2BL/data");
221  std::string fname;
222  std::ifstream fin;
223  do{
224    std::cout << "Select a file: ";
225    std::cin >> fname;
226    fname = "/Users/whi550/Work/RESEARCH/2BL/data/" + fname;
227    fin.open(fname.c_str(),std::ifstream::in);
228    if(!fin.good()) std::cout << "Bad file -- try again!";
229  }while(!fin.good());
230
231  return fname;
232}
233
234
235std::string b1555Menu()
236{
237  std::cout << "B1555-140 spectra to choose from: \n";
238  system("set DIR=`pwd`;cd /Users/whi550/Work/myPapers/1555-140/b1555_redshifts/data/;ls *.txt;cd $DIR;unset $DIR");
239  std::string fname;
240  std::ifstream fin;
241  do{
242    std::cout << "Select a file: ";
243    std::cin >> fname;
244    fname = "/Users/whi550/Work/myPapers/1555-140/b1555_redshifts/data/" + fname;
245    fin.open(fname.c_str(),std::ifstream::in);
246    if(!fin.good()) std::cout << "Bad file -- try again!";
247  }while(!fin.good());
248
249  return fname;
250}
251
Note: See TracBrowser for help on using the repository browser.