} /* AddNextBunchIntoLoadedStats */ private void LoadStatsForSelectedGroup() { uint[] nextBunch = null; if (allSipperFiles || (!String.IsNullOrEmpty(sipperFileName))) { nextBunch = dbConn.ImageGetDepthStatistics (selectedImageGroup, sipperFileName, depthIncrements, mlClass, classKeyToUse, probMin, probMax, sizeMin, sizeMax ); } else { nextBunch = dbConn.ImageGetDepthStatistics (selectedImageGroup, cruiseName, stationName, deploymentNum, depthIncrements, mlClass, classKeyToUse, probMin, probMax, sizeMin, sizeMax ); } if (nextBunch == null) { return; } blocker.StartBlock(); AddNextBunchIntoLoadedStats(ref loadedStats, nextBunch, ref imageCountTotal); newStatsAvailable = true; blocker.EndBlock(); nextBunch = null; } /* LoadStatsForSelectedGroup */
private float[] CountsByDepth(PicesClass c, char classKeyToUse ) { String predOrValStr = "Validated"; if (classKeyToUse != 'V') { predOrValStr = "Predicted"; } String msg = "Extracting Counts for \"" + c.Name + "\"" + " " + predOrValStr; statusMsgs.AddMsg(msg); msgQueue.AddMsg(msg); uint[] counts = null; PicesSipperFileList sipperFiles = threadConn.SipperFileLoad(cruise, station, deployment); foreach (PicesSipperFile sf in sipperFiles) { if (cancelRequested) { break; } msg = "Retrieving counts for Class[" + c.Name + "] SipperFile[" + sf.SipperFileName + "]" + predOrValStr; statusMsgs.AddMsg("Retrieving counts for Class[" + c.Name + "] SipperFile[" + sf.SipperFileName + "]"); uint[] countsThisSipperFile = threadConn.ImageGetDepthStatistics(group, // PicesDataBaseImageGroup^ imageGroup, sf.SipperFileName, depthIncrement, // depthIncrements, c, // mlClass, classKeyToUse, // classKeyToUse, probMin, probMax, sizeMin, sizeMax ); counts = MergeTwoLists(counts, countsThisSipperFile); } if (cancelRequested) { return(null); } if (counts == null) { counts = new uint[1]; counts[0] = 0; } float[] countsFloat = new float[counts.Length]; for (int idx = 0; idx < counts.Length; ++idx) { countsFloat[idx] = counts[idx]; } if (!includeSubClasses) { return(countsFloat); } List <PicesClass> children = c.Children; if (children != null) { foreach (PicesClass pc in children) { if (cancelRequested) { break; } float[] countsForChild = CountsByDepth(pc, classKeyToUse); if (countsForChild != null) { countsFloat = MergeTwoLists(countsFloat, countsForChild); } } } return(countsFloat); } /* CountsByDepth */