Patent Description:
This disclosure relates generally to radiography and, more particularly, to systems and methods to control radiation scanner positioning.

X-ray scanning systems involve directing high-intensity radiation toward a device or object under test to obtain one or more images that may not be obtainable using other scanning systems (e.g., ultrasound, visible light, etc.). X-ray scanning systems may have multiple parameters that are dependent on the relative arrangements of the components in the X-ray scanning system. <CIT> relates to predictive visualization of medical imaging scanner component movement.

Systems and methods to control radiation scanner positioning are disclosed, substantially as illustrated by and described in connection with at least one of the figures, as set forth more completely in the claims.

Conventional scanner positioning systems involve a user interface that provides controls for individual modes of component positioning. For instance, a conventional scanner positioning system may include a number and a range representative of the height of the X-ray emitter, a number and a range representative of the height of the manipulator, and/or a number and a range representative of the height of the X-ray receiver. However, the person operating the controls may not have a clear idea of the final position resulting from a change to the number on the interface. Accordingly, conventional scanner positioning systems may involve significant trial-and-error on the part of the operator to determine the desired positioning to achieve the desired scan.

Disclosed scanner positioning control systems and methods provide a significantly easier interface that enables an operator to see the proposed changes to an arrangement of the X-ray emitter, the manipulator, the X-ray detector, and/or any other components of the scanning system, prior to implementing the changes in the scanning system. In some examples, the scanner positioning control systems and methods provide visualizations of both the starting position prior to a positioning adjustment and the ending position following the positioning adjustment. In some examples, the scanner positioning control systems and methods may calculate and display relevant metrics, such as numeric measurements of distances between components and/or other measurements of position, calculated focal length and/or unsharpness parameters, and/or any other information. As a result, the operator may manipulate the virtual representations of the components via the interface until the desired arrangement or positioning is achieved, at which time the operator may command the scanner positioning control system to implement the changes via the appropriate actuators of the scanning system.

Disclosed example scanner positioning control systems include: a display; a processor; and a computer readable storage medium comprising computer readable instructions which, when executed, cause the processor to: output, via the display, a first visual representation of an arrangement of a radiation source, a radiation detector, and a workpiece positioner; identify a change to be made to the arrangement of the workpiece positioner and at least one of the radiation source and the radiation detector; output, via the display, a second visual representation of the arrangement of the radiation source, the radiation detector, and the workpiece positioner based on the change to be made to the arrangement; and control a scanner positioning system to physically move the at least one of the radiation source, the radiation detector, and the workpiece positioner based on the change.

In some example scanner positioning control systems, the first visual representation includes at least one of: a projection of a current position of the radiation source onto a reference plane; a projection of a current position of the radiation detector onto the reference plane; a projection of a current position of the workpiece positioner onto the reference plane; or a projection of a part positioned on the workpiece positioner onto the radiation detector based on the current position of the radiation source, the radiation detector, and the workpiece positioner. In some example scanner positioning control systems, the second visual representation includes at least one of: a projection of a changed position of the radiation source onto the reference plane based on the change to be made to the arrangement; a projection of a changed position of the radiation detector onto the reference plane based on the change to be made to the arrangement; a projection of a changed position of the workpiece positioner onto the reference plane based on the change to be made to the arrangement; or a projection of the part positioned on the workpiece positioner onto the radiation detector based on the change to be made to the arrangement.

In some example scanner positioning control systems, the computer readable instructions cause the processor to control the scanner positioning system by controlling at least one of: an enclosure in which the radiation source, the radiation detector, and the workpiece positioner are enclosed; a door of the enclosure; boundaries of the enclosure; a limit of motion of at least one of radiation source, the radiation detector, or the workpiece positioner; a range of motion in which a collision involving at least one of radiation source, the radiation detector, or the workpiece positioner has less than a threshold likelihood of occurring; a filter wheel; a collimator; or a shutter.

In some example scanner positioning control systems, the computer readable instructions cause the processor to access current positions of the radiation source, the radiation detector, and the workpiece positioner, and determine the first visual representation of the arrangement of the radiation source, the radiation detector, and the workpiece positioner based on the positions. In some example scanner positioning control systems, the first visual representation includes at least one of a representation of a current focal point of radiation emitted by the radiation source or an updated focal point based on the change to be made to the arrangement. In some example scanner positioning control systems, the computer readable instructions cause the processor to determine at least one of a magnification, an unsharpness parameter, or a focal length of the radiation detector following the change to be made to the arrangement.

In some example scanner positioning control systems, the computer readable instructions cause the processor to: identify a trajectory to be followed by at least one of the radiation source, the radiation detector, or the workpiece positioner during a scanning operation, the trajectory having a starting arrangement of the radiation source, the radiation detector, and the workpiece positioner and an ending arrangement of the radiation source, the radiation detector, and the workpiece positioner; output, via the display, a third visual representation comprising the starting arrangement and the ending arrangement; and control the scanner positioning system during the scanning operation to physically move the at least one of the radiation source, the radiation detector, and the workpiece positioner based on the trajectory from the starting arrangement to the ending arrangement. In some example scanner positioning control systems, the third visual representation visually represents at least one of a change in position or a change in orientation of at least one of the radiation source, the radiation detector, and the workpiece positioner between the starting arrangement and the ending arrangement. In some example scanner positioning control systems, the first visual representation and the second visual representation are three-dimensional representations.

In some example scanner positioning control systems, the computer readable instructions cause the processor to determine a range of motion of at least one of the radiation source, the radiation detector, or the workpiece positioner, wherein at least one of the first visual representation or the second visual representation include a representation of the range. In some example scanner positioning control systems, the computer readable instructions cause the processor to determine whether a motion associated with the change to the arrangement will cause at least one of the radiation source, the radiation detector, or the workpiece positioner to exceed the limits of the range of motion.

In some example scanner positioning control systems, at least one of the first visual representation or the second visual representation includes a representation of a workpiece held on the workpiece positioner. In some example scanner positioning control systems, at least one of the first visual representation or the second visual representatoin includes a representation of a robot arm, an origin point of a movement of the workpiece positioner, or one or more vectors representative of the change to the arrangement. In some example scanner positioning control systems, the computer readable instructions are to cause the processor to output, via the display, a third visual representation of an intermediate arrangement of the radiation source, the radiation detector, and the workpiece positioner based on the arrangement and the change to be made to the arrangment.

In some example scanner positioning control systems, at least one of the first visual representation or the second visual representation includes at least one of an enclosure, an enclosure door, a filter wheel, a radiation source collimator, or a radiation source shutter. In some example scanner positioning control systems, the computer readable instructions cause the processor to determine at least one of a magnification, an unsharpness parameter, or a focal length of the radiation detector of the arrangement. Some example scanner positioning control systems include a user input device, wherein the computer readable instructions cause the processor to identify the change to be made to the arrangement based on one or more inputs via the user input device.

Some other disclosed example scanner positioning systems include: a display; a processor; and a computer readable storage medium comprising computer readable instructions which, when executed, cause the processor to: render a three-dimensional representation of a radiation source, a radiation detector, and a workpiece positioner based on an arrangement of the radiation source, the radiation detector, and the workpiece positioner; render changes to the arrangement in response to commands to change the arrangement; and control positions and orientations of the radiation source, the radiation detector, and the workpiece positioner based on the rendered arrangement including the rendered changes.

Still other disclosed example scanner positioning control systems include: a display; a processor; and a computer readable storage medium comprising computer readable instructions which, when executed, cause the processor to: output, via the display, a first visual representation of a first state of a radiation source, a radiation detector, and a workpiece positioner; identify a change to be made to the first state based on a modeled manipulation of the first visual representation; output, via the display, a second visual representation of a second state of the radiation source, the radiation detector reflecting the modeled manipulation; and control a scanner positioning system to physically move the at least one of the radiation source, the radiation detector, and the workpiece positioner to positions represented in the second state.

<FIG> illustrates an example X-ray scanning system <NUM> that may be controlled using a scanner positioning control system. The example X-ray scanning system <NUM> may be used to perform non-destructive testing (NDT) and/or any other scanning application. The example X-ray scanning system <NUM> is configured to direct X-rays <NUM> from an X-ray emitter <NUM> to an X-ray detector <NUM> through a workpiece <NUM> (e.g., an object under test). In the example of <FIG>, a workpiece positioner <NUM> holds or secures the workpiece <NUM>, and moves and/or rotates the workpiece <NUM> such that the desired portion and/or orientation of the workpiece <NUM> is located in the path of the X-ray radiation <NUM>.

As discussed in more detail below, any of the X-ray emitter <NUM>, the X-ray detector <NUM>, and/or the workpiece positioner <NUM> may be positioned and/or reoriented using one or more actuators. Relative repositioning of the X-ray emitter <NUM>, the X-ray detector <NUM>, and/or the workpiece positioner <NUM> may result in different effects, such as changing the focal length, changing the focal point, changing an unsharpness parameter, changing a magnification (e.g., a ratio of distance between X-ray emitter and X-ray detector to distance between X-ray emitter workpiece positioner or to workpiece), changing a portion of the workpiece <NUM> that is scanned, and/or other effects.

The X-ray scanning system <NUM> further includes an enclosure <NUM>, in which the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM> are enclosed. The enclosure <NUM> includes one or more doors <NUM> or other access openings to, for example, insert or remove the workpiece <NUM>, perform servicing on any of the components within the enclosure <NUM>, and/or otherwise access an interior of the enclosure <NUM>.

The X-ray detector <NUM> of <FIG> generates digital images based on incident X-ray radiation (e.g., generated by the X-ray emitter <NUM> and directed toward the X-ray detector <NUM>). The example X-ray detector <NUM> may include a fluoroscopy detection system and a digital image sensor configured to receive an image indirectly via scintillation, and/or may be implemented using a sensor panel (e.g., a CCD panel, a CMOS panel, etc.) configured to receive the X-rays directly, and to generate the digital images. In other examples, the X-ray detector <NUM> may use a solid state panel coupled to a scintillation screen and having pixels that correspond to portions of the scintillation screen. Example solid state panels may include CMOS X-ray panels and/or CCD X-ray panels.

Example implementations of the workpiece positioner <NUM> include a mechanical manipulator, such a platen having linear and/or rotational actuators. Other example workpiece positioners <NUM> may include robotic manipulators, such as robotic arms having <NUM> degrees of freedom (DOF).

While the example of <FIG> includes an X-ray emitter <NUM> and an X-ray detector <NUM>, in other examples the scanning system <NUM> may perform scanning using radiation in other wavelengths.

<FIG> is a block diagram of the example X-ray scanning system <NUM> of <FIG> and a scanning positioning control system <NUM>. As discussed above, the example X-ray scanning system <NUM> includes an X-ray emitter <NUM>, an X-ray detector <NUM>, a workpiece positioner <NUM>. The example X-ray scanning system <NUM> further includes a source actuator <NUM>, a detector actuator <NUM>, and a positioner actuator <NUM>.

The X-ray scanning system <NUM> of <FIG> is communicatively coupled to the scanner positioning control system <NUM>. In some examples, a programmable logic controller (PLC) <NUM> or other interface device may couple the scanner positioning control system <NUM> to the X-ray scanning system <NUM>. For example, the PLC <NUM> may enable a personal computer or other generic computing device to communicate with (e.g., command, obtain information from) the actuators <NUM>-<NUM> and/or sensor(s) of the scanning system <NUM>.

The example scanner positioning control system <NUM> of <FIG> includes one or more processor(s) <NUM>, memory <NUM> and/or other computer readable storage device(s), a display <NUM>, communication circuitry <NUM>, and one or more input device(s) <NUM>. The scanner positioning control system <NUM> controls positioning of the X-ray emitter <NUM> (e.g., via the source actuator <NUM>), positioning of the X-ray detector <NUM> (e.g., via the detector actuator <NUM>), and/or positioning of the workpiece positioner <NUM> and/or the workpiece <NUM> (e.g., via the positioner actuator <NUM>. To reduce the trial-and-error involved in positioning the components <NUM>-<NUM>, the example scanner positioning control system <NUM> outputs, via the display <NUM>, visual representations of both a current arrangement of the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM>, and an updated arrangement of the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM> based on manipulations of the arrangement made by the operator (e.g., via the input device(s) <NUM>). Example operator input device(s) <NUM> include buttons, switches, analog joysticks, thumbpads, trackballs, and/or any other type of user input device.

The scanner positioning control system <NUM> controls the X-ray emitter <NUM>, receives digital images from the X-ray detector <NUM>, and/or outputs the digital images to the display device <NUM>. Additionally or alternatively, the scanner positioning control system <NUM> may store digital images to a storage device. The scanner positioning control system <NUM> may output the digital images as digital video to aid in real-time non-destructive testing and/or store digital still images.

In the example of <FIG>, the scanner positioning control system <NUM> displays a three-dimensional representation of the current arrangement and the updated arrangement. <FIG> illustrates an example interface <NUM> that may be used to implement the scanner positioning control system <NUM>, showing a first visual representation of a current arrangement <NUM> of components 304a, 306a, 308a of the X-ray scanning system <NUM>, and a second arrangement <NUM> (e.g., updated components 306b, 308b) representative of a change to the current arrangement <NUM> of the components 304a-308a.

Using the input device(s) <NUM>, the example scanner positioning control system <NUM> may identify change(s) to be made to the current arrangement (e.g., position(s) and/or orientation(s)) of at least one of the X-ray emitter <NUM>, the workpiece positioner <NUM>, and/or the X-ray detector <NUM>. Based on the change(s) to the current arrangement <NUM> identified via the input device(s) <NUM>, the scanner positioning control system <NUM> displays the visual representation of the updated arrangement. The example interface <NUM> may be manipulated (e.g., via the input device(s) <NUM>) to change the positions and/or orientations of the components 304a, 306a, 308a and/or the viewpoint angle of the interface <NUM> (e.g., a camera angle, from which the arrangements <NUM>, <NUM> are viewed on the interface <NUM>). As the operator manipulates the position and/or orientation of one or more of the component(s) 304a, 306a, 308a, the scanner positioning control system <NUM> may generate a corresponding modified component and/or change the position of the modified component while maintaining the same position and/or orientation of the component(s) 304a, 306a, 308a in the current arrangement <NUM>.

In an operational example, the operator may manipulate a cursor or other input device <NUM> to move the workpiece positioner <NUM> (e.g., the component 306a) on the interface <NUM>. For example, the operator may click-and-drag the component 306a in the interface <NUM> to adjust the position and/or orientation, which is reflected by creation, positioning, and orienting of the updated component 306b on the interface <NUM>. In the illustrated example of <FIG>, the component 306a represents the current position of the workpiece positioner <NUM> and remains in the same position and orientation, while the updated component 306b represents changes to be made to the position and/or orientation of the workpiece positioner <NUM>. The operator may repeatedly adjust the position and/or orientation of the updated component 306b until the desired position and/or orientation is achieved. When the desired positioning of the component 306b. Similarly, the operator may reposition and/or reorient the X-ray detector <NUM> in the interface by clicking-and-dragging the component 308a to adjust a position and/or orientation, which is represented by an updated component 308b.

The scanner positioning control system <NUM> further controls a scanner positioning system (e.g., the actuators <NUM>, <NUM>, <NUM>, via the PLC <NUM>) to physically move the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM> based on the change represented by the updated arrangement <NUM>. When a desired arrangement of the components 304a, 306a, 308a and/or updated components 304b, 306b, 308b is obtained via the interface <NUM>, the operator commands the scanner positioning control system <NUM> to move the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM> (e.g., via the PLC <NUM>). In response to a command to implement the changed positions, the processor(s) <NUM> calculate paths between the positions of the components 304a, 306a 308a in the current arrangement <NUM> and the positions of the updated components 306b, 308b in the updated arrangement <NUM>. The processor(s) <NUM> then command the source actuator <NUM>, the detector actuator <NUM>, and/or the positioner actuator <NUM> to move the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM> (e.g., via the PLC <NUM>). In some examples, the PLC <NUM> may calculate the paths based on coordinate information communicated by the scanner positioning control system <NUM>.

To aid the operator in determining the desired positions of the X-ray emitter <NUM>, the X-ray detector <NUM>, and/or the workpiece positioner <NUM>, the example scanner positioning control system <NUM> may include additional visual representations on the interface <NUM>, such as a projection <NUM> of a current position of the X-ray emitter component 304a onto a reference plane <NUM>; a projection <NUM> of a current position of the X-ray detector component 308a onto the reference plane <NUM>; a projection <NUM> of a current position of the workpiece positioner component 306a onto the reference plane <NUM>; a projection of a changed position of the X-ray emitter component 304a onto the reference plane <NUM> based on the change(s) to be made to the arrangement <NUM>; a projection <NUM> of a changed position of the X-ray detector component 308b onto the reference plane <NUM> based on the change(s) to be made to the arrangement <NUM>; a projection of a changed position of the workpiece positioner component 306b onto the reference plane <NUM> based on the change(s) to be made to the arrangement <NUM>. Additionally or alternatively, the scanner positioning control system <NUM> may calculate and project a focal point <NUM> of the X-ray beam onto the current position of the X-ray detector component 308a and/or onto the updated position of the X-ray detector component 308b.

The example reference plane <NUM>, and/or one or more other reference planes, assists the operator by displaying the relative current positions of the components 304a, 306a, 308a and/or the relative updated positions of the components 306b, 308b in a particular plane that may be difficult for the operator to precisely perceive spatial relationships between the components.

Additionally or alternatively, the example scanner positioning control system <NUM> may include visual representations on the interface <NUM> to project the part onto the X-ray detector to visualize the scan. Example visualizations may include a projection of a part positioned on the workpiece positioner component 306a onto the X-ray detector component 308a based on the current arrangement, and/or a projection of the part positioned on the workpiece positioner component 306b onto the X-ray detector component based on the change(s) to be made to the arrangement <NUM>. To generate the projection, the example scanner positioning control system <NUM> may use graphics processing to determine the occlusion of the emitted X-rays from the current position of the X-ray emitter component 304a (which may be based on a determined collimator, energy level, and/or any other aspects of the X-ray emitter) by a workpiece positioned on the workpiece positioner component 306a, 306b. The workpiece may be rendered in the interface <NUM> from a 3D model of the workpiece and based on the current or changed position of the workpiece positioner component 306a, 306b.

In addition to the X-ray emitter component, the X-ray detector component, the workpiece positioner component, and/or the workpiece, the example scanner positioning control system <NUM> may include in the visual representations any of the door <NUM> of the enclosure <NUM>, boundaries of the enclosure <NUM>, limits of motion of the components 304a, 306a, 308a, ranges of motion of the components 304a, 306a, 308a in which a collision has less than a threshold likelihood of occurring, a filter wheel, collimators, shutters, and/or any other elements that may be movable and/or affect the position and/or orientation of the components 304a, 306a, 308a.

The example scanner positioning control system <NUM> may access current positions of the X-ray emitter <NUM>, the X-ray detector <NUM>, and/or the workpiece positioner <NUM> to determine the first visual representation of the arrangement of the radiation source, the X-ray emitter <NUM>, the X-ray detector <NUM>, and/or the workpiece positioner <NUM> based on the positions. To determine the current arrangement <NUM> (e.g., the positions of the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM>), the example scanning system <NUM> may include position sensor(s) <NUM> that determine the positions of the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM>, and communicate the positions to the scanner positioning control system <NUM> (e.g., via the PLC <NUM>). The scanner positioning control system <NUM> may store a three-dimensional coordinate system including ranges of positions within which each of the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM> may be located. Using the position information received from the position sensor(s) <NUM>, the scanner positioning control system <NUM> determines the positions of the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM>, and/or the positions of any other component(s), within the coordinate system or reference frame defined by the interface <NUM>.

As an example, the X-ray emitter <NUM> may be controlled using a linear actuator. The scanner positioning control system <NUM> may store a calibrated range of positions of the X-ray emitter <NUM> that correspond to the coordinate system. The position sensor(s) <NUM> may output a numerical value of the position of the X-ray emitter <NUM> along the length of the range of the linear actuator, such that the scanner positioning control system <NUM> may translate the sensed position of the X-ray emitter to the coordinate system in the interface <NUM>. By storing similar position ranges with respect to the coordinate system, the scanner positioning control system <NUM> may determine the respective positions of the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM>, and translate the positions to present the current arrangement <NUM> in the interface <NUM>.

The detected positions may further be used to determine and display secondary information, such as the projections on the reference plane <NUM>, projections of the X-rays and/or the workpiece on the X-ray detector component 308a, X-ray detector focal length, a magnification level (e.g., zoom), an unsharpness parameter, and/or any other information that may be derived from the current positions of the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM>.

While the above example refers to a linear actuator, any other type(s) of actuator(s) or manipulator(s) may be used to physical position and/or manipulate the X-ray emitter <NUM>, the X-ray detector <NUM>, the workpiece positioner <NUM>, the workpiece, and/or any other components. For example, the actuator(s) <NUM>, <NUM>, <NUM> may include <NUM> degree-of-freedom robot manipulators, rotational actuators (e.g., direct rotation, worm gear rotation, etc.), and/or any other type of actuator.

<FIG> illustrates an example interface <NUM> that may be used to implement the scanner positioning control system <NUM>, showing a first visual representation of a current arrangement <NUM> of one or more components of the X-ray scanning system <NUM>, a second visual representation of an updated arrangement <NUM> representative of a change to the current arrangement <NUM> of the one or more components, and an example guide graphic <NUM> that may be used to define a change in position and/or orientation of the workpiece positioner <NUM>.

In the example of <FIG>, the scanner positioning control system <NUM> displays a current position of the workpiece positioner component 408a and an updated position of the workpiece positioner component 408b based on a change to the position of the workpiece positioner component 408b. Proximate to the updated workpiece positioner component 408b, the scanner positioning control system <NUM> displays the guide graphics <NUM> to enable the user to easily identified permitted modifications to the position and orientation of the workpiece positioner component 408b. The example guide graphics <NUM> in <FIG> illustrate translation guides (e.g., in an X-direction, a Y-direction, and a Z-direction), and rotation graphics (e.g., clockwise rotation and counterclockwise rotation in the plane of the workpiece positioner component 408b).

<FIG> illustrates an example interface <NUM> that may be used to implement the scanner positioning control system <NUM>, showing a first visual representation of a current arrangement <NUM> of one or more components of the X-ray scanning system, a second visual representation of an updated arrangement <NUM> of the one or more components, and an example trajectory <NUM> between the first arrangement and the second arrangement.

The example scanner positioning control system <NUM> may identify a trajectory to be followed by the X-ray emitter <NUM>, the X-ray detector <NUM>, the workpiece positioner <NUM>, and/or any other components in the interface <NUM> between the current arrangement <NUM> and the updated arrangement <NUM>. The trajectory <NUM> may be implemented while moving the components from the current arrangement <NUM> to the updated arrangement <NUM> and/or during a scanning operation. The scanner positioning control system <NUM> outputs a visual representation of the trajectory <NUM> on the interface <NUM>, which enables an operator to more easily determine whether the desired trajectory will be implemented, as well as to more easily identify whether a collision could occur between components following the trajectory <NUM>.

In some examples, the scanner positioning control system <NUM> enables the operator to adjust all or part of the trajectory, and/or to require use of a different path-finding techniques by the scanner positioning control system <NUM> to calculate the trajectory <NUM>.

Particularly when the trajectory <NUM> is not linear, the example scanner positioning control system <NUM> may adapt the control of the actuators <NUM>, <NUM>, <NUM> to implement the desired trajectory. For example, rather than commanding an updated position to be implemented by the PLC <NUM>, the example scanner positioning control system <NUM> may break down the actuation into multiple, piecewise actuation, for implementation in the X-ray scanning system <NUM>.

Additionally or alternatively, in some examples, the scanner positioning control system <NUM> may include intermediate arrangement occurring temporally between the current arrangement <NUM> and the updated arrangement <NUM>, and/or a sequence of states including the current arrangement <NUM> and multiple updated arrangements. Such intermediate arrangements and/or sequences of arrangements may be useful to the operator to visualize and control complex sequences of arrangements of the components, which may involve multiple movement directions and/or rotation directions, different components moving at different times, and/or any other changes.

<FIG> illustrates an example interface <NUM> that may be used to implement the scanner positioning control system <NUM>, showing a first visual representation of a current arrangement <NUM> of one or more components of the X-ray scanning system <NUM> including a robotic manipulator <NUM> to implement the workpiece positioner <NUM>, and a second visual representation of an updated arrangement <NUM> of the one or more components. As in the examples above, the interface <NUM> may display trajectories of the robotic manipulator <NUM>, ranges of motion of the robotic manipulator <NUM>, projections of the positions of the robotic manipulator <NUM> onto one or more reference planes, and/or intermediate arrangements and/or sequences of arrangements involving the robotic manipulator <NUM>.

Additionally or alternatively, the scanner positioning control system <NUM> may display an origin point or configuration of the robotic manipulator <NUM> on the interface <NUM> to enable an operator to have a reference point from which to determine the position of the robotic manipulator <NUM>. As with the current arrangement <NUM> and/or the updated arrangement <NUM>, the example scanner positioning control system <NUM> may display a projection of the origin configuration onto one or more reference planes. The original configuration may further involve a workpiece being held and manipulated by the robotic manipulator <NUM>.

In some examples, the scanner positioning control system <NUM> may determine and display range of motion limits <NUM> of one or more joints of a 6DOF robotic manipulator. In some examples, the scanner positioning control system <NUM> may enable the operator to manipulate the range of motion limits <NUM>, which causes the scanner positioning control system <NUM> to constrain the motion of the robotic manipulator <NUM> when implementing the change from the current arrangement <NUM> to the updated arrangement <NUM>.

If the scanner positioning control system <NUM> determines that a motion associated with the change from the current arrangement <NUM> to the updated arrangement <NUM> will cause any of the X-ray emitter <NUM>, the X-ray detector <NUM>, the workpiece positioner <NUM>, and/or any other components to exceed the limits of the range of motion (e.g., the range of motion limits <NUM>), the example scanner positioning control system <NUM> may attempt to calculate a different trajectory from the current arrangement <NUM> to the updated arrangement <NUM> that does not exceed the range of motion limits <NUM>, and/or advise the operator that the range of motion limits <NUM> will be exceeded.

When performing testing, the example scanner positioning control system <NUM> may store positioning information associated with a captured scan image. The stored positioning information may include similar information as used to generate and display the current arrangements. The positioning information may later be used to visually represent the arrangement of the X-ray emitter <NUM>, the X-ray detector <NUM>, the workpiece positioner <NUM>, the workpiece <NUM>, and/or any other components when the image was captured, such as on the display <NUM>. Additionally or alternatively, the example scanner positioning control system <NUM> may store and retrieve recipes involving sequences of arrangements for a scanning process, which may also be visualized in a similar manner as the current arrangements, updated arrangements, and/or sequences of arrangements disclosed herein.

<FIG> is a flowchart representative of example machine readable instructions <NUM> which may be executed by the example scanner positioning control system <NUM> of <FIG> to perform digital X-ray imaging. The example instructions <NUM> may be performed by the example processor(s) <NUM> and/or stored as instructions in the memory <NUM> and/or other storage device(s).

At block <NUM>, the scanner positioning control system <NUM> determines a current arrangement including position(s) of a radiation source (e.g., the X-ray emitter <NUM>), a radiation detector (e.g., the X-ray detector <NUM>), a workpiece positioner (e.g., the workpiece positioner <NUM>), and/or a part under test (e.g., the workpiece <NUM>). For example, the scanner positioning control system <NUM> may receive or access position measurements from the position sensor(s) <NUM> of <FIG>, and/or monitor the position based on position changes from known or origin position(s) of the X-ray emitter <NUM>, the X-ray detector <NUM>, and the workpiece positioner <NUM>.

At block <NUM>, the scanner positioning control system <NUM> displays a visual representation of a current arrangement (e.g., the current arrangement <NUM> of <FIG>) including the current positions of the X-ray emitter <NUM>, the X-ray detector <NUM>, the workpiece positioner <NUM>, and/or the workpiece <NUM>. For example, the scanner positioning control system <NUM> may display, via the display <NUM>, the components 304a, 306a, 308a in the interface <NUM>.

At block <NUM>, the scanner positioning control system <NUM> determines whether inputs have been received to change position(s) of the X-ray emitter <NUM>, the X-ray detector <NUM>, the workpiece positioner <NUM>, and/or the workpiece <NUM>. For example, the scanner positioning control system <NUM> may receive one or more inputs from the input device(s) <NUM> to move the components 304a, 306a, 308a in the interface <NUM>. Additionally or alternatively, the input(s) may change updated positions (e.g., the updated components 306b, 308b) that have not yet been implemented, instead of acting on current positions of the components 304a, 306a, 308a.

If inputs have been received to change position(s) (block <NUM>), at block <NUM> the scanner positioning control system <NUM> determines an updated arrangement based on the change(s). For example, the scanner positioning control system <NUM> may determine a changed position(s) of the X-ray emitter <NUM>, the X-ray detector <NUM>, the workpiece positioner <NUM>, and/or the workpiece <NUM>, and/or projections of the components onto a reference plane <NUM>.

At block <NUM>, the scanner positioning control system <NUM> determines an update focal point, updated magnification, and/or an updated unsharpness parameter based on the determined change(s) to the current arrangement.

At block <NUM>, the scanner positioning control system <NUM> displays a visual representation of an updated arrangement (e.g., the updated arrangement <NUM>) including the changed position(s), such as the updated components 306b, 308b.

After displaying the visual representation of the updated arrangement (block <NUM>), and/or if inputs to change the position(s) have not been received (block <NUM>), at block <NUM> the scanner positioning control system <NUM> determines whether to implement the update(s) to the current arrangement <NUM>. For example, the scanner positioning control system <NUM> may determine whether a command has been received via the input device(s) <NUM> to implement the changed position(s). If the update is not to be implemented (block <NUM>), control returns to block <NUM> to await changes to the current and/or updated arrangements.

When the update is to be implemented (block <NUM>), at block <NUM> the scanner positioning control system <NUM> determines a trajectory of the X-ray emitter <NUM>, the X-ray detector <NUM>, the workpiece positioner <NUM>, and/or the workpiece <NUM> from the current arrangement <NUM> to the updated arrangement <NUM>. For example, the scanner positioning control system <NUM> may determine one or more paths to travel between the component positions of the current arrangement <NUM> (e.g., based on the determined positions) and the component positions of the updated arrangement <NUM> (e.g., based on the commanded positions), as well as actuation paths stored by the scanner positioning control system <NUM>.

At block <NUM>, the scanner positioning control system <NUM> determines whether a collision is predicted based on the determined trajectory. For example, the scanner positioning control system <NUM> may monitor the trajectories for potential collisions involving the X-ray emitter <NUM>, the X-ray detector <NUM>, the workpiece positioner <NUM>, the workpiece <NUM>, the enclosure, the door, and/or any other components in the system <NUM>.

If a collision is predicted (block <NUM>), at block <NUM> the scanner positioning control system <NUM> generates a potential collision warning and does not implement the update to the arrangement. In some other examples, the scanner positioning control system <NUM> may attempt to calculate alternative trajectories and/or sequences of actuation to implement the updated arrangement. Control returns to block <NUM> to permit the operator to provide input(s) to change the updated arrangement so as to avoid collision.

If a collision is not predicted (block <NUM>), at block <NUM> the scanner positioning control system <NUM> controls the scanner positioning system (e.g., the actuators <NUM>-<NUM>, the PLC <NUM>) to physically move the X-ray emitter <NUM>, the X-ray detector <NUM>, and/or the workpiece positioner <NUM> based on the change(s). For example, the scanner positioning control system <NUM> may directly control the actuator(s) <NUM>-<NUM>, control the actuator(s) <NUM>-<NUM> via the PLC <NUM>, and/or provide the updated positions to the PLC <NUM> to permit the PLC <NUM> to implement the changes. Control returns to block <NUM> to calculate and display a new current arrangement.

<FIG> is a block diagram of an example computing system <NUM> that may be used to implement the scanner positioning control system <NUM> of <FIG>. The example computing system <NUM> may be implemented using a personal computer, a server, a smartphone, a laptop computer, a workstation, a tablet computer, and/or any other type of computing device.

The example computing system <NUM> of <FIG> includes a processor <NUM>. The example processor <NUM> may be any general purpose central processing unit (CPU) from any manufacturer. In some other examples, the processor <NUM> may include one or more specialized processing units, such as RISC processors with an ARM core, graphic processing units, digital signal processors, and/or system-on-chips (SoC). The processor <NUM> executes machine readable instructions <NUM> that may be stored locally at the processor (e.g., in an included cache or SoC), in a random access memory <NUM> (or other volatile memory), in a read only memory <NUM> (or other non-volatile memory such as FLASH memory), and/or in a mass storage device <NUM>. The example mass storage device <NUM> may be a hard drive, a solid state storage drive, a hybrid drive, a RAID array, and/or any other mass data storage device.

A bus <NUM> enables communications between the processor <NUM>, the RAM <NUM>, the ROM <NUM>, the mass storage device <NUM>, a network interface <NUM>, and/or an input/output interface <NUM>.

The example network interface <NUM> includes hardware, firmware, and/or software to connect the computing system <NUM> to a communications network <NUM> such as the Internet. For example, the network interface <NUM> may include IEEE <NUM>. X-compliant wireless and/or wired communications hardware for transmitting and/or receiving communications.

The example I/O interface <NUM> of <FIG> includes hardware, firmware, and/or software to connect one or more input/output devices <NUM> to the processor <NUM> for providing input to the processor <NUM> and/or providing output from the processor <NUM>. For example, the I/O interface <NUM> may include a graphics processing unit for interfacing with a display device, a universal serial bus port for interfacing with one or more USB-compliant devices, a FireWire, a field bus, and/or any other type of interface. Example I/O device(s) <NUM> may include a keyboard, a keypad, a mouse, a trackball, a pointing device, a microphone, an audio speaker, an optical media drive, a multi-touch touch screen, a gesture recognition interface, a display device (e.g., the display device(s) <NUM>, <NUM>) a magnetic media drive, and/or any other type of input and/or output device.

The example computing system <NUM> may access a non-transitory machine readable medium <NUM> via the I/O interface <NUM> and/or the I/O device(s) <NUM>. Examples of the machine readable medium <NUM> of <FIG> include optical discs (e.g., compact discs (CDs), digital versatile/video discs (DVDs), Blu-ray discs, etc.), magnetic media (e.g., floppy disks), portable storage media (e.g., portable flash drives, secure digital (SD) cards, etc.), and/or any other type of removable and/or installed machine readable media.

Example wireless interfaces, protocols, and/or standards that may be supported and/or used by the network interface(s) <NUM> and/or the I/O interface(s) <NUM>, include wireless personal area network (WPAN) protocols, such as Bluetooth (IEEE <NUM>); near field communication (NFC) standards; wireless local area network (WLAN) protocols, such as WiFi (IEEE <NUM>); cellular standards, such as <NUM>/<NUM>+ (e.g., GSM/GPRS/EDGE, and IS-<NUM> or cdmaOne) and/or <NUM>/<NUM>+ (e.g., CDMA2000, UMTS, and HSPA); <NUM> standards, such as WiMAX (IEEE <NUM>) and LTE; Ultra-Wideband (UWB); etc. Example wired interfaces, protocols, and/or standards that may be supported and/or used by the network interface(s) <NUM> and/or the I/O interface(s) <NUM>, such as to communicate with the display device(s) <NUM>, include comprise Ethernet (IEEE <NUM>), Fiber Distributed Data Interface (FDDI), Integrated Services Digital Network (ISDN), cable television and/or internet (ATSC, DVB-C, DOCSIS), Universal Serial Bus (USB) based interfaces, etc..

The processor <NUM>, the network interface(s) <NUM>, and/or the I/O interface(s) <NUM> may perform signal processing operations such as, for example, filtering, amplification, analog-to-digital conversion and/or digital-to-analog conversion, up-conversion/down-conversion of baseband signals, encoding/decoding, encryption/decryption, modulation/demodulation, and/or any other appropriate signal processing.

The computing system <NUM> may use one or more antennas for wireless communications and/or one or more wired port(s) for wired communications. The antenna(s) may be any type of antenna (e.g., directional antennas, omnidirectional antennas, multi-input multi-output (MIMO) antennas, etc.) suited for the frequencies, power levels, diversity, and/or other parameters required for the wireless interfaces and/or protocols used to communicate. The port(s) may include any type of connectors suited for the communications over wired interfaces/protocols supported by the computing system <NUM>. For example, the port(s) may include an Ethernet over twisted pair port, a USB port, an HDMI port, a passive optical network (PON) port, and/or any other suitable port for interfacing with a wired or optical cable.

Claim 1:
A scanner positioning control system (<NUM>), comprising:
a display (<NUM>);
a processor; and
a computer readable storage medium comprising computer readable instructions which, when executed, cause the processor to:
output, via the display (<NUM>), a first visual representation of an arrangement of a radiation source (<NUM>), a radiation detector (<NUM>), and a workpiece positioner (<NUM>);
identify a change to be made to the arrangement of the workpiece positioner (<NUM>) and at least one of the radiation source (<NUM>) and the radiation detector (<NUM>);
output, via the display (<NUM>), a second visual representation of the arrangement of the radiation source (<NUM>), the radiation detector (<NUM>), and the workpiece positioner (<NUM>) based on the change to be made to the arrangement; and
control a scanner positioning system to physically move the at least one of the radiation source (<NUM>), the radiation detector (<NUM>), and the workpiece positioner (<NUM>) based on the change.