/OpticalSystemData
Gets information about current and last set wavelength and some additional info.
{ "OpticalSystemConfHash": "high", "Output": { "ActualInteraction": "NON", "IdlerWavelength": -1, "Interaction": "NON", "IsForBackgroundMeasurement": false, "IsUserActionCompleted": false, "IsWaitingForUserAction": false, "IsWavelengthSettingInProgress": true, "IsWavelengthStrict": false, "Messages": [ { "Image": "shorts", "IsCritical": false, "IsNew": false, "MessengerIndex": 17, "SeparationDeviceIndex": 44, "Text": "fact" }, { "Image": "pour-over", "IsCritical": false, "IsNew": false, "MessengerIndex": 39, "SeparationDeviceIndex": 15, "Text": "ethical" } ], "MotorPositions": [ { "Key": 237, "Value": 59.727625483520157 }, { "Key": 4, "Value": 803.57052050697177 } ], "OpticalDeviceOutputs": [ { "Key": 209, "Value": 361.76872968756066 }, { "Key": 267, "Value": 24.317816376834092 } ], "OtherDevicesOutputs": [ { "Key": "234c9598", "Value": 930.29675536337152 }, { "Key": "d1c0d2cf", "Value": 122.81199876349979 } ], "SignalWavelength": -1, "Wavelength": -1, "WavelengthSettingCompletionPart": 0 }, "PreviousOutput": { "ActualInteraction": "NON", "IdlerWavelength": -1, "Interaction": "NON", "IsForBackgroundMeasurement": false, "IsUserActionCompleted": false, "IsWaitingForUserAction": false, "IsWavelengthSettingInProgress": true, "IsWavelengthStrict": false, "Messages": [ { "Image": "stumptown", "IsCritical": false, "IsNew": false, "MessengerIndex": 24, "SeparationDeviceIndex": 87, "Text": "bushwick" }, { "Image": "cleanse", "IsCritical": false, "IsNew": false, "MessengerIndex": 26, "SeparationDeviceIndex": 19, "Text": "truffaut" } ], "MotorPositions": [ { "Key": 257, "Value": 595.34301589957579 }, { "Key": 155, "Value": 683.75583863060729 } ], "OpticalDeviceOutputs": [ { "Key": 122, "Value": 487.00992320059328 }, { "Key": 218, "Value": 78.364958557470217 } ], "OtherDevicesOutputs": [ { "Key": "7a6c3be7", "Value": 752.39467516187335 }, { "Key": "5ec8b039", "Value": 117.93375672676309 } ], "SignalWavelength": -1, "Wavelength": -1, "WavelengthSettingCompletionPart": 0 }, "SeparationSystemConfHash": "dreamcatcher", "StateHash": "Arizona", "WavelengthChangeMessages": [ { "Image": "jean", "IsCritical": false, "IsNew": false, "MessengerIndex": 56, "SeparationDeviceIndex": 92, "Text": "they" }, { "Image": "ennui", "IsCritical": false, "IsNew": false, "MessengerIndex": 50, "SeparationDeviceIndex": 4, "Text": "ennui" } ] }
/Output/Wavelength
Gets current output wavelength. If wavelength setting is in progress returns target wavelength.
504.9611588497466
/Output/Interaction
Gets current output interaction string. If wavelength setting is in progress returns target wavelengths interaction.
"39d1f967"
/Output
Gets current output information (wavelength, interaction, calculated motor positions and so on).
Returned properties
Name | Explanation |
---|---|
Interaction | Currently used interaction. NON if wavelength is not set. |
Wavelength | Currently set wavelength. -1 if wavelength is not set. |
IsWavelengthStrict | True if all motors positions match calibration exactly. |
IsWavelengthSettingInProgress | True if wavelength is being set now. This includes both motor movement and user actions (if any). |
WavelengthSettingCompletionPart | If IsWavelengthSettingInProgress==true indicates completion of motor movement. Range is 0-1.0. |
IsWaitingForUserAction | True if motors have been moved to their target positions and user has to perform manual operations. Call /FinishWavelengthSettingAfterUserActions after these operations are completed by user. |
IsUserActionCompleted | True if required user operations have been completed and confirmed bu user (using /FinishWavelengthSettingAfterUserActions). |
Messages | Messages with instructions/images to user. |
{ "ActualInteraction": "NON", "IdlerWavelength": -1, "Interaction": "NON", "IsForBackgroundMeasurement": false, "IsUserActionCompleted": false, "IsWaitingForUserAction": false, "IsWavelengthSettingInProgress": true, "IsWavelengthStrict": false, "Messages": [ { "Image": "heard", "IsCritical": false, "IsNew": false, "MessengerIndex": 73, "SeparationDeviceIndex": 64, "Text": "retro" }, { "Image": "locavore", "IsCritical": false, "IsNew": false, "MessengerIndex": 93, "SeparationDeviceIndex": 38, "Text": "Tofu" } ], "MotorPositions": [ { "Key": 239, "Value": 789.534831787243 }, { "Key": 207, "Value": 298.07990756727747 } ], "OpticalDeviceOutputs": [ { "Key": 11, "Value": 855.35658935800041 }, { "Key": 247, "Value": 748.47648700162608 } ], "OtherDevicesOutputs": [ { "Key": "ab6d576a", "Value": 679.40537430318329 }, { "Key": "ac795f58", "Value": 841.3278124487623 } ], "SignalWavelength": -1, "Wavelength": -1, "WavelengthSettingCompletionPart": 0 }
/ExpandedInteractions
Gets all interactions with their calibration ranges in current optical configuration expanded to simple representation.
[ { "BaseType": "NON", "CanMeasureBackground": false, "OutputRange": { "From": 0, "To": 0 }, "Type": "NON" }, { "BaseType": "NON", "CanMeasureBackground": false, "OutputRange": { "From": 0, "To": 0 }, "Type": "NON" } ]
/FinishWavelengthSettingAfterUserActions
Client application should call this method after wavelength has been set and user's manual operations are completed. This method needs to be called only if setting wavelength required actions by user.
Parameters
Parameter | Explanation |
---|---|
RestoreShutter | If set to true and shutter was open before setting wavelength it will be opened again. |
{ "RestoreShutter": false }
false
/SetWavelength
Sets new wavelength.
Parameters
Parameter | Explanation |
---|---|
Interaction | Simple interaction string (SH-SIG) or expandable (#-SIG). Use * to match use all interactions. |
Wavelength | Wavelength to set in nanometers. |
IgnoreSeparation | If set to true separation configuration won't be used (includes both motors and messages). |
DontTouchShutterOnInteractionChange | Leaves shutter opened while setting wavelength, unless there are new messages to user. |
SetForBackground | If set to true position of one motor is modified as configured in calibration to measure background radiation power. |
Priorities | (Can be ignored if Interaction is in in simple representation.) Priorities will be used to select interaction if there are more than one way to set wavelength using supplied Interaction. |
Returned properties
Name | Explanation |
---|---|
IsSuccess | True if requested wavelength can be set. |
ErrorMessage | If IsSuccess is false, contains reason why wavelength can not be set. |
Messages | All messages for user. New messages (compared with previous output) have property IsNew set to true. |
WillRequireUserActions | True if user will have to perform manual operations after motors are in positons for requested wavelength. |
{ "DontTouchShutterOnInteractionChange": false, "IgnoreSeparation": false, "SetForBackground": false, "Wavelength": 0, "Interaction": "pour-over", "Priorities": [ { "Priority": 51, "Type": "Brooklyn" }, { "Priority": 93, "Type": "pork" } ] }
{ "ActualInteraction": "", "ErrorMessage": "", "FailedAfterInteractionSelection": false, "IdlerWavelength": 0, "Interaction": "", "IsForBackgroundMeasurement": false, "IsSuccess": true, "Messages": [ { "Image": "richardson", "IsCritical": false, "IsNew": false, "MessengerIndex": 8, "SeparationDeviceIndex": 20, "Text": "freegan" }, { "Image": "echo", "IsCritical": false, "IsNew": false, "MessengerIndex": 17, "SeparationDeviceIndex": 60, "Text": "hand" } ], "MotorPositions": [ { "Key": 74, "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 31, "DecidedBy": 0 } }, { "Key": 250, "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 22, "DecidedBy": 0 } } ], "OpticalDeviceOutputs": [ { "Key": 249, "Value": 109.55629083772948 }, { "Key": 130, "Value": 530.96405720848782 } ], "OtherOpticalDevicesOutputs": [ { "Key": "17e5537a", "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 56, "Interaction": "government" } }, { "Key": "5eeef0fa", "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 60, "Interaction": "man" } } ], "Output": 0, "PumpWavelength": 0, "SignalWavelength": 0 }
/SetWavelengthUsingAnyInteraction
Sets new wavelength. Any of the possible interactions that support this wavelength will be used. If you need extra options use method SetWavelength.
761.64771791624264
{ "ActualInteraction": "", "ErrorMessage": "", "FailedAfterInteractionSelection": false, "IdlerWavelength": 0, "Interaction": "", "IsForBackgroundMeasurement": false, "IsSuccess": true, "Messages": [ { "Image": "Brooklyn", "IsCritical": false, "IsNew": false, "MessengerIndex": 29, "SeparationDeviceIndex": 87, "Text": "food" }, { "Image": "child", "IsCritical": false, "IsNew": false, "MessengerIndex": 61, "SeparationDeviceIndex": 10, "Text": "future" } ], "MotorPositions": [ { "Key": 143, "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 23, "DecidedBy": 0 } }, { "Key": 18, "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 35, "DecidedBy": 0 } } ], "OpticalDeviceOutputs": [ { "Key": 28, "Value": 488.1473302320332 }, { "Key": 53, "Value": 20.872750329260132 } ], "OtherOpticalDevicesOutputs": [ { "Key": "e0e1923b", "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 24, "Interaction": "Lomo" } }, { "Key": "6056cba4", "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 10, "Interaction": "pickled" } } ], "Output": 0, "PumpWavelength": 0, "SignalWavelength": 0 }
/PossibleOutputsForWavelength
Gets all possible ways to set specific wavelength.
376.27190136177086
[ { "ActualInteraction": "", "ErrorMessage": "", "FailedAfterInteractionSelection": false, "IdlerWavelength": 0, "Interaction": "", "IsForBackgroundMeasurement": false, "IsSuccess": true, "Messages": [ { "Image": "DIY", "IsCritical": false, "IsNew": false, "MessengerIndex": 20, "SeparationDeviceIndex": 89, "Text": "Umami" }, { "Image": "womn", "IsCritical": false, "IsNew": false, "MessengerIndex": 43, "SeparationDeviceIndex": 86, "Text": "sweater" } ], "MotorPositions": [ { "Key": 136, "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 50, "DecidedBy": 0 } }, { "Key": 290, "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 78, "DecidedBy": 0 } } ], "OpticalDeviceOutputs": [ { "Key": 100, "Value": 962.24270805820947 }, { "Key": 139, "Value": 290.94555102798415 } ], "OtherOpticalDevicesOutputs": [ { "Key": "845d8615", "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 18, "Interaction": "jean" } }, { "Key": "455b6b98", "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 86, "Interaction": "semiotics" } } ], "Output": 0, "PumpWavelength": 0, "SignalWavelength": 0 }, { "ActualInteraction": "", "ErrorMessage": "", "FailedAfterInteractionSelection": false, "IdlerWavelength": 0, "Interaction": "", "IsForBackgroundMeasurement": false, "IsSuccess": true, "Messages": [ { "Image": "dreamcatcher", "IsCritical": false, "IsNew": false, "MessengerIndex": 82, "SeparationDeviceIndex": 98, "Text": "wayfarers" }, { "Image": "organic", "IsCritical": false, "IsNew": false, "MessengerIndex": 60, "SeparationDeviceIndex": 5, "Text": "life" } ], "MotorPositions": [ { "Key": 257, "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 60, "DecidedBy": 0 } }, { "Key": 242, "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 50, "DecidedBy": 0 } } ], "OpticalDeviceOutputs": [ { "Key": 75, "Value": 268.41090306100011 }, { "Key": 43, "Value": 282.50201897812173 } ], "OtherOpticalDevicesOutputs": [ { "Key": "22370393", "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 9, "Interaction": "denim" } }, { "Key": "e267d433", "Value": { "ConflictOption": 0, "IsPositionInSteps": false, "Position": 0, "Priority": 24, "Interaction": "before" } } ], "Output": 0, "PumpWavelength": 0, "SignalWavelength": 0 } ]