Merge branch 'restart' of https://github.com/douggillespie/PAMGuard into restart

This commit is contained in:
Douglas Gillespie 2024-03-05 16:37:26 +00:00
commit 8af8c5d416
5 changed files with 30 additions and 7 deletions

View File

@ -404,7 +404,7 @@ public class MapRectProjector extends MapProjector {
private String findGpsTrackText(Point mousePoint, int ploNumberMatch) { private String findGpsTrackText(Point mousePoint, int ploNumberMatch) {
GPSControl gpsControl = GPSControl.getGpsControl(); GPSControl gpsControl = GPSControl.getGpsControl();
if (gpsControl == null) { if (gpsControl == null || mousePoint == null) {
return null; return null;
} }
LatLong currentPos = getDataPosition(new Coordinate3d(mousePoint.x, mousePoint.y)); LatLong currentPos = getDataPosition(new Coordinate3d(mousePoint.x, mousePoint.y));

View File

@ -1382,7 +1382,7 @@ public class PamController implements PamControllerInterface, PamSettings {
* @param sayEmpties dump info even if a buffer is empty (otherwise, only ones that have stuff still) * @param sayEmpties dump info even if a buffer is empty (otherwise, only ones that have stuff still)
*/ */
public void dumpBufferStatus(String message, boolean sayEmpties) { public void dumpBufferStatus(String message, boolean sayEmpties) {
if (2 >1) return; //if (2 >1) return;
System.out.println("**** Dumping process buffer status: " + message); System.out.println("**** Dumping process buffer status: " + message);
ArrayList<PamControlledUnit> pamControlledUnits = pamConfiguration.getPamControlledUnits(); ArrayList<PamControlledUnit> pamControlledUnits = pamConfiguration.getPamControlledUnits();
for (PamControlledUnit aUnit : pamControlledUnits) { for (PamControlledUnit aUnit : pamControlledUnits) {

View File

@ -16,7 +16,7 @@ public class PamguardVersionInfo {
* @return release type * @return release type
*/ */
static public ReleaseType getReleaseType() { static public ReleaseType getReleaseType() {
return ReleaseType.CORE; return ReleaseType.OTHER;
} }
/** /**

View File

@ -45,6 +45,7 @@ public class MHTClickTrainAlgorithm implements ClickTrainAlgorithm, PamSettings
public static final String MHT_NAME = "MHT detector"; public static final String MHT_NAME = "MHT detector";
/** /**
* Reference to the click train control. * Reference to the click train control.
*/ */
@ -354,6 +355,7 @@ public class MHTClickTrainAlgorithm implements ClickTrainAlgorithm, PamSettings
TrackBitSet trackBitSet; TrackBitSet trackBitSet;
TrackDataUnits trackUnits; TrackDataUnits trackUnits;
if (nTracks>0) Debug.out.println("-------------------Grab Done Trains---------------"); if (nTracks>0) Debug.out.println("-------------------Grab Done Trains---------------");
try {
for (int i =0; i<nTracks; i++) { for (int i =0; i<nTracks; i++) {
trackBitSet=mhtKernal.getConfirmedTrack(i); trackBitSet=mhtKernal.getConfirmedTrack(i);
Debug.out.println("MHTAlgorithm: Confirmed Track Grab: No. " + MHTKernel.getTrueBitCount(trackBitSet.trackBitSet) + " flag: " + trackBitSet.flag + " chi2: " +trackBitSet.chi2Track.getChi2()); Debug.out.println("MHTAlgorithm: Confirmed Track Grab: No. " + MHTKernel.getTrueBitCount(trackBitSet.trackBitSet) + " flag: " + trackBitSet.flag + " chi2: " +trackBitSet.chi2Track.getChi2());
@ -379,6 +381,10 @@ public class MHTClickTrainAlgorithm implements ClickTrainAlgorithm, PamSettings
trackCount++; trackCount++;
saveClickTrain(trackUnits, trackBitSet.chi2Track.getMHTChi2Info()); saveClickTrain(trackUnits, trackBitSet.chi2Track.getMHTChi2Info());
} }
}
catch (Exception e) {
System.out.printf("Handled MHTClickTrainAlgorithm Exception %s in grabDoneTrains: %s\n", e.getClass().getSimpleName(), e.getMessage());
}
if (nTracks>0) Debug.out.println("-------------------------------------------------"); if (nTracks>0) Debug.out.println("-------------------------------------------------");

View File

@ -3,6 +3,7 @@ package clickTrainDetector.clickTrainAlgorithms.mht;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.BitSet; import java.util.BitSet;
import java.util.Collections; import java.util.Collections;
import java.util.Comparator;
import PamUtils.PamArrayUtils; import PamUtils.PamArrayUtils;
import PamguardMVC.debug.Debug; import PamguardMVC.debug.Debug;
@ -286,6 +287,7 @@ public class MHTKernel<T> {
MHTChi2<T> mhtChi2; MHTChi2<T> mhtChi2;
int index; int index;
synchronized(trackSynchronisation) { synchronized(trackSynchronisation) {
try {
for (int i=0; i<possibleTracks.size(); i++) { for (int i=0; i<possibleTracks.size(); i++) {
currentBitSet=possibleTracks.get(i).trackBitSet; currentBitSet=possibleTracks.get(i).trackBitSet;
@ -313,6 +315,10 @@ public class MHTKernel<T> {
//added the cloned bitset to not mess up references //added the cloned bitset to not mess up references
newPossibilities.add(new TrackBitSet(currentBitSet, mhtChi2)); newPossibilities.add(new TrackBitSet(currentBitSet, mhtChi2));
} }
}
catch (Exception e) {
System.out.printf("******* MHTKernel Exception %s in growProbMatrix: %s\n", e.getClass().getSimpleName(), e.getMessage());
}
} }
} }
@ -348,10 +354,21 @@ public class MHTKernel<T> {
//first sort the tracks by increasing chi2 values. //first sort the tracks by increasing chi2 values.
//sort the possible tracks by chi2 values //sort the possible tracks by chi2 values
//now sort the chi2 values so they correspond to the track list. //now sort the chi2 values so they correspond to the track list.
Collections.sort(newPossibleTracks, (left, right)->{ // Collections.sort(newPossibleTracks, (left, right)->{
//Note- this is definitely in the correct order // //Note- this is definitely in the correct order
return Double.compare(left.chi2Track.getChi2(), right.chi2Track.getChi2()); // return Double.compare(left.chi2Track.getChi2(), right.chi2Track.getChi2());
}); // });
try {
Collections.sort(newPossibleTracks, new Comparator<TrackBitSet>() {
@Override
public int compare(TrackBitSet left, TrackBitSet right) {
return Double.compare(left.chi2Track.getChi2(), right.chi2Track.getChi2());
}
});
}
catch (Exception e) {
System.out.printf("Handled MHTKernel Exception %s in pruneProbMatrix: %s\n", e.getClass().getSimpleName(), e.getMessage());
}
// for (int i=0; i<newPossibleTracks.size(); i++) { // for (int i=0; i<newPossibleTracks.size(); i++) {
// System.out.print("Possibility chi2: " + i + " " + String.format("%.3f", newPossibleTracks.get(i).chi2Track.getChi2())); // System.out.print("Possibility chi2: " + i + " " + String.format("%.3f", newPossibleTracks.get(i).chi2Track.getChi2()));