public class VisionSolutions extends java.lang.Object implements Solutions.Subject
Modifier and Type | Class and Description |
---|---|
class |
VisionSolutions.VisionFeatureIssue |
Modifier and Type | Field and Description |
---|---|
protected long |
diagnosticsMilliseconds |
Constructor and Description |
---|
VisionSolutions() |
Modifier and Type | Method and Description |
---|---|
Length |
autoCalibrateCamera(ReferenceCamera camera,
HeadMountable movable,
java.lang.Double expectedDiameter,
java.lang.String diagnostics,
boolean secondary)
As we don't know anything about the camera yet, the preliminary auto-calibration is somewhat of a chicken and egg
proposition.
|
void |
calibrateVisualHoming(ReferenceHead head,
ReferenceCamera defaultCamera,
Length fiducialDiameter)
Calibrate the visual homing.
|
Location |
centerInOnSubjectLocation(ReferenceCamera camera,
HeadMountable movable,
Length subjectDiameter,
java.lang.String diagnostics,
boolean secondary)
A fiducial/nozzle tip locator using the same built-in subject detection as the auto-calibration.
|
void |
findIssues(Solutions solutions)
Report any detected issue and proposed solution in the list.
|
long |
getDiagnosticsMilliseconds() |
CvStage.Result.Circle |
getExpectedOffsetsAndDiameter(ReferenceCamera camera,
HeadMountable movable,
Location location,
Length expectedDiameter,
boolean secondary) |
Length |
getHomingFiducialDiameter() |
double |
getSettleAcceptableComputeTime() |
double |
getSettleMaximumPixelDiff() |
double |
getSettleTestMoveMm() |
double |
getSettleWantedResolutionMm() |
CvStage.Result.Circle |
getSubjectPixelLocation(ReferenceCamera camera,
HeadMountable movable,
CvStage.Result.Circle expectedOffsetAndDiameter,
double extraSearchRange,
java.lang.String diagnostics,
DetectCircularSymmetry.ScoreRange scoreRange,
boolean rough)
Before we know anything about the camera, we cannot use pipelines, so we use the DetectCircularSymmetry stage
directly.
|
int |
getSuperSampling() |
long |
getZeroKnowledgeSettleTimeMs() |
boolean |
isSolvedPrimaryXY(ReferenceHead head) |
boolean |
isSolvedPrimaryZ(ReferenceHead head) |
boolean |
isSolvedSecondaryXY(ReferenceHead head) |
boolean |
isSolvedSecondaryZ(ReferenceHead head) |
VisionSolutions |
setMachine(ReferenceMachine machine) |
void |
zeroKnowledgeMoveTo(HeadMountable hm,
Location location,
boolean safeZ)
Moves the head-mountable to a location at safe Z using a conservative backlash-compensation scheme.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getSubjectIcon, getSubjectText
public VisionSolutions setMachine(ReferenceMachine machine)
public int getSuperSampling()
public long getDiagnosticsMilliseconds()
public long getZeroKnowledgeSettleTimeMs()
public double getSettleWantedResolutionMm()
public double getSettleAcceptableComputeTime()
public double getSettleMaximumPixelDiff()
public double getSettleTestMoveMm()
public void findIssues(Solutions solutions)
Solutions.Subject
findIssues
in interface Solutions.Subject
public Length autoCalibrateCamera(ReferenceCamera camera, HeadMountable movable, java.lang.Double expectedDiameter, java.lang.String diagnostics, boolean secondary) throws java.lang.Exception
zeroKnowledgeDisplacementMm
The three points define the X and Y axis grid.camera
- movable
- expectedDiameter
- diagnostics
- secondary
- true if this should calibrate the secondary units per pixeljava.lang.Exception
public Location centerInOnSubjectLocation(ReferenceCamera camera, HeadMountable movable, Length subjectDiameter, java.lang.String diagnostics, boolean secondary) throws java.lang.Exception
camera
- movable
- diagnostics
- secondary
- java.lang.Exception
public CvStage.Result.Circle getExpectedOffsetsAndDiameter(ReferenceCamera camera, HeadMountable movable, Location location, Length expectedDiameter, boolean secondary)
public CvStage.Result.Circle getSubjectPixelLocation(ReferenceCamera camera, HeadMountable movable, CvStage.Result.Circle expectedOffsetAndDiameter, double extraSearchRange, java.lang.String diagnostics, DetectCircularSymmetry.ScoreRange scoreRange, boolean rough) throws java.lang.Exception
camera
- movable
- expectedOffsetAndDiameter
- extraSearchRange
- Specifies an extra search range, relative to the camera view size (minimum of width, height).diagnostics
- scoreRange
- rough
- TODOjava.lang.Exception
public void zeroKnowledgeMoveTo(HeadMountable hm, Location location, boolean safeZ) throws java.lang.Exception
hm
- location
- safeZ
- java.lang.Exception
public boolean isSolvedPrimaryXY(ReferenceHead head)
public boolean isSolvedPrimaryZ(ReferenceHead head)
public boolean isSolvedSecondaryXY(ReferenceHead head)
public boolean isSolvedSecondaryZ(ReferenceHead head)
public void calibrateVisualHoming(ReferenceHead head, ReferenceCamera defaultCamera, Length fiducialDiameter) throws java.lang.Exception
head
- defaultCamera
- fiducialDiameter
- java.lang.Exception
public Length getHomingFiducialDiameter()