Skip to content

Commit a702694

Browse files
authored
Merge pull request #192 from Caltech-IPAC/DM-7164-LCviewer-ibe-preprocessor
remove unused import and add dispatch with xy-plot params for each different plot
2 parents 92225c6 + ff14b50 commit a702694

File tree

6 files changed

+76
-64
lines changed

6 files changed

+76
-64
lines changed

src/firefly/js/templates/lightcurve/LcManager.js

Lines changed: 37 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,23 @@
22
* License information at https://github.com/Caltech-IPAC/firefly/blob/master/License.txt
33
*/
44

5+
import {isUndefined, get} from 'lodash';
56
import {take} from 'redux-saga/effects';
6-
import {get} from 'lodash';
77

88
import {LO_VIEW, LO_MODE, SHOW_DROPDOWN, SET_LAYOUT_MODE, getLayouInfo, dispatchUpdateLayoutInfo, dropDownHandler} from '../../core/LayoutCntlr.js';
99
import {TBL_RESULTS_ADDED, TABLE_LOADED, TBL_RESULTS_ACTIVE, TABLE_HIGHLIGHT} from '../../tables/TablesCntlr.js';
1010
import {getCellValue, getTblById, makeTblRequest} from '../../tables/TableUtil.js';
1111
import {updateSet} from '../../util/WebUtil.js';
1212
import {dispatchPlotImage} from '../../visualize/ImagePlotCntlr.js';
13-
import WebPlotRequest from '../../visualize/WebPlotRequest.js';
13+
import {WebPlotRequest,TitleOptions} from '../../visualize/WebPlotRequest.js';
14+
import {converters, converterFactory} from '../../metaConvert/ConverterFactory.js';
15+
import {ServerRequest} from '../../data/ServerRequest.js';
16+
import {dispatchLoadPlotData} from '../../charts/XYPlotCntlr.js';
1417

1518
export const RAW_TABLE = 'raw_table';
1619
export const PHASE_FOLDED = 'phase_folded';
1720
export const PERIODOGRAM = 'periodogram';
1821
export const PEAK_TABLE = 'peak_table';
19-
2022
export const IMG_VIEWER_ID = 'lc_image_viewer';
2123

2224
/**
@@ -56,6 +58,7 @@ export function* lcManager() {
5658

5759
if (newLayoutInfo !== layoutInfo) {
5860
dispatchUpdateLayoutInfo(newLayoutInfo);
61+
5962
}
6063
}
6164
}
@@ -94,55 +97,43 @@ function handleTableHighlight(layoutInfo, action) {
9497

9598
function getWebPlotRequest(tbl_id) {
9699
const tableModel = getTblById(tbl_id);
97-
const ra = getCellValue(tableModel, tableModel.highlightedRow, 'ra');
98-
const dec = getCellValue(tableModel, tableModel.highlightedRow, 'dec');
99-
100-
console.log(`${ra} , ${dec}`);
101-
//Example: frame-id = "02328b152-w1",
102-
// see meaning: http://wise2.ipac.caltech.edu/docs/release/allwise/expsup/sec3_1a.html#frame_id
103-
104-
const frame_id = getCellValue(tableModel, tableModel.highlightedRow, 'frame_id');
105-
106-
var wise_sexp_ibe = /(\d+)([0-9][a-z])(\w+)/g;
100+
const hlrow = tableModel.highlightedRow || 0;
101+
const ra = getCellValue(tableModel, hlrow, 'ra');
102+
const dec = getCellValue(tableModel, hlrow, 'dec');
103+
const frameId = getCellValue(tableModel, hlrow, 'frame_id');
104+
var wise_sexp_ibe = /(\d+)([0-9][a-z])(\w+)/g;
105+
var res = wise_sexp_ibe.exec(frameId);
106+
const scan_id = res[1] + res[2];
107+
const scangrp = res[2];
108+
const frame_num = res[3];
107109

108-
var res = wise_sexp_ibe.exec(frame_id);
109-
/*
110-
will split 'frame_id' into 5 elements array
111-
02328b152 - full frame-id
112-
0232 - pre-scanid, (+ scangroup = scan_id)
113-
8d - scangrp ,
114-
152 - frame_num
110+
const sr= new ServerRequest('ibe_file_retrieve');
111+
sr.setParam('mission', 'wise');
112+
sr.setParam('plotId', 'lc_images');
113+
sr.setParam('PROC_ID', 'ibe_file_retrieve');
114+
sr.setParam('ProductLevel', '1b');
115+
sr.setParam('ImageSet', 'allsky-4band');
116+
sr.setParam('band', 2);
117+
sr.setParam('scangrp', `${scangrp}`);
118+
sr.setParam('scan_id', `${scan_id}`);
119+
sr.setParam('frame_num', `${frame_num}`);
120+
sr.setParam('center', `${ra},${dec}`);
121+
sr.setParam('size', '0.3');
122+
sr.setParam('subsize', '0.3');
123+
sr.setParam('in_ra',`${ra}`);
124+
sr.setParam('in_dec',`${dec}`);
125+
126+
const reqParams = WebPlotRequest.makeProcessorRequest(sr, 'wise');
127+
reqParams.setTitle('WISE-'+ frameId);
128+
// reqParams.setInitialZoomLevel(0.5);
129+
return reqParams;
115130

116-
see http://irsa.ipac.caltech.edu/ibe/docs/wise/merge/merge_p1bm_frm/#int
117131

118-
IBE url:
119-
http://irsa.ipac.caltech.edu/ibe/data/wise/merge/merge_p1bm_frm/{scangrp:s}/{scan_id:s}/{frame_num:03d}/{scan_id:s}{frame_num:03d}-w{band:1d}-int-1b.fits
120-
*/
121132

122-
const scan_id = res[1]+res[2];
123-
const scangrp = res[2];
124-
const frame_num = res[3];
125-
console.log(`http://irsa.ipac.caltech.edu/ibe/data/wise/merge/merge_p1bm_frm/${scangrp}/${scan_id}/${frame_num}/${scan_id}${frame_num}-w1-int-1b.fits`);
126-
// return makeWebPlotRequest(tbl_id); should use the commented code below to retrieve wise images.
127-
// this is just a placeholder.
128-
//return {
129-
// plotId: 'lc_images',
130-
// Type : 'SERVICE',
131-
// Service : 'WISE',
132-
// Title : 'Wise',
133-
// SurveyKey : 'Atlas',
134-
// SurveyKeyBand : '2',
135-
// WorldPt : `${ra};${dec};EQ_J2000`,
136-
// SizeInDeg : '.3',
137-
// AllowImageSelection : true
138-
//};
139-
140-
const url = `http://irsa.ipac.caltech.edu/ibe/data/wise/merge/merge_p1bm_frm/${scangrp}/${scan_id}/${frame_num}/${scan_id}${frame_num}-w1-int-1b.fits`;
141-
var wpr = WebPlotRequest.makeURLPlotRequest(url);
142-
return wpr;
143133
}
144134

145135

146-
function makeWebPlotRequest() {
136+
function makeWebPlotRequest(tbl_id) {
137+
//todo make grid plotting with hlrow+1, hlrow, hlrow-1
147138
// for WISE, should convert gwt code from here: edu.caltech.ipac.hydra.server.query.WiseGrid.makeRequest;
148139
}

src/firefly/js/templates/lightcurve/LcPhaseFoldingPanel.jsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ import {Tabs, Tab,FieldGroupTabs} from '../../ui/panel/TabPanel.jsx';
2626
import {dispatchShowDialog} from '../../core/ComponentCntlr.js';
2727
import {dispatchTableSearch} from '../../tables/TablesCntlr.js';
2828

29+
import {dispatchLoadPlotData} from '../../charts/XYPlotCntlr.js';
30+
31+
2932
import {RAW_TABLE, PHASE_FOLDED} from '../../templates/lightcurve/LcManager.js';
3033

3134
function getDialogBuilder() {
@@ -387,6 +390,8 @@ function doPhaseFolding(fields) {
387390
}, {tbl_id:PHASE_FOLDED});
388391
if (tReq !== null) {
389392
dispatchTableSearch(tReq, {removable: false});
393+
let xyPlotParams = {x: {columnOrExpr: 'phase', options: 'grid'}, y: {columnOrExpr: 'w1mpro_ep', options:'grid'}};
394+
dispatchLoadPlotData({chartId:PHASE_FOLDED, tblId:PHASE_FOLDED, markAsDefault:true, xyPlotParams});
390395
}
391396
}
392397

src/firefly/js/templates/lightcurve/LcResult.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export class LcResult extends Component {
102102
{LcPFOptionsPanel(fields)}
103103
</div>
104104
</Tab>
105-
<Tab name="Peiodogram">
105+
<Tab name="Periodogram">
106106
<div>
107107
<LCPFOPanel />
108108
</div>

src/firefly/js/templates/lightcurve/LcViewer.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,10 +215,10 @@ function onSearchSubmit(request) {
215215
xyPlotParams = {x: {columnOrExpr: 'mjd'}, y: {columnOrExpr: 'w1mpro_ep'}};
216216
} else if ( get(request, PHASE_FOLDED) ) {
217217
treq = TblUtil.makeFileRequest('Phase Folded', request[PHASE_FOLDED], null, {tbl_id:PHASE_FOLDED});
218-
xyPlotParams = {x: {columnOrExpr: 'mjd'}, y: {columnOrExpr: 'w2mpro_ep'}};
218+
xyPlotParams = {x: {columnOrExpr: 'phase'}, y: {columnOrExpr: 'w1mpro_ep'}};
219219
} else if ( get(request, PERIODOGRAM) ) {
220220
treq = TblUtil.makeFileRequest('Periodogram', request[PERIODOGRAM], null, {tbl_id:PERIODOGRAM});
221-
xyPlotParams = {x: {columnOrExpr: 'log(PERIOD)'}, y: {columnOrExpr: 'POWER'}};
221+
xyPlotParams = {x: {columnOrExpr: 'PERIOD', options: 'log'}, y: {columnOrExpr: 'POWER'}};
222222
} else if ( get(request, PEAK_TABLE) ) {
223223
treq = TblUtil.makeFileRequest('Peak Table', request[PEAK_TABLE], null, {tbl_id:PEAK_TABLE});
224224
}

src/firefly/js/templates/lightcurve/PeriodogramOptionsPanel.jsx

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ import {FieldGroupCollapsible} from '../../ui/panel/CollapsiblePanel.jsx';
1717
import Validate from '../../util/Validate.js';
1818
import {ValidationField} from '../../ui/ValidationField.jsx';
1919
import {makeTblRequest,getTblById} from '../../tables/TableUtil.js';
20+
21+
import {dispatchLoadPlotData} from '../../charts/XYPlotCntlr.js';
22+
2023
import {RAW_TABLE,PERIODOGRAM, PEAK_TABLE} from '../../templates/lightcurve/LcManager.js';
2124

2225
const gkey = 'PFO_PANEL';
@@ -192,22 +195,33 @@ function doPeriodFinding(request) {
192195
//let tbl = getTblById(RAW_TABLE);
193196
console.log(request);
194197

195-
var tReq = makeTblRequest('LightCurveProcessor',PERIODOGRAM , {
196-
'result_table': 'http://web.ipac.caltech.edu/staff/ejoliet/demo/vo-nexsci-result-sample.xml', //For now return result table for non-existing API
197-
'table_name': PERIODOGRAM
198-
}, {tbl_id:PERIODOGRAM});
199-
200-
if (tReq != null) {
201-
dispatchTableSearch(tReq, {removable: false});
202-
}
203-
204198
var tReq2 = makeTblRequest('LightCurveProcessor',PEAK_TABLE , {
205199
'result_table': 'http://web.ipac.caltech.edu/staff/ejoliet/demo/vo-nexsci-result-sample.xml', //For now return result table for non-existing API
206200
'table_name': PEAK_TABLE
207201
}, {tbl_id:PEAK_TABLE});
208202

209203
if (tReq2 != null) {
210-
dispatchTableSearch(tReq2, {removable: false});
204+
let xyPlotParams = {
205+
x: {columnOrExpr: 'Peak', options: 'grid'},
206+
y: {columnOrExpr: 'Power', options: 'grid'}
207+
};
208+
dispatchLoadPlotData({chartId:PEAK_TABLE, tblId:PEAK_TABLE, markAsDefault:true, xyPlotParams});
209+
dispatchTableSearch(tReq2, {removable: true});
210+
}
211+
212+
var tReq = makeTblRequest('LightCurveProcessor',PERIODOGRAM , {
213+
'result_table': 'http://web.ipac.caltech.edu/staff/ejoliet/demo/vo-nexsci-result-sample.xml', //For now return result table for non-existing API
214+
'table_name': PERIODOGRAM
215+
}, {tbl_id:PERIODOGRAM});
216+
217+
if (tReq != null) {
218+
dispatchTableSearch(tReq, {removable: true});
219+
let xyPlotParams = {
220+
userSetBoundaries: {yMin: 0},
221+
x: {columnOrExpr: 'PERIOD', options: 'grid, log'},
222+
y: {columnOrExpr: 'POWER', options: 'grid'}
223+
};
224+
dispatchLoadPlotData({chartId:PERIODOGRAM, tblId:PERIODOGRAM, markAsDefault:true, xyPlotParams});
211225
}
212226
}
213227

src/firefly/js/visualize/WebPlotRequest.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -269,9 +269,10 @@ export class WebPlotRequest extends ServerRequest {
269269
return req;
270270
}
271271

272-
static makeProcessorRequest(obj, desc) {
272+
static makeProcessorRequest(serverRequest, desc) {
273273
var req = new WebPlotRequest(RequestType.PROCESSOR, desc);
274-
req.setParams(obj);
274+
// req.setParams(serverRequest.getParams());
275+
req.setParams(serverRequest.getParams());
275276
return req;
276277
}
277278

@@ -333,7 +334,7 @@ export class WebPlotRequest extends ServerRequest {
333334

334335
/**
335336
*
336-
* @param worldPt
337+
* @param wp
337338
* @param {string} survey must be one of 'j','h','k'
338339
* @param sizeInDeg less then .138 degreess (500 arcsec)
339340
* @return {WebPlotRequest}
@@ -703,7 +704,7 @@ export class WebPlotRequest extends ServerRequest {
703704
/**
704705
* Plot should come up rotated north
705706
*
706-
* @param {boolean} rotateNorth, true to rotate
707+
* @param {boolean} rotateNorth true to rotate
707708
*/
708709
setRotateNorth(rotateNorth) { this.setParam(C.ROTATE_NORTH, rotateNorth + ''); }
709710

@@ -996,7 +997,8 @@ export class WebPlotRequest extends ServerRequest {
996997
//======================================================================
997998

998999
/**
999-
* @return objectName, string, astronomical object to search
1000+
* @return objectName string astronomical object to search
1001+
* @param objectName
10001002
*/
10011003
setObjectName(objectName) { this.setParam(C.OBJECT_NAME, objectName); }
10021004

0 commit comments

Comments
 (0)