// c1, c2 are in ppm, c1 is downfield, bigger ppm. void AspFrame::addRoiFromCursors(double c1, double c2) { if(c1<c2) {double tmp=c1; c1=c2; c2=tmp;} spAspDataInfo_t dataInfo = getDefaultDataInfo(); spAspCursor_t cursor1 = spAspCursor_t(new AspCursor(c1,dataInfo->haxis.name)); spAspCursor_t cursor2 = spAspCursor_t(new AspCursor(c2,dataInfo->haxis.name)); spAspRoi_t roi = spAspRoi_t(new AspRoi(cursor1,cursor2,roiList->getRoiMap()->size())); roiList->addRoi(roi); setAnnoFlag(ANN_ROIS); displayTop(); }
spAspRoi_t AspFrame::addRoi(int type, int x, int y) { spAspCell_t cell = selectCell(x,y); if(cell == nullAspCell) return nullAspRoi; spAspRoi_t roi = nullAspRoi; spAspCursor_t cursor1, cursor2; if(type == ROI_BOX) { double vx = cell->pix2val(HORIZ,x); double vy = cell->pix2val(VERT,y); cursor1 = spAspCursor_t(new AspCursor(vx,vy,cell->getXname(),cell->getYname())); cursor2 = spAspCursor_t(new AspCursor(vx,vy,cell->getXname(),cell->getYname())); roi = spAspRoi_t(new AspRoi(cursor1,cursor2,roiList->getRoiMap()->size())); roiList->addRoi(roi); } else if(type == ROI_BAND) { double vx = cell->pix2val(HORIZ,x); cursor1 = spAspCursor_t(new AspCursor(vx,cell->getXname())); cursor2 = spAspCursor_t(new AspCursor(vx,cell->getXname())); roi = spAspRoi_t(new AspRoi(cursor1,cursor2,roiList->getRoiMap()->size())); roiList->addRoi(roi); } setAnnoFlag(ANN_ROIS); return roi; }
* * You may distribute under the terms of either the GNU General Public * License or the Apache License, as specified in the LICENSE file. * * For more information, see the LICENSE file. */ #include <math.h> #include "AspUtil.h" #include "AspRoi.h" #include "AspFrameMgr.h" #include "AspCellList.h" spAspRoi_t nullAspRoi = spAspRoi_t(NULL); // assume c1 is downfield cursor (bigger ppm) and // c2 is upfield cursor (smaller ppm, i.e.,cr-delta). AspRoi::AspRoi(spAspCursor_t c1, spAspCursor_t c2, int i) { id=i; label=""; cursor1=c1; cursor2=c2; color=(int)getReal("aspPref",1,-1); opaque=(int)getReal("aspPref",2,-1); height=(int)getReal("aspPref",3,-1); selected=false; mouseOver=NOSELECT; show=true; }