Remove unnecessary assignment

In places like pipelines or DataSocketHandler, objects were being instantiated and assigned to a variable, but were then passed into a method, never to be used again. For pipelines especially, that style of code wasn't always consistently used, and other pipelines skipped assignment and instantiated objects in the method call. Make everything consistent by always instantiating in the method call. GenericUSBCameraSettables also had an unnecessary assignment, and that was cleaned up too for readability.
This commit is contained in:
Gold856
2025-03-30 20:25:11 -04:00
committed by Matt Morley
parent e514071094
commit 89c0cc3a01
10 changed files with 179 additions and 248 deletions

View File

@@ -271,11 +271,7 @@ public class GenericUSBCameraSettables extends VisionSourceSettables {
videoModes = new HashMap<>();
List<VideoMode> videoModesList = new ArrayList<>();
try {
VideoMode[] modes;
modes = camera.enumerateVideoModes();
for (VideoMode videoMode : modes) {
for (VideoMode videoMode : camera.enumerateVideoModes()) {
// Filter grey modes
if (videoMode.pixelFormat == PixelFormat.kGray
|| videoMode.pixelFormat == PixelFormat.kUnknown) {

View File

@@ -134,8 +134,8 @@ public class AprilTagPipeline extends CVPipeline<CVPipelineResult, AprilTagPipel
return new CVPipelineResult(frame.sequenceID, 0, 0, List.of(), frame);
}
CVPipeResult<List<AprilTagDetection>> tagDetectionPipeResult;
tagDetectionPipeResult = aprilTagDetectionPipe.run(frame.processedImage);
CVPipeResult<List<AprilTagDetection>> tagDetectionPipeResult =
aprilTagDetectionPipe.run(frame.processedImage);
sumPipeNanosElapsed += tagDetectionPipeResult.nanosElapsed;
List<AprilTagDetection> detections = tagDetectionPipeResult.output;

View File

@@ -145,8 +145,8 @@ public class ArucoPipeline extends CVPipeline<CVPipelineResult, ArucoPipelineSet
return new CVPipelineResult(frame.sequenceID, 0, 0, List.of(), frame);
}
CVPipeResult<List<ArucoDetectionResult>> tagDetectionPipeResult;
tagDetectionPipeResult = arucoDetectionPipe.run(frame.processedImage);
CVPipeResult<List<ArucoDetectionResult>> tagDetectionPipeResult =
arucoDetectionPipe.run(frame.processedImage);
sumPipeNanosElapsed += tagDetectionPipeResult.nanosElapsed;
// If we want to debug the thresholding steps, draw the first step to the color image
@@ -163,14 +163,13 @@ public class ArucoPipeline extends CVPipeline<CVPipelineResult, ArucoPipelineSet
// Populate target list for multitag
// (TODO: Address circular dependencies. Multitag only requires corners and IDs, this should
// not be necessary.)
TrackedTarget target =
targetList.add(
new TrackedTarget(
detection,
null,
new TargetCalculationParameters(
false, null, null, null, null, frameStaticProperties));
targetList.add(target);
false, null, null, null, null, frameStaticProperties)));
}
// Do multi-tag pose estimation

View File

@@ -82,7 +82,7 @@ public class Calibrate3dPipeline
@Override
protected void setPipeParamsImpl() {
FindBoardCornersPipe.FindCornersPipeParams findCornersPipeParams =
findBoardCornersPipe.setParams(
new FindBoardCornersPipe.FindCornersPipeParams(
settings.boardHeight,
settings.boardWidth,
@@ -91,13 +91,11 @@ public class Calibrate3dPipeline
settings.gridSize,
settings.markerSize,
settings.streamingFrameDivisor,
settings.useOldPattern);
findBoardCornersPipe.setParams(findCornersPipeParams);
settings.useOldPattern));
Calibrate3dPipe.CalibratePipeParams calibratePipeParams =
calibrate3dPipe.setParams(
new Calibrate3dPipe.CalibratePipeParams(
settings.boardHeight, settings.boardWidth, settings.gridSize, settings.useMrCal);
calibrate3dPipe.setParams(calibratePipeParams);
settings.boardHeight, settings.boardWidth, settings.gridSize, settings.useMrCal));
}
@Override
@@ -124,9 +122,7 @@ public class Calibrate3dPipeline
var outputColorCVMat = new CVMat();
inputColorMat.copyTo(outputColorCVMat.getMat());
FindBoardCornersPipeResult findBoardResult;
findBoardResult =
FindBoardCornersPipeResult findBoardResult =
findBoardCornersPipe.run(Pair.of(inputColorMat, outputColorCVMat.getMat())).output;
if (takeSnapshot) {

View File

@@ -72,19 +72,15 @@ public class ColoredShapePipeline
settings.offsetDualPointB,
settings.offsetDualPointBArea);
SpeckleRejectPipe.SpeckleRejectParams speckleRejectParams =
new SpeckleRejectPipe.SpeckleRejectParams(settings.contourSpecklePercentage);
speckleRejectPipe.setParams(speckleRejectParams);
speckleRejectPipe.setParams(
new SpeckleRejectPipe.SpeckleRejectParams(settings.contourSpecklePercentage));
FindContoursPipe.FindContoursParams findContoursParams =
new FindContoursPipe.FindContoursParams();
findContoursPipe.setParams(findContoursParams);
findContoursPipe.setParams(new FindContoursPipe.FindContoursParams());
FindPolygonPipe.FindPolygonPipeParams findPolygonPipeParams =
new FindPolygonPipe.FindPolygonPipeParams(settings.accuracyPercentage);
findPolygonPipe.setParams(findPolygonPipeParams);
findPolygonPipe.setParams(
new FindPolygonPipe.FindPolygonPipeParams(settings.accuracyPercentage));
FindCirclesPipe.FindCirclePipeParams findCirclePipeParams =
findCirclesPipe.setParams(
new FindCirclesPipe.FindCirclePipeParams(
settings.circleDetectThreshold,
settings.contourRadius.getFirst(),
@@ -92,49 +88,45 @@ public class ColoredShapePipeline
settings.contourRadius.getSecond(),
settings.maxCannyThresh,
settings.circleAccuracy,
Math.hypot(frameStaticProperties.imageWidth, frameStaticProperties.imageHeight));
findCirclesPipe.setParams(findCirclePipeParams);
Math.hypot(frameStaticProperties.imageWidth, frameStaticProperties.imageHeight)));
FilterShapesPipe.FilterShapesPipeParams filterShapesPipeParams =
filterShapesPipe.setParams(
new FilterShapesPipe.FilterShapesPipeParams(
settings.contourShape,
settings.contourArea.getFirst(),
settings.contourArea.getSecond(),
settings.contourPerimeter.getFirst(),
settings.contourPerimeter.getSecond(),
frameStaticProperties);
filterShapesPipe.setParams(filterShapesPipeParams);
frameStaticProperties));
SortContoursPipe.SortContoursParams sortContoursParams =
sortContoursPipe.setParams(
new SortContoursPipe.SortContoursParams(
settings.contourSortMode,
settings.outputShowMultipleTargets ? MAX_MULTI_TARGET_RESULTS : 1,
frameStaticProperties); // TODO don't hardcode?
sortContoursPipe.setParams(sortContoursParams);
settings.outputShowMultipleTargets
? MAX_MULTI_TARGET_RESULTS // TODO don't hardcode?
: 1,
frameStaticProperties));
Collect2dTargetsPipe.Collect2dTargetsParams collect2dTargetsParams =
collect2dTargetsPipe.setParams(
new Collect2dTargetsPipe.Collect2dTargetsParams(
settings.offsetRobotOffsetMode,
settings.offsetSinglePoint,
dualOffsetValues,
settings.contourTargetOffsetPointEdge,
settings.contourTargetOrientation,
frameStaticProperties);
collect2dTargetsPipe.setParams(collect2dTargetsParams);
frameStaticProperties));
var params =
cornerDetectionPipe.setParams(
new CornerDetectionPipe.CornerDetectionPipeParameters(
settings.cornerDetectionStrategy,
settings.cornerDetectionUseConvexHulls,
settings.cornerDetectionExactSideCount,
settings.cornerDetectionSideCount,
settings.cornerDetectionAccuracyPercentage);
cornerDetectionPipe.setParams(params);
settings.cornerDetectionAccuracyPercentage));
var solvePNPParams =
solvePNPPipe.setParams(
new SolvePNPPipe.SolvePNPPipeParams(
frameStaticProperties.cameraCalibration, settings.targetModel);
solvePNPPipe.setParams(solvePNPParams);
frameStaticProperties.cameraCalibration, settings.targetModel));
Draw2dTargetsPipe.Draw2dTargetsParams draw2DTargetsParams =
new Draw2dTargetsPipe.Draw2dTargetsParams(
@@ -146,7 +138,7 @@ public class ColoredShapePipeline
draw2DTargetsParams.showRotatedBox = false;
draw2DTargetsPipe.setParams(draw2DTargetsParams);
Draw2dCrosshairPipe.Draw2dCrosshairParams draw2dCrosshairParams =
draw2dCrosshairPipe.setParams(
new Draw2dCrosshairPipe.Draw2dCrosshairParams(
settings.outputShouldDraw,
settings.offsetRobotOffsetMode,
@@ -154,16 +146,14 @@ public class ColoredShapePipeline
dualOffsetValues,
frameStaticProperties,
settings.streamingFrameDivisor,
settings.inputImageRotationMode);
draw2dCrosshairPipe.setParams(draw2dCrosshairParams);
settings.inputImageRotationMode));
var draw3dTargetsParams =
draw3dTargetsPipe.setParams(
new Draw3dTargetsPipe.Draw3dContoursParams(
settings.outputShouldDraw,
frameStaticProperties.cameraCalibration,
settings.targetModel,
settings.streamingFrameDivisor);
draw3dTargetsPipe.setParams(draw3dTargetsParams);
settings.streamingFrameDivisor));
}
@Override

View File

@@ -47,10 +47,11 @@ public class DriverModePipeline
@Override
protected void setPipeParamsImpl() {
Draw2dCrosshairPipe.Draw2dCrosshairParams draw2dCrosshairParams =
draw2dCrosshairPipe.setParams(
new Draw2dCrosshairPipe.Draw2dCrosshairParams(
frameStaticProperties, settings.streamingFrameDivisor, settings.inputImageRotationMode);
draw2dCrosshairPipe.setParams(draw2dCrosshairParams);
frameStaticProperties,
settings.streamingFrameDivisor,
settings.inputImageRotationMode));
resizeImagePipe.setParams(
new ResizeImagePipe.ResizeImageParams(settings.streamingFrameDivisor));

View File

@@ -67,10 +67,8 @@ public class ObjectDetectionPipeline
if (selectedModel.isEmpty()) {
selectedModel = Optional.of(NullModel.getInstance());
}
var params =
new ObjectDetectionPipeParams(settings.confidence, settings.nms, selectedModel.get());
objectDetectorPipe.setParams(params);
objectDetectorPipe.setParams(
new ObjectDetectionPipeParams(settings.confidence, settings.nms, selectedModel.get()));
DualOffsetValues dualOffsetValues =
new DualOffsetValues(
@@ -79,30 +77,27 @@ public class ObjectDetectionPipeline
settings.offsetDualPointB,
settings.offsetDualPointBArea);
SortContoursPipe.SortContoursParams sortContoursParams =
sortContoursPipe.setParams(
new SortContoursPipe.SortContoursParams(
settings.contourSortMode,
settings.outputShowMultipleTargets ? MAX_MULTI_TARGET_RESULTS : 1,
frameStaticProperties);
sortContoursPipe.setParams(sortContoursParams);
frameStaticProperties));
var filterContoursParams =
filterContoursPipe.setParams(
new FilterObjectDetectionsPipe.FilterContoursParams(
settings.contourArea,
settings.contourRatio,
frameStaticProperties,
settings.contourTargetOrientation == TargetOrientation.Landscape);
filterContoursPipe.setParams(filterContoursParams);
settings.contourTargetOrientation == TargetOrientation.Landscape));
Collect2dTargetsPipe.Collect2dTargetsParams collect2dTargetsParams =
collect2dTargetsPipe.setParams(
new Collect2dTargetsPipe.Collect2dTargetsParams(
settings.offsetRobotOffsetMode,
settings.offsetSinglePoint,
dualOffsetValues,
settings.contourTargetOffsetPointEdge,
settings.contourTargetOrientation,
frameStaticProperties);
collect2dTargetsPipe.setParams(collect2dTargetsParams);
frameStaticProperties));
}
@Override

View File

@@ -55,28 +55,25 @@ public class OutputStreamPipeline {
settings.offsetDualPointB,
settings.offsetDualPointBArea);
var draw2DTargetsParams =
draw2dTargetsPipe.setParams(
new Draw2dTargetsPipe.Draw2dTargetsParams(
settings.outputShouldDraw,
settings.outputShowMultipleTargets,
settings.streamingFrameDivisor);
draw2dTargetsPipe.setParams(draw2DTargetsParams);
settings.streamingFrameDivisor));
var draw2DAprilTagsParams =
draw2dAprilTagsPipe.setParams(
new Draw2dAprilTagsPipe.Draw2dAprilTagsParams(
settings.outputShouldDraw,
settings.outputShowMultipleTargets,
settings.streamingFrameDivisor);
draw2dAprilTagsPipe.setParams(draw2DAprilTagsParams);
settings.streamingFrameDivisor));
var draw2DArucoParams =
draw2dArucoPipe.setParams(
new Draw2dArucoPipe.Draw2dArucoParams(
settings.outputShouldDraw,
settings.outputShowMultipleTargets,
settings.streamingFrameDivisor);
draw2dArucoPipe.setParams(draw2DArucoParams);
settings.streamingFrameDivisor));
var draw2dCrosshairParams =
draw2dCrosshairPipe.setParams(
new Draw2dCrosshairPipe.Draw2dCrosshairParams(
settings.outputShouldDraw,
settings.offsetRobotOffsetMode,
@@ -84,32 +81,28 @@ public class OutputStreamPipeline {
dualOffsetValues,
frameStaticProperties,
settings.streamingFrameDivisor,
settings.inputImageRotationMode);
draw2dCrosshairPipe.setParams(draw2dCrosshairParams);
settings.inputImageRotationMode));
var draw3dTargetsParams =
draw3dTargetsPipe.setParams(
new Draw3dTargetsPipe.Draw3dContoursParams(
settings.outputShouldDraw,
frameStaticProperties.cameraCalibration,
settings.targetModel,
settings.streamingFrameDivisor);
draw3dTargetsPipe.setParams(draw3dTargetsParams);
settings.streamingFrameDivisor));
var draw3dAprilTagsParams =
draw3dAprilTagsPipe.setParams(
new Draw3dAprilTagsPipe.Draw3dAprilTagsParams(
settings.outputShouldDraw,
frameStaticProperties.cameraCalibration,
settings.targetModel,
settings.streamingFrameDivisor);
draw3dAprilTagsPipe.setParams(draw3dAprilTagsParams);
settings.streamingFrameDivisor));
var draw3dArucoParams =
draw3dArucoPipe.setParams(
new Draw3dArucoPipe.Draw3dArucoParams(
settings.outputShouldDraw,
frameStaticProperties.cameraCalibration,
settings.targetModel,
settings.streamingFrameDivisor);
draw3dArucoPipe.setParams(draw3dArucoParams);
settings.streamingFrameDivisor));
resizeImagePipe.setParams(
new ResizeImagePipe.ResizeImageParams(settings.streamingFrameDivisor));

View File

@@ -64,14 +64,12 @@ public class ReflectivePipeline extends CVPipeline<CVPipelineResult, ReflectiveP
settings.offsetDualPointB,
settings.offsetDualPointBArea);
var findContoursParams = new FindContoursPipe.FindContoursParams();
findContoursPipe.setParams(findContoursParams);
findContoursPipe.setParams(new FindContoursPipe.FindContoursParams());
var speckleRejectParams =
new SpeckleRejectPipe.SpeckleRejectParams(settings.contourSpecklePercentage);
speckleRejectPipe.setParams(speckleRejectParams);
speckleRejectPipe.setParams(
new SpeckleRejectPipe.SpeckleRejectParams(settings.contourSpecklePercentage));
var filterContoursParams =
filterContoursPipe.setParams(
new FilterContoursPipe.FilterContoursParams(
settings.contourArea,
settings.contourRatio,
@@ -79,44 +77,38 @@ public class ReflectivePipeline extends CVPipeline<CVPipelineResult, ReflectiveP
frameStaticProperties,
settings.contourFilterRangeX,
settings.contourFilterRangeY,
settings.contourTargetOrientation == TargetOrientation.Landscape);
filterContoursPipe.setParams(filterContoursParams);
settings.contourTargetOrientation == TargetOrientation.Landscape));
var groupContoursParams =
groupContoursPipe.setParams(
new GroupContoursPipe.GroupContoursParams(
settings.contourGroupingMode, settings.contourIntersection);
groupContoursPipe.setParams(groupContoursParams);
settings.contourGroupingMode, settings.contourIntersection));
var sortContoursParams =
sortContoursPipe.setParams(
new SortContoursPipe.SortContoursParams(
settings.contourSortMode,
settings.outputShowMultipleTargets ? MAX_MULTI_TARGET_RESULTS : 1,
frameStaticProperties);
sortContoursPipe.setParams(sortContoursParams);
frameStaticProperties));
var collect2dTargetsParams =
collect2dTargetsPipe.setParams(
new Collect2dTargetsPipe.Collect2dTargetsParams(
settings.offsetRobotOffsetMode,
settings.offsetSinglePoint,
dualOffsetValues,
settings.contourTargetOffsetPointEdge,
settings.contourTargetOrientation,
frameStaticProperties);
collect2dTargetsPipe.setParams(collect2dTargetsParams);
frameStaticProperties));
var cornerDetectionPipeParams =
cornerDetectionPipe.setParams(
new CornerDetectionPipe.CornerDetectionPipeParameters(
settings.cornerDetectionStrategy,
settings.cornerDetectionUseConvexHulls,
settings.cornerDetectionExactSideCount,
settings.cornerDetectionSideCount,
settings.cornerDetectionAccuracyPercentage);
cornerDetectionPipe.setParams(cornerDetectionPipeParams);
settings.cornerDetectionAccuracyPercentage));
var solvePNPParams =
solvePNPPipe.setParams(
new SolvePNPPipe.SolvePNPPipeParams(
frameStaticProperties.cameraCalibration, settings.targetModel);
solvePNPPipe.setParams(solvePNPParams);
frameStaticProperties.cameraCalibration, settings.targetModel));
}
@Override

View File

@@ -127,39 +127,30 @@ public class DataSocketHandler {
}
switch (socketMessageType) {
case SMT_DRIVERMODE -> {
// TODO: what is this event?
var data = (Boolean) entryValue;
var dmIsDriverEvent =
new IncomingWebSocketEvent<Boolean>(
DataChangeDestination.DCD_ACTIVEMODULE,
"isDriverMode",
data,
cameraUniqueName,
context);
dcService.publishEvents(dmIsDriverEvent);
}
case SMT_CHANGECAMERANAME -> {
var ccnEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"cameraNickname",
(String) entryValue,
cameraUniqueName,
context);
dcService.publishEvent(ccnEvent);
}
case SMT_CHANGEPIPELINENAME -> {
var cpnEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"pipelineName",
(String) entryValue,
cameraUniqueName,
context);
dcService.publishEvent(cpnEvent);
}
case SMT_DRIVERMODE -> // TODO: what is this event?
dcService.publishEvents(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"isDriverMode",
(Boolean) entryValue,
cameraUniqueName,
context));
case SMT_CHANGECAMERANAME ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"cameraNickname",
(String) entryValue,
cameraUniqueName,
context));
case SMT_CHANGEPIPELINENAME ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"pipelineName",
(String) entryValue,
cameraUniqueName,
context));
case SMT_ADDNEWPIPELINE -> {
// HashMap<String, Object> data = (HashMap<String, Object>) entryValue;
// var type = (PipelineType) data.get("pipelineType");
@@ -168,109 +159,90 @@ public class DataSocketHandler {
var name = (String) arr.get(0);
var type = PipelineType.values()[(Integer) arr.get(1) + 2];
var newPipelineEvent =
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"newPipelineInfo",
Pair.of(name, type),
cameraUniqueName,
context);
dcService.publishEvent(newPipelineEvent);
}
case SMT_CHANGEBRIGHTNESS -> {
HardwareManager.getInstance()
.setBrightnessPercent(Integer.parseInt(entryValue.toString()));
context));
}
case SMT_CHANGEBRIGHTNESS ->
HardwareManager.getInstance()
.setBrightnessPercent(Integer.parseInt(entryValue.toString()));
case SMT_DUPLICATEPIPELINE -> {
var pipeIndex = (Integer) entryValue;
logger.info("Duplicating pipe@index" + pipeIndex + " for camera " + cameraUniqueName);
var newPipelineEvent =
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"duplicatePipeline",
pipeIndex,
cameraUniqueName,
context);
dcService.publishEvent(newPipelineEvent);
}
case SMT_DELETECURRENTPIPELINE -> {
var deleteCurrentPipelineEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"deleteCurrPipeline",
0,
cameraUniqueName,
context);
dcService.publishEvent(deleteCurrentPipelineEvent);
}
case SMT_ROBOTOFFSETPOINT -> {
var robotOffsetPointEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"robotOffsetPoint",
(Integer) entryValue,
cameraUniqueName,
null);
dcService.publishEvent(robotOffsetPointEvent);
}
case SMT_CURRENTCAMERA -> {
var changeCurrentCameraEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_OTHER, "changeUICamera", (Integer) entryValue);
dcService.publishEvent(changeCurrentCameraEvent);
}
case SMT_CURRENTPIPELINE -> {
var changePipelineEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"changePipeline",
(Integer) entryValue,
cameraUniqueName,
context);
dcService.publishEvent(changePipelineEvent);
}
case SMT_STARTPNPCALIBRATION -> {
var changePipelineEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"startCalibration",
(Map) entryValue,
cameraUniqueName,
context);
dcService.publishEvent(changePipelineEvent);
}
case SMT_SAVEINPUTSNAPSHOT -> {
var takeInputSnapshotEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"saveInputSnapshot",
0,
cameraUniqueName,
context);
dcService.publishEvent(takeInputSnapshotEvent);
}
case SMT_SAVEOUTPUTSNAPSHOT -> {
var takeOutputSnapshotEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"saveOutputSnapshot",
0,
cameraUniqueName,
context);
dcService.publishEvent(takeOutputSnapshotEvent);
}
case SMT_TAKECALIBRATIONSNAPSHOT -> {
var takeCalSnapshotEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"takeCalSnapshot",
0,
cameraUniqueName,
context);
dcService.publishEvent(takeCalSnapshotEvent);
context));
}
case SMT_DELETECURRENTPIPELINE ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"deleteCurrPipeline",
0,
cameraUniqueName,
context));
case SMT_ROBOTOFFSETPOINT ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"robotOffsetPoint",
(Integer) entryValue,
cameraUniqueName,
null));
case SMT_CURRENTCAMERA ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_OTHER, "changeUICamera", (Integer) entryValue));
case SMT_CURRENTPIPELINE ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"changePipeline",
(Integer) entryValue,
cameraUniqueName,
context));
case SMT_STARTPNPCALIBRATION ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"startCalibration",
(Map) entryValue,
cameraUniqueName,
context));
case SMT_SAVEINPUTSNAPSHOT ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"saveInputSnapshot",
0,
cameraUniqueName,
context));
case SMT_SAVEOUTPUTSNAPSHOT ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"saveOutputSnapshot",
0,
cameraUniqueName,
context));
case SMT_TAKECALIBRATIONSNAPSHOT ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"takeCalSnapshot",
0,
cameraUniqueName,
context));
case SMT_PIPELINESETTINGCHANGE -> {
HashMap<String, Object> data = (HashMap<String, Object>) entryValue;
@@ -280,29 +252,26 @@ public class DataSocketHandler {
if (dataEntry.getKey().equals("cameraUniqueName")) {
continue;
}
var pipelineSettingChangeEvent =
dcService.publishEvent(
new IncomingWebSocketEvent(
DataChangeDestination.DCD_ACTIVEPIPELINESETTINGS,
dataEntry.getKey(),
dataEntry.getValue(),
cameraIndex2,
context);
dcService.publishEvent(pipelineSettingChangeEvent);
context));
}
} else {
logger.warn("Unknown message for PSC: " + data.keySet().iterator().next());
}
}
case SMT_CHANGEPIPELINETYPE -> {
var changePipelineEvent =
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"changePipelineType",
(Integer) entryValue,
cameraUniqueName,
context);
dcService.publishEvent(changePipelineEvent);
}
case SMT_CHANGEPIPELINETYPE ->
dcService.publishEvent(
new IncomingWebSocketEvent<>(
DataChangeDestination.DCD_ACTIVEMODULE,
"changePipelineType",
(Integer) entryValue,
cameraUniqueName,
context));
}
} catch (Exception e) {
logger.error("Failed to parse message!", e);