summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2019-05-03 16:10:13 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2019-05-03 16:10:13 (GMT)
commit6dc9a4250e1fef2212a81d3d17f918eb6c8884cf (patch)
tree0010230de24c48fc3b44b8f08542b6e261243f62
parent309c46fcdb247391c6bc167329546366a18f63ad (diff)
parent039e12957d62da70dfa5f191b8a45fc112437fc4 (diff)
downloadblt-6dc9a4250e1fef2212a81d3d17f918eb6c8884cf.zip
blt-6dc9a4250e1fef2212a81d3d17f918eb6c8884cf.tar.gz
blt-6dc9a4250e1fef2212a81d3d17f918eb6c8884cf.tar.bz2
Merge branch 'devel'
-rw-r--r--ds9/doc/release/r8.1.html2
-rw-r--r--tksao/frame/frblt.C30
2 files changed, 24 insertions, 8 deletions
diff --git a/ds9/doc/release/r8.1.html b/ds9/doc/release/r8.1.html
index c28b1af..da5a089 100644
--- a/ds9/doc/release/r8.1.html
+++ b/ds9/doc/release/r8.1.html
@@ -76,6 +76,8 @@
<li><tt>04.25.2019 CUBE: add 'get cube coordsys command'</tt></li>
<li><tt>05.02.2019 XPA: fix -xpa command issue.</tt></li>
<li><tt>05.02.2019 CUBE: fix an issue with updating the current slice via the dialog slider.</tt></li>
+<li><tt>05.02.2019 REGION: fixed histogram analysis plot if region off image.</tt></li>
+<li><tt>05.03.2019 REGION: fixed statistics dialog if region off image.</tt></li>
<li><tt><b>xx.xx.2019 RELEASE version 8.1b1</b></tt></li>
</ol>
</div>
diff --git a/tksao/frame/frblt.C b/tksao/frame/frblt.C
index 735f72c..75a2068 100644
--- a/tksao/frame/frblt.C
+++ b/tksao/frame/frblt.C
@@ -82,6 +82,10 @@ void Base::markerAnalysisHistogram(Marker* pp, double** x, double** y,
double* xx = *x;
double* yy = *y;
+ // check if we have any data
+ if (!isfinite(diff))
+ goto end;
+
if (diff>0) {
for (int ii=0; ii<nn; ii++)
xx[ii] = (double)ii/last*diff + min;
@@ -104,6 +108,7 @@ void Base::markerAnalysisHistogram(Marker* pp, double** x, double** y,
}
+ end:
if (marr)
delete [] marr;
if (mask)
@@ -612,9 +617,11 @@ void Base::markerAnalysisStats(Marker* pp, ostream& str, const BBox& bb,
delete [] marr;
int unit = markerAnalysisStats1(pp,ptr,str,sys,sky);
- markerAnalysisStats2(ptr,str,sys,0,cnt,sum,unit);
+ if (cnt)
+ markerAnalysisStats2(ptr,str,sys,0,cnt,sum,unit);
markerAnalysisStats3(str);
- markerAnalysisStats4(str,0,cnt,sum,sum2,median,min,max);
+ if (cnt)
+ markerAnalysisStats4(str,0,cnt,sum,sum2,median,min,max);
}
// for annulus regions
@@ -694,12 +701,15 @@ void Base::markerAnalysisStats(Marker* pp, ostream& str,
int unit = markerAnalysisStats1(pp,ptr,str,sys,sky);
for (int kk=0; kk<num; kk++)
- markerAnalysisStats2(ptr,str,sys,kk,cnt[kk],sum[kk],unit);
+ if (cnt[kk])
+ markerAnalysisStats2(ptr,str,sys,kk,cnt[kk],sum[kk],unit);
markerAnalysisStats3(str);
+
for (int kk=0; kk<num; kk++)
- markerAnalysisStats4(str,kk,cnt[kk],sum[kk],sum2[kk],
- median[kk],min[kk],max[kk]);
+ if (cnt[kk])
+ markerAnalysisStats4(str,kk,cnt[kk],sum[kk],sum2[kk],
+ median[kk],min[kk],max[kk]);
}
// for panda regions
@@ -787,15 +797,19 @@ void Base::markerAnalysisStats(Marker* pp, ostream& str,
}
int unit = markerAnalysisStats1(pp,ptr,str,sys,sky);
+
for (int kk=0; kk<num; kk++)
for (int qq=0; qq<aa; qq++)
- markerAnalysisStats2(ptr,str,sys,kk*aa+qq,cnt[kk][qq],sum[kk][qq],unit);
+ if (cnt[kk][qq])
+ markerAnalysisStats2(ptr,str,sys,kk*aa+qq,cnt[kk][qq],sum[kk][qq],unit);
markerAnalysisStats3(str);
+
for (int kk=0; kk<num; kk++)
for (int qq=0; qq<aa; qq++)
- markerAnalysisStats4(str,kk*aa+qq,cnt[kk][qq],sum[kk][qq],sum2[kk][qq],
- median[kk][qq],min[kk][qq],max[kk][qq]);
+ if (cnt[kk][qq])
+ markerAnalysisStats4(str,kk*aa+qq,cnt[kk][qq],sum[kk][qq],sum2[kk][qq],
+ median[kk][qq],min[kk][qq],max[kk][qq]);
}
int Base::markerAnalysisStats1(Marker* pp,FitsImage* ptr, ostream& str,