Browse Source

Merge branch 'master' of https://github.com/molstar/molstar

Alexander Rose 4 years ago
parent
commit
76a5ce8f14
1 changed files with 6 additions and 3 deletions
  1. 6 3
      src/mol-model-formats/volume/ccp4.ts

+ 6 - 3
src/mol-model-formats/volume/ccp4.ts

@@ -68,15 +68,18 @@ export function volumeFromCcp4(source: Ccp4File, params?: { voxelSize?: Vec3, of
         // Min/max/mean are reliable (based on LiteMol/DensityServer usage)
         // These, however, calculate sigma, so no data on that.
 
+        // always calculate stats when all stats related values are zero
+        const calcStats = header.AMIN === 0 && header.AMAX === 0 && header.AMEAN === 0 && header.ARMS === 0;
+
         return {
             label: params?.label,
             grid: {
                 transform: { kind: 'spacegroup', cell, fractionalBox: Box3D.create(origin_frac, Vec3.add(Vec3.zero(), origin_frac, dimensions_frac)) },
                 cells: data,
                 stats: {
-                    min: isNaN(header.AMIN) ? arrayMin(values) : header.AMIN,
-                    max: isNaN(header.AMAX) ? arrayMax(values) : header.AMAX,
-                    mean: isNaN(header.AMEAN) ? arrayMean(values) : header.AMEAN,
+                    min: (isNaN(header.AMIN) || calcStats) ? arrayMin(values) : header.AMIN,
+                    max: (isNaN(header.AMAX) || calcStats) ? arrayMax(values) : header.AMAX,
+                    mean: (isNaN(header.AMEAN) || calcStats) ? arrayMean(values) : header.AMEAN,
                     sigma: (isNaN(header.ARMS) || header.ARMS === 0) ? arrayRms(values) : header.ARMS
                 },
             },