Scan procedure generation systems and methods to generate scan procedures

An example scan procedure generation system includes: 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, a workpiece positioner, and a workpiece; and based on positions and orientations of the radiation source, the radiation detector, the workpiece positioner, and the workpiece, generate a scanning procedure for execution by a physical scanner having a physical radiation source, a physical radiation detector, and a physical workpiece positioner, wherein the generated scanning procedure comprises a plurality of movements of one or more of the physical radiation source, the physical radiation detector, and the physical workpiece positioner and a plurality of image captures to capture a plurality of scan images of a physical workpiece corresponding to the workpiece in the first virtual representation.

BACKGROUND

This disclosure relates generally to radiography and, more particularly, to scan procedure generation systems and methods to generate scan procedures.

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.

SUMMARY

Scan procedure generation systems and methods to generate scan procedures 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.

The figures are not necessarily to scale. Wherever appropriate, similar or identical reference numerals are used to refer to similar or identical components.

DETAILED DESCRIPTION

Conventional digital radiography (DR) and/or computed tomography (CT) 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. Development of the scan positioning and parameters is conventionally performed using a physical scanning system, which can impose substantial costs on the owner or operator of the system due to the loss in time available to actually perform scans. As a result, throughput of conventional scanning systems is reduced while the appropriate scanning procedure is determined by personnel, which can lead to increases costs and/or loss of revenue due to increased scanning cycle time.

Disclosed systems and methods enable scanning procedures to be generated in a virtual environment, which can be separate and/or remote from the scanning system or scanner positioning system (e.g., at any other location). For example, a design, test, or manufacturing engineer, or any other personnel, may use the virtual environment to position and/or orient the workpiece (e.g., object to be scanned) while obtaining interactive (e.g., real-time or substantially real-time) feedback to assist the user. The virtual environment and interactive feedback of disclosed examples enables the user to simulate and/or optimize factors that affect scanning technique development. The user may also specify radiation source and/or radiation detector parameters, and simulate the resulting scan via the virtual environment based on the component arrangements, the CAD model of the workpiece, and the source and detector parameters, to determine whether the designed scanning procedure will obtain the desired scan images.

In disclosed examples, generated scanning procedures include the necessary information and parameters to permit a scanner positioning control system to automatically perform the scanning procedure. For example, the generated scanning procedure may include commands to position, orient, and/or move a radiation source or emitter, a radiation detector, a workpiece positioner or manipulator, the workpiece or object to be scanned, and/or any other relevant components. The generated scanning procedure may further include operational parameters for the radiation source and/or the radiation detector. Other commands, parameters, data and/or information will be provided in examples disclosed below.

Disclosed systems and methods advantageously allow the user to design scanning techniques or procedures from any convenient location. In some examples, the user may use the disclosed systems and methods to design scanning procedures in a virtual environment and verify that the procedure will conform to the requirements of an industry standard (e.g., ASTM Standard E1695, ASTM Standard E2737, etc.) or required by a customer.

Disclosed examples are described with reference to X-rays. However, this disclosure is not limited to X-rays, and the examples disclosed herein may be modified to use any desired wavelengths or energies, or any combinations of wavelengths or energies, in the electromagnetic spectrum, such as gamma rays, monochromatic and/or polychromatic X-rays, white light, and/or neutron radiation.

As used herein, the term “arrangement” refers to both location and orientation of one or more components.

The terms “source” and “emitter,” as used with reference to the source of radiation, are used interchangeably herein. In other words, as used herein, an “X-ray source” is the same as an “X-ray emitter.”

Disclosed example scan procedure generation 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, a workpiece positioner, and a workpiece; and based on positions and orientations of the radiation source, the radiation detector, the workpiece positioner, and the workpiece, generate a scanning procedure for execution by a physical scanner having a physical radiation source, a physical radiation detector, and a physical workpiece positioner, in which the generated scanning procedure comprises a plurality of movements of one or more of the physical radiation source, the physical radiation detector, and the physical workpiece positioner and a plurality of image captures to capture a plurality of scan images of a physical workpiece corresponding to the workpiece in the first virtual representation.

In some example scan procedure generation systems, the computer readable instructions cause the processor to: identify a change to be made to the arrangement of at least one of the radiation source, the radiation detector, the workpiece positioner, or the workpiece; and output, via the display, a second visual representation of the arrangement of the radiation source, the radiation detector, the workpiece positioner, and the workpiece based on the change to be made to the arrangement. In some example scan procedure generation systems, the computer readable instructions cause the processor to: render a projection of the workpiece on the radiation detector based on an arrangement of the radiation source, the radiation detector, the workpiece positioner, and the workpiece; and update the projection of the workpiece on the radiation detector in real-time in response to changes in the arrangement of one or more of the radiation source, the radiation detector, the workpiece positioner, or the workpiece.

In some example scan procedure generation systems, the computer readable instructions cause the processor to calculate the projection based on at least one of beam hardening; radiation energy or wavelength; a spectrum and/or other characteristics of a polychromatic beam; randomization or error in the accuracy of motion or positioning of one or more of the scanner components; motion dynamics; alignment of the radiation source, the radiation detector, the workpiece positioner, and the workpiece; accuracy or tolerance in positioning the workpiece on the workpiece positioner; a collimation characteristic of the radiation source; a focal spot size and/or shape of the radiation source; radiation scatter; the selected radiation spectrum; non-uniformity of the radiation cone; radiation flux; component degradation; variation in radiation emissions by the radiation source; source warmup time; scintillator efficiency of the radiation detector; scintillator resolution of the radiation detector; blur of the radiation detector; noise at the radiation detector; a defect in the radiation detector.

In some example scan procedure generation systems, the computer readable instructions cause the processor to determine whether a collision between one or more of the radiation source, the radiation detector, the workpiece positioner, or the workpiece and at least one other component has at least a threshold likelihood based on at least one of the first arrangement, a second arrangement following the change, or a movement from the first arrangement to the second arrangement. In some example scan procedure generation systems, the computer readable instructions cause the processor to determine whether the collision has at least a threshold likelihood based further on positioning of one or more additional components in the physical scanner.

In some example scan procedure generation systems, the computer readable instructions cause the processor to render at least one of a cone of radiation or radiation collimation based on positioning of the radiation source. In some example scan procedure generation systems, the computer readable instructions cause the processor to render a projection of the workpiece on the radiation detector based on positioning of the radiation source, the radiation detector, the workpiece positioner, and the workpiece, and based on one or more radiation emission characteristics of the radiation source.

In some example scan procedure generation systems, the computer readable instructions cause the processor to generate a fixture model to support the workpiece on the workpiece positioner as defined in the generated scanning procedure. In some example scan procedure generation systems, the computer readable instructions cause the processor to load the workpiece into the first visual representation based on a computer aided drafting (CAD) model of the workpiece. In some example scan procedure generation systems, the computer readable instructions cause the processor to render a portion of the workpiece to indicate a characteristic of the workpiece based on at least one of data in the CAD model or data received from a modeling algorithm based on the CAD model.

In some example scan procedure generation systems, the computer readable instructions cause the processor to automatically determine one or more arrangements and movements of the radiation source, the radiation detector, the workpiece positioner, and the workpiece to generate a scan of the workpiece. In some example scan procedure generation systems, the computer readable instructions cause the processor to automatically determine the one or more arrangements and movements based on an identification of a boundary box enveloping a portion of the workpiece. In some example scan procedure generation systems, the computer readable instructions cause the processor to automatically determine the one or more arrangements and movements based on simulating two or more potential generated scanning procedures to determine respective three-dimensional computed tomography results or three-dimensional digital radiography results and comparing one or more aspects of the results determined via the simulations.

In some example scan procedure generation systems, the computer readable instructions cause the processor to simulate one or more sources of error in at least one of: the positioning of one or more of the radiation source, the radiation detector, the workpiece positioner, and the workpiece; movement of one or more of the radiation source, the radiation detector, the workpiece positioner, and the workpiece; an emission characteristic of X-ray radiation emitted by the radiation source; a detection characteristic of the radiation detector; or a characteristic of X-ray radiation in the system. In some example scan procedure generation systems, the computer readable instructions cause the processor to calculate a cycle time to physically perform the generated scanning procedure.

In some example scan procedure generation systems, the computer readable instructions cause the processor to calculate a three-dimensional computed tomography result or a three-dimensional digital radiography result based on simulating the generated scanning procedure. In some example scan procedure generation systems, the generated scanning procedure includes second instructions to be executed by the physical scanner to perform the plurality of movements and the plurality of image captures. In some example scan procedure generation systems, the generated scanning procedure is associated with an identifier of the workpiece.

In some example scan procedure generation systems, the instructions cause the processor to: determine dimensions of a virtual detector via the virtual environment, at least one of the dimensions being larger than a corresponding dimension of the physical radiation detector; and generate the scanning procedure based on the determined dimensions, the scanning procedure comprising arrangements of the physical radiation detector to meet the dimensions of the virtual detector.

FIG.1illustrates an example X-ray scanning system100that may be controlled using a scanner positioning control system using a generated scanning procedure. The example X-ray scanning system100may be used to perform non-destructive testing (NDT) and/or any other scanning application. The example X-ray scanning system100is configured to direct X-rays102from an X-ray emitter104to an X-ray detector106through a workpiece108(e.g., are object under test). In the example ofFIG.1, a workpiece positioner110holds or secures the workpiece108, and moves and/or rotates the workpiece108such that the desired portion and/or orientation of the workpiece108is located in the path of the X-ray radiation102.

As discussed in more detail below, any of the X-ray emitter104, the X-ray detector106, and/or the workpiece positioner110may be positioned and/or reoriented using one or more actuators. Relative repositioning of the X-ray emitter104, the X-ray detector106, and/or the workpiece positioner110may 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 workpiece108that is scanned, and/or other effects.

The X-ray scanning system100further includes an enclosure112, in which the X-ray emitter104, the X-ray detector106, and the workpiece positioner110are enclosed. The enclosure112includes one or more doors114or other access openings to, for example, insert or remove the workpiece108, perform servicing on any of the components within the enclosure112, and/or otherwise access an interior of the enclosure112.

The X-ray detector106ofFIG.1generates digital images based on incident X-ray radiation (e.g., generated by the X-ray emitter104and directed toward the X-ray detector106). The example X-ray detector106may 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 detector106may 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 positioner110include a mechanical manipulator, such a platen having linear and/or rotational actuators, Other example workpiece positioners110may include robotic manipulators, such as robotic arms having 6 degrees of freedom (DOF).

While the example ofFIG.1includes an X-ray emitter104and an X-ray detector106, in other examples the scanning system100may perform scanning using radiation in other wavelengths.

FIG.2is a block diagram of the example X-ray scanning system100ofFIG.1, a scanning positioning control system200, and a scan procedure generation system250. As discussed above, the example X-ray scanning system100includes an X-ray emitter104, an X-ray detector106, a workpiece positioner110. The example X-ray scanning system100further includes a source actuator116, a detector actuator118, and a positioner actuator120.

The X-ray scanning system100ofFIG.2is communicatively coupled to the scanner positioning control system200. In some examples, a programmable logic controller (PLC)202or other interface device may couple the scanner positioning control system200to the X-ray scanning system100. For example, the PLC202may enable a personal computer or other generic computing device to communicate with (e.g., command, obtain information from) the actuators116-120and/or sensor(s) of the scanning system100.

The example scanner positioning control system200ofFIG.2includes one or more processor(s)204, memory206and/or other computer readable storage device(s), a display208, communication circuitry210, and one or more input device(s)212. The scanner positioning control system200controls positioning of the X-ray emitter104(e.g., via the source actuator116), positioning of the X-ray detector106(e.g., via the detector actuator118), and/or positioning of the workpiece positioner110and/or the workpiece108(e.g., via the positioner actuator120.

The scanner positioning control system200controls the X-ray emitter104, receives digital images from the X-ray detector106, and/or outputs the digital images to the display device208. Additionally or alternatively, the scanner positioning control system200may store digital images to a storage device. The scanner positioning control system200may output the digital images as digital video to aid in real-time non-destructive testing and/or store digital still images.

The scanner positioning control system200further controls a scanner positioning system (e.g., the actuators116,118,120, via the PLC202) to physically move the X-ray emitter104, the X-ray detector106, and the workpiece positioner110based on inputs received via the input device(s)212and/or based on an automatic scanning procedure, which may be generated via the scan procedure generation system250and transferred to the scanner positioning control system200for execution. The processor(s)204calculate paths between the positions of the X-ray emitter104, the X-ray detector106, and the workpiece positioner110in a first arrangement and the positions of the physical components104,106,110in a subsequent arrangement. The processor(s)204then command the source actuator116, the detector actuator118, and/or the positioner actuator120to move the X-ray emitter104, the X-ray detector106, and the workpiece positioner110(e.g., via the PLC202). In some examples, the PLC202may calculate the paths based on coordinate information communicated by the scanner positioning control system200.

Similarly to the scanner positioning control system200, the example scanner positioning control system200ofFIG.2includes one or more processor(s)254, memory256and/or other computer readable storage device(s), a display258, communication circuitry260, and one or more input device(s)262.

The example scan procedure generation system250ofFIG.2is communicatively coupled to the scanner positioning control system200. For example, the scan procedure generation system250may be connected to the scanner positioning control system200via one or more computer networks, such as a local area network (LAN), a wide area network (WAN), the Internet, and/or any other type of network. In some examples, the scan procedure generation system250may transfer scan procedures to the scanner positioning control system200(or directly to the scanning system100) via network-based file transfers and/or storage device file transfers. In other examples, the scan procedure generation system250and the scanner positioning control system200may have access to the same file repositories for storage and subsequent retrieval of generated scan procedures.

To reduce the trial-and-error involved in positioning the components104-110, the example scan procedure generation system250outputs, via the display208, a virtual environment including visual representations of arrangements of the X-ray emitter104, the X-ray detector106, and the workpiece positioner110, which may be updated based on manipulation of the components104,106,110by the user.

Example operator input device(s)212,262include buttons, switches, analog joysticks, thumbpads, trackballs, and/or any other type of user input device.

FIG.3Aillustrates a first example arrangement of components having first positions and/or orientations in a virtual environment300, which may be implemented on the scan procedure generation system250ofFIG.2. The example virtual environment300includes virtual representations of a radiation source302, a radiation detector304, a workpiece positioner306, and a workpiece308. The radiation source302, the radiation detector304, and the workpiece positioner306are considered scanner components, while the workpiece308is considered separate from the scanner. In some examples, other scanner components may be rendered in the virtual environment, such as an enclosure of the scanning system.

The example scanner components302-306may be genericized for a generic scanning system, or may be rendered to be specific to a particular type of scanning system specified at the scan procedure generation system250for the virtual environment300. Whether generic or specific to a scanning system, virtual environment may constrain positioning and/or orientation of the scanner components302-306based on predetermined or user-defined constraints.

In addition to the components, the user may load the workpiece308into the virtual environment300by commanding the scan procedure generation system250to load a CAD model of the workpiece308. The CAD model may be any desired format supported by the scan procedure generation system250. The CAD model may be created using CAD software, and/or created from data generated by a prior radiography scan (e.g., via the scanning system100ofFIG.1). In this manner, a user may perform a scan of a sample component, which may then be loaded into the virtual environment300for design of scan procedures for subsequent components of a similar or identical design.

As mentioned above, the example scan procedure generation system250enables the user to change the positions and orientations of any of the radiation source302, the radiation detector304, the workpiece positioner306, and the workpiece308.FIG.3Billustrates a second example arrangement of the components302-308having second positions and/or orientations in the virtual environment300, as implemented on the scan procedure generation system250ofFIG.2. For example, the user may reposition and/or reorient the detector304(or other component) in the virtual environment300by clicking-and-dragging the detector304(or other component) to adjust a position and/or orientation, which may be represented by a second representation of the detector304(or other component) until the change is finalized by the user. The operator may repeatedly adjust the position(s) and/or orientation(s) of the components302-308until the desired position(s) and/or orientation(s) are achieved.

To aid the operator in determining the desired positions of the components302-308within the virtual environment300, the example scan procedure generation system250may include additional visual representations on the virtual environment300, such as projections of current and/or updated positions of the components302-308onto one or more reference planes. The reference plane(s) assist the user by displaying the relative current positions of the components302-308and/or the relative updated positions of the components302-308in a particular plane that may be difficult for the user to precisely perceive spatial relationships between the components.

Using the input device(s)262, the example scan procedure generation system250may identify chance(s) to be made to the current arrangement (e.g., position(s) and/or orientation(s)) of at least one of the source302, the detector304, the workpiece positioner306, and/or the workpiece308. Based on the change(s) to the current arrangement in the virtual environment300identified via the input device(s)262, the scan procedure generation system250displays the visual representation of the updated arrangement in the virtual environment300. The example virtual environment300may be manipulated (e.g., via the input device(s)262) to change the positions and/or orientations of the components302-308and/or the viewpoint angle of the virtual environment300(e.g., a camera angle, from which the arrangements are viewed in the virtual environment300). As the operator manipulates the position and/or orientation of one or more of the component(s)302-308, the scan procedure generation system250may 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)302-308in the current arrangement.

In some examples, the virtual environment300includes sufficient detail to make the virtual environment300closely resemble the physical scanning system100. Such details may further improve the ability of the user to generate the scanning procedure.

The arrangements of the radiation source302, the radiation detector304, the workpiece positioner306, and the workpiece308directly affect the resulting radiography or tomography scans generated by the scanning system100. As illustrated inFIGS.3A and3B, the scan procedure generation system250may render a projection310of the workpiece308based on the arrangement of the radiation source302, the radiation detector304, the workpiece positioner306, and the workpiece308. In some examples, the projection310may be displayed directly on the virtual representation of the detector304. Additionally or alternatively, the scan procedure generation system250may display the projection310in a separate window or frame, or otherwise outside of the virtual environment300so the display of the projection310is not subject to the viewing angle of the virtual environment300.

As illustrated inFIGS.3A and3B, the projection310may be representative of a simulated radiography image captured by the detector304based on the current parameters and arrangement of components302-308. As the arrangement and/or parameters change, the scan procedure generation system250interactively updates the projection310(e.g., real-time, in less than 2 seconds of update time, etc.). The interactive updating of the projection310assists the operator in determining the appropriate arrangements of the components302-308to obtain the desired DR or CT scan of the workpiece308.

FIG.4is a flowchart representative of example machine readable instructions400which may be executed by the example scan procedure generation system250ofFIG.2to generate a scanning procedure for execution by a physical scanning system100. The example instructions400are described below with reference to the example virtual environment ofFIGS.3A and3B, and the scan procedure generation system250.

At block402, the scan procedure generation system250(e.g., via the processor(s)254) load representations of the radiation source302, the radiation detector304, and the workpiece positioner306into the virtual environment300. The representations of the radiation source302, the radiation detector304, and the workpiece positioner306may be selected and loaded based on a specific or target type or model of scanning system100having specific attributes for the radiation source302, the radiation detector304, and/or the workpiece positioner306, or a generic scanning system.

At block404, the scan procedure generation system250loads one or more CAD or other data files representative of a selected workpiece308(or combination of workpieces) into the virtual environment300. The CAD file may be manually generated or automatically generated. An example of an automatically generated CAD file may be a tile based on contours determined from a prior DR or CT scan of the workpiece308. In some examples, the radiation source302, the radiation detector304, the workpiece positioner306, and/or the workpiece308are provided with default positions and/or orientations upon loading. The scan procedure generation system250may determine an initial position of the workpiece308based on matching orientation and/or location data in the CAD file to the position of the positioner306.

At block406, the scan procedure generation system250renders and outputs a visual representation of the arrangement of the radiation source302, the radiation detector304, the workpiece positioner306, and the workpiece308in the virtual environment300, based on the respective positions and orientations of the components302-308. The rendering is also based on the camera angle or viewpoint of the virtual environment300on the display258.

At block408, the scan procedure generation system250determines whether the position(s) and/or orientation(s) of the radiation source302, the radiation detector304, the workpiece positioner306, and/or the workpiece308have changed via the virtual environment300. For example, the user may manipulate any of the components302-308to configure the scan characteristics.

If the position(s) and/or orientation(s) have not changed for one or more components302-308(block408), at block410the scan procedure generation system250determines whether one or more aspects of the generated scanning procedure are to be automatically calculated. For example, the scan procedure generation system250may automatically calculate one or more scanning procedures, arrangements, parameter sets, fixtures, regions of interest of the workpiece308, cycle times, boundary boxes for a scan, sources of potential error(s) such as component collisions, and/or any other aspects of a scanning procedure.

If one or more aspects of the generated scanning procedure are to be automatically calculated (block410), at block412the scan procedure generation system250calculates requested aspects of the generated scanning procedure. For example, the user may select particular aspects of the generated scanning procedure to be calculated, and/or may request that an entire scanning procedure is calculated for review and/or modification. Example instructions that may be executed to implement block412are disclosed below with reference toFIGS.5-10.

After calculating the requested aspect(s) (block412), or if the position(s) and/or orientation(s) have changed for one or more components302-308(block408), at block414the scan procedure generation system250updates the arrangement(s) and/or parameters in the virtual environment300, and returns to block406to update the rendering of the component(s)302-308.

If the position(s) and/or orientation(s) have not changed for one or more components302-308(block408), and no further aspects of the generated scanning procedure are to be automatically calculated (block410), at block416the scan procedure generation system250determines whether a projection or simulation of the scan is to be generated. For example, a user may select to simulate the radiation being output by the radiation source302and a corresponding image being generated by the detector304(e.g., “X-ray ON”).

If a projection or simulation of the scan is to be generated (block416), at block418the scan procedure generation system250renders and outputs a projection of the workpiece308based on the positioning of the source302, the detector304, the positioner306, and the workpiece308, based on the source and/or detector parameters, and/or based on characteristics of the workpiece308. In some examples, scan procedure generation system250permits the user to choose to simulate and render one or more effects to the projection to enhance the realism, which can assist the user in improving the generated scan procedure. Example aspects that may be simulated by the scan procedure generation system250for the projection include: beam hardening; radiation energy or wavelength; a spectrum and/or other characteristics of a polychromatic beam; randomization or error in the accuracy of motion or positioning of one or more of the scanner components302-306; motion dynamics (e.g., vibration); alignment of scanner components302-306; accuracy or tolerance in positioning the workpiece308on the positioner306; a collimation characteristic of the radiation source302; a focal spot size and/or shape of the radiation source302; radiation scatter; the selected radiation spectrum; non-uniformity of the radiation cone and/or radiation flux; component degradation (e.g., pitting of the tungsten target of an X-ray source); variation in radiation emissions by the radiation source302; source warmup time; scintillator efficiency of the detector304; scintillator resolution and/or blur of the detector304; noise at the detector304; and/or defects in the detector304(e.g., over-responsive, under-responsive, and/or non-responsive pixels). The scan procedure generation system250may render and output the projection310on a face of the detector304, in a separate window or interface overlaid on or outside of the display of the virtual environment300. The example scan procedure generation system250may update the projection in response to changes in the arrangements and/or parameters (e.g., block408).

After rendering and outputting the projection310(block418), or if the projection is not generated (block416), at block420the scan procedure generation system250determines whether to generate a scanning procedure. For example, the user may indicate that the arrangement of the components302-308and/or the source and/or detector parameters are satisfactory.

If the scanning procedure is not to be generated (block420), control returns to block406to continue rendering the virtual environment300and the components302-308.

When the scanning procedure is to be generated (block420), at block422the scan procedure generation system250generates a scanning procedure for execution by a physical scanner (e.g., the scanning system100) based on the arrangement(s) of the component(s)302-308, the defined parameters for the source302, defined parameters for the detector304, and/or parameters of the workpiece308. The generated scanning procedure may be output as a file including instructions or commands that, when executed by the scanning system100(e.g., directly or via the scanner positioning control system200), cause the scanning system100to implement positioning, orientation, movements, imaging, and/or image reconstruction for a DR or CT scan as defined in the scan procedure.

Example scanning instructions and/or parameters that may be specified in the generated scan procedure include: image acquisition arrangements (e.g., positions and orientations) of the components302-308; workpiece loading and/or unloading positions; unobstructed paths around the workpiece308and/or workpiece fixturing; warm-up positions of the radiation source302; a number of radiographs; a starting arrangement; an final or ending arrangement; detector averaging parameters; component positioning and/or speed during and/or between radiographs (e.g., instructions to rotate and/or translate the positioner306, movement of the detector304, etc.); radiation energy or wavelength parameters or settings for the source302; a focal spot mode and/or type; physical radiation filtering; collimation; a region of interest on the detector304; an integration time or framerate; binning; and/or gain. However, any other component positioning and/or orientation parameters, radiation source parameters, radiation detector parameters, and/or DR or CT reconstruction parameters may be included in the generated scan procedure for execution by a physical scanning system and/or scanner positioning control system.

In some examples, additional data may be associated with the generated scan procedure, such as an identifier of the workpiece308(e.g., a part number, a model number, a QR or bar code, etc.) that enables the scan procedure to be loaded in response to an input of the identifier at the scanner positioning control system200. In some examples, fixturing information may also be associated with the scan procedure.

After generating the scanning procedure, the example instructions400end.

FIG.3Cillustrates the example workpiece308displayed in the example virtual environment300, include a boundary box312enveloping at least a portion of the workpiece308and specifying a portion of the workpiece308to be scanned, which may be implemented on the scan procedure generation system250ofFIG.2. The example boundary box312may be drawn by the user in the virtual environment300, or may be automatically selected by the scan procedure generation system250to include regions of interest of the workpiece308. The user may manipulate (e.g., resize, translate, redraw) the boundary box312within the virtual environment as desired.

In some examples, following the selection of the boundary box312in the virtual environment300, the scan procedure generation system250determines at least a portion of the scan procedure to scan the volume within the boundary box312. For example, the scan procedure generation system250may determine the positioning of the source302and the detector304with respect to the boundary box312, and determine a position and/or orientation of the positioner306, and/or determine the position of the workpiece308on the positioner306, to scan the boundary box312.

In some examples, the scan procedure generation system250provides a wizard-type interface which prompts the user for certain information and, based on the responses, automatically calculates a suggested scanning procedure. An example wizard interface may request that the user define the boundary box312, a voxel size, and beam hardening characteristics, and generate a suggested scanning technique based on the provided information.

In some examples, the scan procedure generation system250limits DR or CT reconstructions from simulated scanning procedures to only reconstruct the portions of the workpiece308within the boundary box312to preserve computing resources.

FIG.5is a flowchart representative of example machine readable instructions500which may be executed by the example scan procedure generation system250ofFIG.2to automatically determine one or more arrangements and movements based on an identification of a boundary box enveloping a portion of the workpiece. The example instructions500are described below with reference to the example virtual environment ofFIGS.3A and3B, and the scan procedure generation system250, and may be executed to implement block412ofFIG.4.

At block502, the scan procedure generation system250determines portions of the workpiece308that are to be scanned. For example, the scan procedure generation system250may determine that certain portions of the workpiece308have characteristics of interest for DR or CT scanning, the user may identify the portions of the workpiece308, and/or the entire workpiece308may be scanned. At block504, the scan procedure generation system250generates a boundary box to encompass at least the portions of the workpiece308to be scanned. In some examples, the boundary box has a cylindrical shape due to the arrangements and motion of the components302-308. However, the boundary box may be configured with other shapes.

At block506, the scan procedure generation system250determines the position(s) and orientation(s) of the components302-308to scan the boundary box, and/or the source and/or detector parameters for scanning. The position(s) and orientation(s) may be determined based on the geometry of the boundary box. In some examples, the source and/or detector parameters may be based on the characteristics of the workpiece, such as the material, density, and/or any other characteristics determined from the CAD file and/or specified by the user.

At block508, the scan procedure generation system250simulates the movement(s) and resulting image(s) of the scan to detect potential error(s). Example errors that may be detected may include collisions between different ones of the components302-308, and/or collisions between the components302-308and other elements of the scanning system100such as a cabinet or enclosure, wiring, support structure, and/or any other physical components; errors in the positioning of one or more of the radiation source, the radiation detector, the workpiece positioner, and the workpiece; movement of one or more of the radiation source, the radiation detector, the workpiece positioner, and the workpiece; an emission characteristic of X-ray radiation emitted by the radiation source; a detection characteristic of the radiation detector; or a characteristic of X-ray radiation in the system. In some examples, the scan procedure generation system250simulates wobble (e.g., imbalances or other inaccuracies in positioning of the positioner306) or other errors in the positioner306, and/or in other components302,304,308. Additionally or alternatively, the scan procedure generation system250may perform Monte Carlo simulations of various parameters and/or resulting images for uncertainty estimation and/or predicting potential sources of errors.

In some examples, the scan procedure generation system250performs a simulation of a full DR or CT scan (e.g., simulating the generation of radiographs) using the determined position(s), orientation(s), and parameters using the CAD model of the workpiece308, and performs a DR or CT reconstruction based on the simulated radiographs. The simulation of the full scan and the resulting simulated reconstruction may enable the user to identify potential problems with the proposed scanning procedure and make appropriate changes.

At block510, the scan procedure generation system250determines whether potential error(s) are detected. If one or more errors are detected (block510), at block512the scan procedure generation system250adjusts the position(s) and/or orientation(s) of one or more of the components302-308to scan the boundary box to eliminate the errors. Control then returns to block508to simulate the updated movements and resulting image(s) of the scan for any further errors.

When potential errors are not detected (block510), at block514the scan procedure generation system250outputs the position(s) and orientation(s) of the component(s)302-308and/or the source and detector parameter(s). The position(s), orientation(s), and parameter(s) may be used to generate the scanning procedure and/or modified by the user. The example instructions500may then end.

FIG.6is a flowchart representative of example machine readable instructions which may be executed by the example scan procedure generation system250ofFIG.2to automatically determine one or more arrangements and movements based on an identification of a boundary box enveloping a portion of the workpiece308. The example instructions600are described below with reference to the example virtual environment ofFIGS.3A and3B, and the scan procedure generation system250, and may be executed to implement block412ofFIG.4.

At block602, the scan procedure generation system250determines portions of the workpiece308that are to be scanned. For example, the scan procedure generation system250may determine that certain portions of the workpiece308have characteristics of interest for DR or CT scanning, the user may identify the portions of the workpiece308, and/or the entire workpiece308may be scanned. At block604, the scan procedure generation system250generates a boundary box to encompass at least the portions of the workpiece308to be scanned. In some examples, the boundary box has a cylindrical shape due to the arrangements and motion of the components302-308. However, the boundary box may be configured with other shapes.

At block606, the scan procedure generation system250uses two or more techniques (e.g, planning algorithms) and/or parameter sets to determine positions, orientations, and/or movement(s) of the component(s)302-308and/or source and/or detector parameters to perform different scans of the boundary box312. For example, the scan procedure generation system250may have multiple techniques and/or planning algorithms stored for use in procedure planning, Different ones of the planning algorithms may be optimized for particular types of scans and/or arrangements.

At block608, the scan procedure generation system250simulates the movement(s) and resulting image(s) of the two or more scans (e.g., based on the different planning algorithms). At block610, the scan procedure generation system250determines one or more characteristics of each scan and/or set of resulting image(s). For example, the scan procedure generation system250may determine whether each of the scans results in any errors, provides less than a threshold image quality, and/or otherwise satisfies or fails to satisfy conditions for a satisfactory scan.

At block612, the scan procedure generation system250compares the characteristics of the scans to select one of the scans based on the characteristics. For example, the scan procedure generation system250may determine which of the scans provides a preferred image quality and/or avoids errors such as collisions. The selected scan may provide a preferred combination of quantitative values determined from the simulations.

At block614, the scan procedure generation system250determines whether potential errors are detected in the selected scan. If one or more errors are detected (block614), at block616the scan procedure generation system250adjusts the position(s) and/or orientation(s) of one or more of the components302-308to scan the boundary box to eliminate the errors. Control then returns to block608to simulate the updated movements and resulting image(s) of the scan for any further errors. The example scan procedure generation system250may update the parameters for the algorithms simulated in a prior iteration.

When potential errors are not detected (block614), at block618the scan procedure generation system250outputs the position(s) and orientation(s) of the component(s)302-308and/or the source and detector parameter(s). The position(s), orientation(s), and parameter(s) may be used to generate the scanning procedure and/or modified by the user. The example instructions600may then end.

FIGS.3D and3Eillustrate an example change in position and orientation of the positioner306and the workpiece308using the virtual environment300, and an interactive change in the rendering of a projection310of the workpiece308on the radiation detector304, which may be implemented on the scan procedure generation system250ofFIG.2. As shown inFIG.3D, the user may select the workpiece positioner306for translation and/or rotation. In the illustrated example, the workpiece308may be tied by reference to the workpiece positioner306, such that the workpiece308moves with the positioner306so as to maintain a same position and/or orientation relationship with the positioner306.

In the example ofFIG.3D, the result of the translation of the positioner306is represented in the virtual environment300using a different visual style (e.g., a ghost representation314or other visually distinguishable representation of the positioner306). The virtual environment300also indicates the direction316or plane of movement or orientation to aid the user in arranging the components302-308.

FIG.3Eshows the virtual environment following the change in position performed inFIG.3D. As illustrated inFIG.3E, the scan procedure generation system250updates the simulation of the projection310based on the updated arrangement, and renders the updated projection310on the detector304. Because the workpiece308is closer to the source302, the workpiece308is a larger portion in the resulting image (as shown by the projection310), and the interactions between the radiation and the workpiece308may change.

FIG.3Fillustrates an example workpiece308displayed in the example virtual environment300, in which at least a portion318of the workpiece308is rendered to indicate a characteristic (e.g., a probable defect) of the workpiece308, which may be implemented on the scan procedure generation system250ofFIG.2. In some examples, the scan procedure generation system250may perform and/or invoke one or more modeling algorithms and/or simulations to analyze the CAD model of the workpiece308. Example modeling algorithms that may be performed or invoked may include casting analysis algorithms, porosity analysis modeling, and/or stress analysis modeling, which may be used to analyze the CAD model for potential voids, discontinuities, porosity, inclusions, tolerance issues, and/or any other potential defects or risk sources that may occur during a casting process for manufacturing the workpiece308based on the CAD model. However, any other types of manufacturing modeling or analysis algorithms may be implemented or invoked.

The modeling algorithm and/or the scan procedure generation system250may specify a threshold or condition which merits attention during a DR or CT scan of the workpiece308. In response to identifying one or more portions of the workpiece308using the modeling or analysis algorithm(s), the example scan procedure generation system250may render the identified portion of the workpiece308differently than other portions or the remainder of the workpiece308in the virtual environment300. In some examples, different portions of the workpiece308may be identified via the modeling or analysis algorithm(s) for different reasons. The example scan procedure generation system250may render portions of the workpiece308identified using different algorithms by displaying different visual indications (e.g., different colors, different patterns, etc.), or may render identified portions in the same manner to visually indicate any regions of interest, regardless of the algorithm resulting in identification.

In some examples, the scan procedure generation system250automatically determines a scan procedure (e.g., component arrangements, movements, and/or parameters) to include identified portions of interest on the workpiece308. The source parameters and/or the detector parameters may be selected based on a type of characteristic identified by one or more modeling or analysis algorithm(s).

FIG.7is a flowchart representative of example machine readable instructions which may be executed by the example scan procedure generation system250ofFIG.2to render a portion of the workpiece to indicate a characteristic of the workpiece based on at least one of data in the CAD model or data received from a modeling algorithm based on the CAD model.

At block702, the scan procedure generation system250loads one or more modeling program(s) or algorithms. For example, the scan procedure generation system250may load a casting analysis algorithm if the workpiece308is manufactured via casting. The modeling program(s) may be selected automatically based on characteristics of the CAD model and/or may be selected manually by the user from a library of modeling program(s).

At block704, the scan procedure generation system250determines output thresholds) for the modeling programs. For example, the user may specify quantitative thresholds that indicate the presence of characteristics of interest, such as discontinuities. In other examples, the modeling programs are configured with predetermined thresholds.

At block706, the scan procedure generation system250executes the modeling program(s) using the loaded CAD model of the workpiece308.

At block708, the scan procedure generation system250determines whether any of the executed modeling program(s) return outputs that meet the corresponding output thresholds for indicating the presence or threshold likelihood of the characteristics modeled by the modeling programs.

If any of the executed modeling program(s) return outputs that meet the corresponding output thresholds (block708), at block710, the scan procedure generation system250renders the portion(s)320of the workpiece308that correspond to the output(s) meeting the output threshold(s) to indicate a corresponding characteristic of the workpiece308. For example, the scan procedure generation system250may render the portion318with a different color and/or pattern than the remainder of the workpiece308to indicate the presence of one or more modeled characteristics (e.g., discontinuities, etc.) in the portion318of the workpiece308.

After rendering the portions318(block710), or if none of the modeling algorithms identify a characteristic (block708), the example instructions700end.

FIG.3Gillustrates the example workpiece308displayed in the example virtual environment300, including an automatically generated fixture320configured to support the object on the workpiece positioner306, which may be implemented on the scan procedure generation system250ofFIG.2. As illustrated inFIG.3F, the user may determine that a relatively unstable orientation of the workpiece308on the positioner306would result in a desired DR or CT scan, in which a more stable orientation would not. Rather than require the operator of the scanning system100to determine an appropriate way in which to stabilize the workpiece308, the example scan procedure generation system250may automatically design (or automatically invoke another program to design) a fixture320that can stabilize the workpiece308. Additionally or alternatively, the fixture320may be designed to secure the positioner306(e.g., via features in the positioner306that allow for attachment of accessories).

In the example ofFIG.3F, the scan procedure generation system250may determine the center of gravity of the workpiece308, the exterior contours (e.g., contact points) of the workpiece308, and/or any other features of the workpiece308based on the CAD model. Based on the configured orientation of the workpiece308, the data from the CAD model, and the positioner306, the example scan procedure generation system250calculates and generates a CAD model of a physical fixture320to support and stabilize the workpiece308on the positioner306. In some examples, the fixture320is further designed to secure the workpiece308to the positioner306so as to provide a consistent location and/or orientation of the workpiece308with respect to the positioner306.

In some examples, the user may select to physically generate one or more copies of the fixture320via 3D printing or other additive manufacturing and/or machining techniques. In response to such a selection, the scan procedure generation system250may export the generated CAD file to an external device (e.g., a 3D printer, a contract manufacturer, etc.) for manufacture. In other examples, the CAD file of the fixture320may be packaged with the generated scan procedure for use by the operator of the scanning system100at the time the physical copies of the workpiece308are to be scanned via the system100.

FIG.8is a flowchart representative of example machine readable instructions800which may be executed by the example scan procedure generation system250ofFIG.2to generate a fixture model to support the workpiece308on the workpiece positioner306as defined in the generated scanning procedure.

At block802, the scan procedure generation system250determines a position and orientation of the workpiece308with respect to the positioner306in the virtual environment300. For example, the scan procedure generation system250may determine the points of contact and/or support provided to the workpiece308by the positioner306based on the position and orientation of the workpiece308by the user.

At block804, the scan procedure generation system250determines whether the workpiece308is in a stable position for scanning. For example, the scan procedure generation system250may determine whether a calculated center of gravity of the workpiece308is in a position relative to the support points that could cause the workpiece308to destabilize during the scanning procedure e.g., in a static position, during movement and/or rotation of the positioner306, etc.).

At block806, the scan procedure generation system250generates and outputs a CAD model of a fixture (e.g., the fixture320) to support the workpiece on the positioner306and/or to secure the workpiece308to the positioner306in the configured position and orientation. For example, the scan procedure generation system250may use a fixture generation algorithm to generate: structures that contact points on the positioner306based on the geometries of the workpiece308and the positioner306and based on the position and orientation of the workpiece308with respect to the positioner306; structures configured to contact points on the workpiece308(e.g., points at or near the extremities of the workpiece308, points having higher densities and/or weight, etc.) to support the workpiece308at those points using the structures contacting the positioner306; bridge structures to connect the structures contacting the positioner306and the workpiece308; and/or locating structures that can be used to locate the fixture320, and thereby locate the workpiece308, at a specific point and orientation on the positioner306.

The resulting CAD model may be any desired format, and may be stored or incorporated into a generated scan procedure for the workpiece308to enable the operator of the scanning system100to access and quickly generate (e.g., via a 3D printer or other additive manufacturing device) the desired fixturing for the scanning procedure and workpiece308.

At block808, the scan procedure generation system250determines whether the physical fixture is to be generated. For example, the user of the scan procedure generation system250and/or the operator of the scanner positioning control system200may select to generate a physical copy of the fixture320. If the physical copy of the fixture320is to be generated (block808), at block810the scan procedure generation system250(or the scanner positioning control system200) outputs the CAD model of the fixture320to an additive manufacturing system for physical generation.

After outputting the CAD model of the fixture320(block810), if a physical fixture is not to be created (block808), or if the workpiece308is in a stable position for scanning (and the user does not otherwise select creation of a fixture model), the example instructions800end.

FIG.3Hillustrates the example workpiece308displayed in the example virtual environment300, including a rendering of a cone of radiation322emitted by the radiation source302, which may be implemented on the scan procedure generation system250ofFIG.2. The scan procedure generation system250calculates the boundaries of the cone of radiation322based on the arrangement and parameters of the radiation source302in the virtual environment, such as the distance between the radiation source302and the radiation detector304, collimation, and/or any other parameters. The scan procedure generation system250may then render the calculated cone of radiation322with or without simulating and rendering the projection310, as desired by the user. In other examples, the scan procedure generation system250may project and/or render other positioning aids into the virtual environment, such as a radiation focal point, scatter radiation, beam collimation, and/or any other aids or effects.

Additionally or alternatively, the user may designate portions of the detector304as non-functional or having another malfunction (e.g., loss of detector resolution), which is then included in any simulations or reconstructions by the scan procedure generation system250to enable the user to design the scanning procedure around anticipated or potential problematic areas.

FIG.9is a flowchart representative of example machine readable instructions900which may be executed by the example scan procedure generation system250ofFIG.2to calculate a cycle time to physically perform the generated scanning procedure. The example instructions900are described below with reference to the example virtual environment ofFIGS.3A and3B, and the scan procedure generation system250, and may be executed to implement block412ofFIG.4.

At block902, the scan procedure generation system250determines a type of the physical scanning system100. For example, the user of the scan procedure generation system250may select the model and/or one or more characteristics of the physical scanning system100from a list or menu of options, and/or may enter other data that may be used by the scan procedure generation system250to calculate cycle time.

At block904, the scan procedure generation system250simulates a generated scanning procedure to calculate a cycle time based on the determined physical scanning system100. For example, the scan procedure generation system250may determine the cycle time to include estimated time to position of the workpiece308and/or any required fixturing, enclosure closing time, radiation source warm-up time, image capture time including integration time and number of radiographs, enclosure opening time, workpiece and/or fixturing removal time, and/or any other aspects of performing the physical scan of a generated scanning procedure.

At block906, the scan procedure generation system250outputs the calculated cycle time. The calculated cycle time may be used by the scan procedure generation system250as a factor to score or compare potential scanning procedures for selection (e.g., block612ofFIG.6), because reducing cycle time can be an advantageous feature of a scanning procedure. The example instructions900may then end.

FIG.10is a flowchart representative of example machine readable instructions1000which may be executed by the example scan procedure generation system250ofFIG.2to generate the scanning procedure based on dimensions of a virtual detector which are larger corresponding dimensions of a physical detector to perform the scanning procedure. For example, the virtual environment300may enable the user to configure a size of the radiation detector304to be larger than the actual size or dimensions of the detector106. The resulting scanning procedure is generated to include multiple radiographs for each workpiece position to allow for movement of the emitter104, the detector106, and/or positioner110and workpiece108, to effectively match the dimensions of the defined virtual detector.

At block1002, the scan procedure generation system250receives boundaries (e.g., dimensions and positions) of the detector304in the virtual environment, as specified by the operator. In some examples, the scan procedure generation system250automatically configures dimensions and positions of the virtual detector based on a size of the workpiece308and/or the boundary box312, as well as the desired source and/or detector parameters (e.g., if a desired image quality cannot be obtained in a single radiograph for a given workpiece position).

At block1004, the scan procedure generation system250determines position(s) and orientation(s) of the components302-308to scan a boundary box312to have the specified detector boundaries and the effective detector boundaries. The position(s) and orientation(s) of the components302-308may be used by the scan procedure generation system250to automatically generate the scanning procedure to scan the workpiece308as disclosed above. The example scan procedure generation system250may further include image stitching instructions to enable the scanning system100to stitch multiple radiographs taken for a given workpiece position and orientation into a single image having the effective dimensions of the virtual detector. The example instructions1000then end.

While the foregoing examples refer to linear actuators, any other type(s) of actuator(s) or manipulator(s) may be used to physical position and/or manipulate the X-ray emitter104, the X-ray detector106, the workpiece positioner110, the workpiece, and/or any other components. For example, the actuator(s)116,118,120may include 6 degree-of-freedom robot manipulators, rotational actuators (e.g., direct rotation, worm gear rotation, etc.), and/or any other type of actuator, which may be reflected in the virtual environment300ofFIGS.3A-3H.

FIG.11is a block diagram of an example computing system1100that may be used to implement the scanner positioning control system200and/or the scan procedure generation system250ofFIG.2. The example computing system1100may 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 system1100ofFIG.11includes a processor1102. The example processor1102may be any general purpose central processing unit (CPU) from any manufacturer. In some other examples, the processor1102may 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 processor1102executes machine readable instructions1104that may be stored locally at the processor (e.g., in an included cache or SoC), in a random access memory1106(or other volatile memory), in a read only memory1108(or other non-volatile memory such as FLASH memory), and/or in a mass storage device1110. The example mass storage device1110may be a hard drive, a solid state storage drive, a hybrid drive, a RAID array, and/or any other mass data storage device.

A bus1112enables communications between the processor1102, the RAM1106, the ROM1108, the mass storage device1110, a network interface1114, and/or an input/output interface1116.

The example network interface1114includes hardware, firmware, and/or software to connect the computing system1100to a communications network1118such as the Internet. For example, the network interface1114may include IEEE 802.X-compliant wireless and/or wired communications hardware for transmitting and/or receiving communications.

The example I/O interface1116ofFIG.11includes hardware, firmware, and/or software to connect one or more input/output devices1120to the processor1102for providing input to the processor1102and/or providing output from the processor1102. For example, the I/O interface1116may 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)1120may 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)208,258) a magnetic media drive, and/or any other type of input and/or output device.

The example computing system1100may access a non-transitory machine readable medium1122via the I/O interface1116and/or the I/O device(s)1120. Examples of the machine readable medium1122ofFIG.11include 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)1114and/or the I/O interface(s)1116, include wireless personal area network (WPAN) protocols, such as Bluetooth (IEEE 802.15); near field communication (NFC) standards; wireless local area network (WLAN) protocols, such as WiFi (IEEE 802.11); cellular standards, such as 2G/2G+ (e.g., GSM/GPRS/EDGE, and IS-95 or cdmaOne) and/or 2G/2G+ (e.g., CDMA2000, UMTS, and HSPA); 4G standards, such as WiMAX (IEEE 802.16) 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)1114and/or the I/O interface(s)1116, such as to communicate with the display device(s)212, include comprise Ethernet (IEEE 802.3), 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 computing system1100may 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 system1100. 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.