U.S. patent application number 13/852063 was filed with the patent office on 2014-10-02 for visualization of an object using a visual query system.
This patent application is currently assigned to THE BOEING COMPANY. The applicant listed for this patent is THE BOEING COMPANY. Invention is credited to John Carney Gass, Nikoli E. Prazak.
Application Number | 20140298216 13/852063 |
Document ID | / |
Family ID | 50280210 |
Filed Date | 2014-10-02 |
United States Patent
Application |
20140298216 |
Kind Code |
A1 |
Prazak; Nikoli E. ; et
al. |
October 2, 2014 |
Visualization of an Object Using a Visual Query System
Abstract
A computer-implemented method for visualizing an object.
Instructions identifying a hierarchy of image blocks and an action
scheme are received. An image block in the hierarchy of image
blocks is loaded to display an image corresponding to the image
block to a user through a graphical user interface displayed on a
display system. A number of image areas on the image are
selectable. User input that selects an image area in the number of
image areas is detected. Visualization information to be sent to a
visualization system for use in visually presenting a portion of
the data about the object of interest to the user through the
graphical user interface is generated based on the image area
selected.
Inventors: |
Prazak; Nikoli E.; (Renton,
WA) ; Gass; John Carney; (Sammamish, WA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
THE BOEING COMPANY |
Chicago |
IL |
US |
|
|
Assignee: |
THE BOEING COMPANY
Chicago
IL
|
Family ID: |
50280210 |
Appl. No.: |
13/852063 |
Filed: |
March 28, 2013 |
Current U.S.
Class: |
715/764 |
Current CPC
Class: |
G06F 2113/28 20200101;
Y02T 90/50 20180501; G06F 16/532 20190101; G06F 3/04842 20130101;
Y02T 90/00 20130101; G06F 30/15 20200101; G06F 3/0482 20130101;
G06F 16/00 20190101; G06F 3/04815 20130101 |
Class at
Publication: |
715/764 |
International
Class: |
G06F 3/0484 20060101
G06F003/0484 |
Claims
1. A computer-implemented method for visualizing data about an
object, the method comprising: receiving instructions identifying a
hierarchy of image blocks and an action scheme; load an image block
in the hierarchy of image blocks to display an image corresponding
to the image block to a user through a graphical user interface
displayed on a display system, wherein a number of image areas on
the image are selectable; and perform a set of actions in response
to a selection of an image area in the number of image areas based
on the action scheme identified in the instructions.
2. The computer-implemented method of claim 1 further comprising:
monitoring for user input selecting the image area in the number of
image areas.
3. The computer-implemented method of claim 2, wherein performing
the set of actions in response to the selection of the image area
in the number of image areas based on the action scheme identified
in the instructions comprises: loading a new image block at a next
level in the hierarchy of image blocks to display a new image
corresponding to the new image block to the user through the
graphical user interface.
4. The computer-implemented method of claim 2, wherein performing
the set of actions in response to the selection of the image area
in the number of image areas based on the action scheme identified
in the instructions comprises: generating visualization information
to be sent to a visualization system for use in visually presenting
data of interest to the user.
5. The computer-implemented method of claim 4, wherein generating
the visualization information comprises: running a query to filter
the data about the object based on the selection of the image area
in the number of image areas.
6. The computer-implemented method of claim 5, wherein running the
query to filter the data about the object comprises: running the
query to filter the data about the object based on the selection of
the image area in the number of image areas, wherein the data about
the object comprises a number of models for the object and object
data.
7. The computer-implemented method of claim 4, wherein generating
the visualization information comprises: generating the
visualization information in which the visualization information
includes spatial information identifying a spatial region with
respect to which the data of interest is to be visually presented
to the user.
8. The computer-implemented method of claim 4, wherein generating
the visualization information comprises: generating the
visualization information in which the visualization information
includes a number of visualization effects to be used by the
visualization system when visually presenting the data of interest
to the user.
9. A computer-implemented method for visually querying data about
an object, the method comprising: receiving instructions
identifying a hierarchy of image blocks and an action scheme; load
an image block in the hierarchy of image blocks to display an image
corresponding to the image block to a user through a graphical user
interface displayed on a display system, wherein a number of image
areas on the image are selectable; detecting user input that
selects an image area in the number of image areas; and generating
visualization information to be sent to a visualization system for
use in visually presenting a portion of the data about an object of
interest to the user through the graphical user interface based on
the image area selected.
10. The computer-implemented method of claim 9, wherein generating
the visualization information comprises: querying the data about
the object to identify the portion of the data about the object of
interest to the user with respect to a spatial region of the object
based on the image area selected.
11. An apparatus comprising: a visual query system configured to
receive instructions identifying a hierarchy of image blocks and an
action scheme; load an image block in the hierarchy of image blocks
to display an image corresponding to the image block to a user
through a graphical user interface displayed on a display system,
wherein a number of image areas on the image are selectable; and
perform a set of actions in response to a selection of an image
area in the number of image areas based on the action scheme
identified in the instructions.
12. The apparatus of claim 11, wherein the visual query system
comprises: a controller configured to receive the instructions and
configured to receive user input selecting the image area in the
number of image areas through the graphical user interface.
13. The apparatus of claim 11, wherein the visual query system
comprises: a display manager configured to display the image
corresponding to the user through the graphical user interface.
14. The apparatus of claim 11, wherein the set of actions includes
loading a new image block at a next level in the hierarchy of image
blocks and displaying a new image corresponding to the new image
block to the user through the graphical user interface.
15. The apparatus of claim 11, wherein the set of actions includes
generating visualization information and sending the visualization
information to a visualization system for use in visually
presenting data of interest to the user.
16. The apparatus of claim 11, wherein the visual query system
comprises: a query generator configured to run a query to filter
data about an object with respect to a spatial region of the object
based on the selection of the image area, wherein running the query
is one of the set of actions.
17. The apparatus of claim 15, wherein the visualization
information includes spatial information identifying a spatial
region with respect to which the data of interest is to be visually
presented to the user.
18. The apparatus of claim 15, wherein the visualization
information includes a number of visualization effects for use by
the visualization system in visually presenting the data of
interest to the user.
19. The apparatus of claim 15 further comprising: the visualization
system, wherein the visualization system and the visual query
system form an integrated visualizer.
20. The apparatus of claim 19, wherein the integrated visualizer is
configured to allow the user to visualize object data for each of a
plurality of objects and visually query for a portion of the object
data corresponding to one of the plurality of objects based on a
number of search criteria in which the object data includes at
least one of design data, engineering data, geometry data,
attribute data, part data, manufacturing data, production data,
maintenance data, or work order data.
Description
BACKGROUND INFORMATION
[0001] 1. Field
[0002] The present disclosure relates generally to visualization
systems and, in particular, to querying information using
visualization systems. Still more particularly, the present
disclosure relates to a method and apparatus for allowing a user to
visually query information about an object using a visualization
system.
[0003] 2. Background
[0004] A visualization system, as used herein, may be a system that
allows a user to view an object and/or data about the object. For
example, a visualization system may visually present portions
and/or individual components of one or more three-dimensional
models of an object within a graphical user interface.
Visualization systems may be used to perform various operations
with respect to the object. For example, a user may use a
visualization system to visualize a particular part or assembly of
parts within the object to identify information for use in
performing an inspection. However, some currently available
visualization systems may be more difficult to use and navigate
than desired.
[0005] As one illustrative example, a visualization system may be
used to visualize the different types of aircraft being
manufactured at a facility and the data about these aircraft. Each
aircraft may be comprised of thousands, hundreds of thousands, or
millions of parts. With some currently available visualization
systems, filtering the extensive amount of data available down to
the data of interest to a user on any given day may be more
difficult and time-consuming than desired.
[0006] Further, some users may not have the knowledge, experience,
and/or training needed to use these types of currently available
visualization systems. For example, a user may want to use the
visualization system to identify a particular instance of a
fastener element located within a specific portion of an aircraft
such that a replacement part may be ordered. This type of fastener
element may be used in hundreds of instances within the aircraft.
However, the user may be unable to quickly and efficiently filter
through the hundreds of instances of the fastener element to
identify the particular instance of the fastener element located
within the specific portion of the aircraft of interest. Therefore,
it would be desirable to have a method and apparatus that take into
account at least some of the issues discussed above, as well as
other possible issues.
SUMMARY
[0007] In one illustrative embodiment, a computer-implemented
method for visualizing data about an object is provided.
Instructions identifying a hierarchy of image blocks and an action
scheme are received. An image block in the hierarchy of image
blocks is loaded to display an image corresponding to the image
block to a user through a graphical user interface displayed on a
display system. A number of image areas on the image are
selectable. A set of actions are performed in response to a
selection of an image area in the number of image areas based on
the action scheme identified in the instructions.
[0008] In another illustrative embodiment, a computer-implemented
method for visually querying data about an object is provided.
Instructions identifying a hierarchy of image blocks and an action
scheme are received. An image block in the hierarchy of image
blocks is loaded to display an image corresponding to the image
block to a user through a graphical user interface displayed on a
display system. A number of image areas on the image are
selectable. User input that selects an image area in the number of
image areas is detected. Visualization information to be sent to a
visualization system for use in visually presenting a portion of
the data about the object of interest to the user through the
graphical user interface is generated based on the image area
selected.
[0009] In yet another illustrative embodiment, an apparatus
comprises a visual query system. The visual query system is
configured to receive instructions identifying a hierarchy of image
blocks and an action scheme. The visual query system is configured
to load an image block in the hierarchy of image blocks to display
an image corresponding to the image block to a user through a
graphical user interface displayed on a display system. A number of
image areas on the image are selectable. The visual query system is
configured to perform a set of actions in response to a selection
of an image area in the number of image areas based on the action
scheme identified in the instructions.
[0010] The features and functions can be achieved independently in
various embodiments of the present disclosure or may be combined in
yet other embodiments in which further details can be seen with
reference to the following description and drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The novel features believed characteristic of the
illustrative embodiments are set forth in the appended claims. The
illustrative embodiments, however, as well as a preferred mode of
use, further objectives and features thereof, will best be
understood by reference to the following detailed description of an
illustrative embodiment of the present disclosure when read in
conjunction with the accompanying drawings, wherein:
[0012] FIG. 1 is an illustration of a visualization environment in
the form of a block diagram in accordance with an illustrative
embodiment;
[0013] FIG. 2 is an illustration of a graphical user interface in
accordance with an illustrative embodiment;
[0014] FIG. 3 is an illustration of a graphical user interface
displaying a number of image areas in accordance with an
illustrative embodiment;
[0015] FIG. 4 is an illustration of a search window in accordance
with an illustrative embodiment;
[0016] FIG. 5 is an illustration of a search window in accordance
with an illustrative embodiment;
[0017] FIG. 6 is an illustration of a search result in accordance
with an illustrative embodiment;
[0018] FIG. 7 is an illustration of a visualization of data for the
aircraft displayed within a graphical user interface in accordance
with an illustrative embodiment;
[0019] FIG. 8 is an illustration of a graphical user interface
displaying a different image in accordance with an illustrative
embodiment;
[0020] FIG. 9 is an illustration of another image displayed within
a graphical user interface in accordance with an illustrative
embodiment;
[0021] FIG. 10 is an illustration of a process for visually
querying data about an object in the form of a flowchart in
accordance with an illustrative embodiment;
[0022] FIG. 11 is an illustration of a process for visually
querying data about an object in the form of a flowchart in
accordance with an illustrative embodiment;
[0023] FIG. 12 is an illustration of a data processing system in
the form of a block diagram in accordance with an illustrative
embodiment;
[0024] FIG. 13 is an illustration of an aircraft manufacturing and
service method in the form of a block diagram in accordance with an
illustrative embodiment; and
[0025] FIG. 14 is an illustration of an aircraft in the form of a
block diagram in accordance with an illustrative embodiment.
DETAILED DESCRIPTION
[0026] The illustrative embodiments recognize and take into account
different considerations. For example, the illustrative embodiments
recognize and take into account that it may be desirable to have a
system that allows a user to search for information using a
visualization system without requiring an extensive knowledge of
how the visualization system works and/or how to filter through
information using the visualization system. In particular, the
illustrative embodiments recognize and take into account that it
may be desirable to have a system that allows a user to visually
query for information within the visualization system with a
desired level of ease. Thus, the illustrative embodiments provide a
visual query system configured to visually query for information
within a visualization system.
[0027] Referring now to the figures and, in particular, with
reference to FIG. 1, an illustration of a visualization environment
is depicted in the form of a block diagram in accordance with an
illustrative embodiment. In this illustrative example,
visualization environment 100 includes visualization system
102.
[0028] As depicted, visualization system 102 may be implemented
using hardware, software, or a combination of the two. For example,
visualization system 102 may be implemented within computer system
103. Computer system 103 may be comprised of one or more computers,
depending on the implementation. When more than one computer is
present in computer system 103, these computers may be in
communication with each other.
[0029] In this illustrative example, visualization system 102 may
be used by user 105 to visualize data 104 about object 106. As used
herein, user 105 may "visualize" data 104 about object 106 by
viewing some type of graphical representation of at least some
portion of data 104 about object 106.
[0030] Object 106 may take a number of different forms. Object 106
may be, for example, without limitation, an aerial vehicle, a
ground vehicle, a water vehicle, a space vehicle, a manufacturing
facility, a building, a power grid, an electrical system, a
mechanical system, a computer, a neighborhood, a city, or some
other type of object. Object 106 may be any object that may be
logically broken down into multiple components. In some cases,
object 106 may be comprised of components, assemblies of
components, and sub-assemblies of components.
[0031] Data 104 about object 106 may be stored in number of data
structures 108. As used herein, a "number of" items may be one or
more items. In this manner, number of data structures 108 may be
one or more data structures. A data structure in number of data
structures 108 may take the form of, for example, but is not
limited to, a database, a geometric representation or model of
object 106, or some other type of data structure or combination of
data structures.
[0032] In one illustrative example, number of data structures 108
may be stored within computer system 103. In some cases, number of
data structures 108 may be stored within visualization system 102.
In other cases, number of data structures 108 may be stored within
computer system 103 separate from visualization system 102. In
still other illustrative examples, number of data structures 108
may be stored on any number of servers, memory devices, computer
systems, and/or other types of storage devices.
[0033] Data 104 about object 106 may take a number of different
forms. In one illustrative example, data 104 may include design 110
for object 106. Design 110 may include, for example, without
limitation, number of models 112, object data 114, and/or other
types of data.
[0034] Number of models 112 may include, for example, without
limitation, one or more three-dimensional models of object 106,
portions of object 106, and/or components that make up object 106.
Three-dimensional model 116 may be an example of one of number of
models 112. Three-dimensional model 116 may be, for example,
without limitation, a computer-aided design (CAD) model.
[0035] Object data 114 may include different types of data about
object 106, portions of object 106, and/or components that make up
object 106. Object data 114 may include, for example, without
limitation, at least one of design data, engineering data, geometry
data, attribute data, part data, manufacturing data, production
data, maintenance data, work order data, or some other type of data
for object 106.
[0036] As used herein, the phrase "at least one of," when used with
a list of items, means different combinations of one or more of the
listed items may be used and only one of the items in the list may
be needed. The item may be a particular object, thing, or category.
In other words, "at least one of" means any combination of items or
number of items may be used from the list, but not all of the items
in the list may be required.
[0037] For example, "at least one of item A, item B, and item C"
may mean item A; item A and item B; item B; item A, item B, and
item C; or item B and item C. In some cases, "at least one of item
A, item B, and item C" may mean, for example, without limitation,
two of item A, one of item B, and ten of item C; four of item B and
seven of item C; or some other suitable combination.
[0038] In this illustrative example, visualization system 102 may
be configured to visually present data 104 to user 105 through
graphical user interface 122 displayed on display system 124.
Display system 124 may be comprised of number of display devices
126. A display device in number of display devices 126 may take a
number of different forms. For example, the display device may take
the form of, but is not limited to, a monitor, a screen, a liquid
crystal display (LCD), a touch screen, a head-mounted display
device, a virtual reality display device, a holographic display
device, or some other type of display device.
[0039] In some illustrative examples, display system 124 may be
partially or fully implemented as part of computer system 103. In
other illustrative examples, display system 124 may be considered
completely independent of computer system 103.
[0040] User 105 may interact with graphical user interface 122
using number of input devices 120. In particular, user 105 may
enter user input 121 into graphical user interface 122 through
number of input devices 120. Number of input devices 120 may
include, for example, without limitation, a keyboard, a mouse, a
stylus, a glove, a remote, a touch screen, a multi-touch screen, a
virtual keyboard, or some other type of input device.
[0041] In some illustrative examples, one or more of number of
input devices 120 may be considered part of display system 124. For
example, a display device in number of display devices 126 and an
input device in number of input devices 120 may be implemented
within the same device. As a specific example, a touch screen
display device may be used as both a display device and an input
device.
[0042] In this illustrative example, user 105 may use visual query
system 118 to quickly and efficiently visualize desired portions of
data 104 about object 106. In one illustrative example, visual
query system 118 may be considered part of visualization system
102. In another illustrative example, visual query system 118 may
be considered separate from visualization system 102.
[0043] Further, visual query system 118 may be implemented using
hardware, software, or a combination of the two. In one
illustrative example, visual query system 118 may be implemented
within computer system 103. However, in another illustrative
example, visual query system 118 may be implemented within a
different computer system or some other type of processing unit
separate from computer system 103.
[0044] With visual query system 118, user 105 may be able to more
quickly and efficiently visualize portions of data 104 of interest
to user 105 without needing to know how to fully navigate and use
visualization system 102. Further, user 105 may be able to use
visual query system 118 to affect the manner in which visualization
system 102 displays the portion of data 104 of interest about
object 106 to user 105.
[0045] User 105 may interact with visual query system 118 using
graphical user interface 122 and number of input devices 120. As
one illustrative example, when using visualization system 102, user
105 may be able to open a new window in graphical user interface
122 that allows user 105 to access visual query system 118.
[0046] As depicted, visual query system 118 may include controller
130, query generator 132, and display manager 134. Controller 130
may be configured to receive instructions 136. In one illustrative
example, instructions 136 may be generated by number of experts
137.
[0047] As used herein, an "expert," such as one of number of
experts 137, may be any person having a certain level of knowledge
about object 106 and data 104 about object 106. This knowledge may
have been acquired through education, experience over time,
training, the practicing of a certain skill set, and/or in some
other manner. In some cases, an expert in number of experts 137 may
be referred to as a subject matter expert (SME).
[0048] In this illustrative example, instructions 136 may be
generated for indicating the actions that are to be performed in
response to receiving user input 121 through graphical user
interface 122. These actions may include changing what is displayed
within graphical user interface 122, affecting the manner in which
visualization system 102 displays data 104 about object 106, and/or
other types of actions.
[0049] Instructions 136 may be generated by number of experts 137
based on an anticipation of the needs of user 105 and/or a group of
users similar to user 105. For example, instructions 136 may be
generated based on knowledge and/or predictions of how and why a
group of users, which includes user 105, intend to use
visualization system 102.
[0050] The group of users may be, for example, without limitation,
a group of engineers, a group of mechanics, a group of technicians,
a group of inventory specialists, a group of designers, a group of
project managers, or some other type of group. Further, different
instructions may be generated for different types of groups of
users. In this manner, each group of users may be able to use a
customized version of visual query system 118.
[0051] In this illustrative example, instructions 136 may identify
hierarchy of image blocks 138 and action scheme 140. Hierarchy of
image blocks 138 may include one or more levels of hierarchy. In
some cases, this hierarchy may be organized in the form of a tree
structure. In some cases, the hierarchy may be comprised of
multiple tree structures stemming from the same root image block.
When multiple tree structures are present in hierarchy of image
blocks 138, multiple bottommost levels, each comprising one or more
image blocks, may be present within hierarchy of image blocks 138.
However, only one image block may be present at the root level of
hierarchy of image blocks 138. The multiple structures may be
independent of each other except for the root level or may be
intertwined, depending on the implementation.
[0052] Image block 142 may be an example of one of the image blocks
in hierarchy of image blocks 138. Image block 142 may be a logical
block comprised of image 144 and number of image areas 146. In some
cases, image 144 may be an image of object 106 generated using one
of number of models 112 of object 106. However, in other examples,
image 144 may be some other type of image. Further, image 144 may
be a single image or a collection of multiple images, depending on
the implementation.
[0053] When image block 142 is the root image block in hierarchy of
image blocks 138, image 144 may be referred to as a root image, or
in some cases, an index image or a base image. This root image may
be the initial image displayed to user 105 when user 105 begins
using visual query system 118. In particular, this root image may
be visually presented to user 105 within graphical user interface
122 by display manager 134.
[0054] Each of number of image areas 146 may be selectable by user
105 through user input 121. Each of number of image areas 146 may
be a portion of image 144. In this illustrative example, no two
image areas may share any portion of image 144. In other words, no
two image areas may overlap. An image area in number of image areas
146 may also be referred to as a "hotspot" or a "selectable area,"
depending on the implementation.
[0055] Action scheme 140 may identify the one or more actions that
are to be performed by visual query system 118 in response to the
selection of the different image areas in number of image areas 146
by user input 121. For example, controller 130 may receive user
input 121 selecting image area 148 from number of image areas 146
through graphical user interface 122. User input 121 selecting
image area 148 may be, for example, but is not limited to, a mouse
click anywhere within image area 148.
[0056] In response to receiving this selection of image area 148,
controller 130 may identify set of actions 150 to be performed by
visual query system 118 based on action scheme 140 within
instructions 136. Set of actions 150 may include loading a new
image block in the next level of hierarchy of image blocks 138 and
displaying the corresponding image within graphical user interface
122, generating visualization information 152 to be sent to
visualization system 102, and/or some other number of actions.
[0057] Each image area in number of image areas 146 may be a
branching image area or a final image area. In some illustrative
examples, all of the image areas in number of image areas 146 may
be branching image areas or final image areas. In other
illustrative examples, a portion of number of image areas 146 may
be branching image areas, while another portion of number of image
areas 146 may be final image areas.
[0058] When image area 148 is a branching image area, the selection
of image area 148 may cause a new image block from the level in
hierarchy of image blocks 138 immediately below image block 142 to
be loaded. In other words, image area 148 may allow branching to a
new image block. Further, the image corresponding to the new image
block may be displayed within graphical user interface 122. The new
image displayed may be an image having a finer level of detail, may
be a zoomed-in image of image 144, or some other type of image.
User 105 may then further select any one of the number of image
areas defined for this image.
[0059] When image area 148 is a final image area, a selection of
image area 148 may lead to visualization information 152 being
generated. Visualization information 152 may be generated for use
by visualization system 102. In some cases, visualization system
102 may use visualization information 152 to determine which
portion of data 104 to display within graphical user interface 122.
Further, visualization system 102 may use visualization information
152 to determine how to display this portion of data 104.
[0060] Visualization information 152 may include, for example,
without limitation, spatial information 154, number of
visualization effects 156, and/or other types of information. In
some cases, a portion of visualization information 152 may be
generated based on the results of a query run by query generator
132. For example, one of set of actions 150 may include running a
query based on the selection of image area 148. The query may
filter data 104 to identify the portion of data 104 of interest to
user 105 based on the selection of image area 148. The parameters
of the query may be defined by instructions 136.
[0061] Spatial information 154 may include information about the
manner in which this filtered data is to be displayed. For example,
spatial information 154 may identify a spatial region within object
106 with respect to which the filtered data is to be graphically
represented. For example, visualization system 102 may use spatial
information 154 to graphically represent the portion of data 104
relevant to the spatial region identified in spatial information
154 within graphical user interface 122. In some cases, spatial
information 154 may also identify the viewpoint from which the data
is to be graphically represented.
[0062] Number of visualization effects 156 may identify a number of
visual effects to be applied to the graphical representation of
data 104 displayed to user 105 by visualization system 102. Number
of visualization effects 156 may include, for example, without
limitation, any number of coloring effects, bolding effects,
outlining effects, cropping effects, zoom effects, clipping
effects, and/or other types of effects.
[0063] In this manner, user 105 may navigate through hierarchy of
image blocks 138 until user 105 selects an image area that results
in visualization information 152 being sent to visualization system
102. By navigating through hierarchy of image blocks 138 in this
manner, user 105 may quickly "visually query" the portion of data
104 of interest to user 105. This process of visually querying data
104 may be simpler than using visualization system 102 to identify
the data of interest.
[0064] Visualization system 102 and visual query system 118 may be
used to visualize any number of objects in addition to or in place
of object 106. In one illustrative example, visualization system
102 and visual query system 118 may together form an integrated
visualizer. This integrated visualizer may also be referred to as
an integrated visualization system.
[0065] The integrated visualizer may be used by different types of
users. For example, instructions 136 generated for one type of user
may be different from instructions 136 generated for another type
of user. Controller 130 may be configured to receive different
instruction sets and determine which instruction set to use based
on the particular user.
[0066] Further, the integrated visualizer may allow user 105 and/or
other users to visualize object data not just for object 106 but
for each of a plurality of objects. These objects may be, for
example, a plurality of vehicles, a plurality of aircraft, a
plurality of ground vehicles, a plurality of ships, a plurality of
engines, or a plurality of some other type of object.
[0067] The integrated visualizer may allow users to visually query
for a portion of the object data corresponding to one of the
plurality of objects based on a number of search criteria. The
search criteria may include, for example, without limitation, at
least one of a location with respect to a reference coordinate
system for the plurality of objects, an object identifier, a part
number, an instance number, or some other type of search
criteria.
[0068] Additionally, the integrated visualizer may allow a user to
visually query for a desired portion of the object data in
substantially real-time. For example, the integrated visualizer may
allow a user to filter real-time data and visualize data of
interest in real-time.
[0069] The illustration of visualization environment 100 in FIG. 1
is not meant to imply physical or architectural limitations to the
manner in which an illustrative embodiment may be implemented.
Other components in addition to or in place of the ones illustrated
may be used. Some components may be optional. Also, the blocks are
presented to illustrate some functional components. One or more of
these blocks may be combined, divided, or combined and divided into
different blocks when implemented in an illustrative
embodiment.
[0070] With reference now to FIG. 2, an illustration of a graphical
user interface is depicted in accordance with an illustrative
embodiment. Graphical user interface 200 in FIG. 2 is an example of
one implementation for graphical user interface 122 in FIG. 1.
[0071] In this illustrative example, window 204 is displayed within
graphical user interface 200. Aircraft image 202 is displayed
within window 204. Aircraft image 202 is an example of one
implementation for image 144 in FIG. 1. Aircraft image 202 may be a
root image in this illustrative example. As depicted, aircraft
image 202 is an image of an aircraft that has fuselage 206, nose
section 208 and tail section 210. Wing 212 and wing 214 are
attached to fuselage 206. Engine 216 and engine 218 are attached to
wing 212 and wing 214, respectively.
[0072] Aircraft image 202 may be part of an image block, such as
image block 142 in FIG. 1. A number of image areas, such as number
of image areas 146 in FIG. 1, may correspond to aircraft image 202.
However, these image areas are not shown in FIG. 2. These image
areas are hidden in FIG. 2 but are shown in FIG. 3 below.
[0073] As depicted, graphical user interface 200 includes control
section 220. Control section 220 includes image area data 222,
search control 224, and object selection control 226. In this
illustrative example, image area data 222 identifies coordinate
boundaries for the particular image area on aircraft image 202 over
which a cursor may be hovering. In this manner, a user may be
provided some information about an image area without needing to
see the image area or select the image area.
[0074] Image area data 222 includes x-coordinate range 228,
y-coordinate range 230, and z-coordinate range 232. X-coordinate
range 228 indicates the x-coordinate boundaries of the image area.
Y-coordinate range 230 indicates the y-coordinate boundaries of the
image area. Z-coordinate range 232 indicates the z-coordinate
boundaries of the image area. These coordinates may be with respect
to some reference coordinate system for the aircraft being
represented by aircraft image 202.
[0075] In this illustrative example, search control 224 may be
selected by a user to cause a new search window to be displayed. An
example of this search window is described in FIG. 4 below. Object
selection control 226 may allow a user to select which aircraft is
represented by aircraft image 202. In some cases, a different
aircraft image 202 may be displayed when a different aircraft is
selected. However, in other cases, the selection of a different
aircraft may change the image areas corresponding to aircraft image
202, change the data or source of data that is queried in response
to the selection of image areas.
[0076] With reference now to FIG. 3, an illustration of graphical
user interface 200 from FIG. 2 displaying a number of image areas
is depicted in accordance with an illustrative embodiment. In this
illustrative example, number of image areas 300 has been displayed
over aircraft image 202. Each of number of image areas 300 may be
selectable by a user.
[0077] Image areas 302, 304, 306, 308, 310, and 312 may be examples
of image areas in number of image areas 300. Image areas 302, 304,
306, 308, and 310 represent various portions of wing 214 of
aircraft image 202. A user may select any one of image areas 302,
304, 306, 308, and 310 to view a particular portion of wing 214 in
greater detail. Image area 312 represents engine 218. A user may
select image area 312 to view engine 218 in greater detail or to
load a new image.
[0078] With reference now to FIG. 4, an illustration of a search
window is depicted in accordance with an illustrative embodiment.
In this illustrative example, search window 400 may be displayed
within graphical user interface 200 in response to a user selecting
search control 410 in FIG. 4.
[0079] As depicted, search window 400 may include type menu 402.
Type menu 402 may allow the user to indicate the type of search to
be performed. In this illustrative example, a user has selected
part number 404 indicating that the user desires to search for a
part by the part number. In response to the user selecting part
number 404, specific part number field 406 is displayed. The user
has entered specific part number 408 within specific part number
field 406.
[0080] The user may select search control 410 to search for the
part having specific part number 408. The user may select cancel
control 412 to cancel this particular search.
[0081] With reference now to FIG. 5, an illustration of search
window 400 from FIG. 4 is depicted in accordance with an
illustrative embodiment. In this illustrative example, the user has
selected location on plane 502 for the type of search to be
performed. In response to this selection, station 504, butt line
506, and water line 508 are displayed within search window 400.
[0082] Station 504, butt line 506, and water line 508 may be fields
in which a user may enter values. A value for station 504 may
represent an x-coordinate. A value for butt line 506 may represent
a y-coordinate. A value for water line 508 may represent a
z-coordinate. The user may select search control 410 to search for
a location, defined by these x-y-z-coordinates, on the aircraft
represented by aircraft image 202 in FIGS. 2-3.
[0083] Although search window 400 in FIG. 4 and FIG. 5 depict
searches that can be performed by part number 404 or location on
plane 502, other types of searches may also be performed. Of
course, in some other illustrative examples, instances of a part
may be searched using different types of search criteria. For
example, a part may be searched for using both a part number and a
location on the plane. As another example, a part may be searched
for based on another part that is connected to the part.
[0084] With reference now to FIG. 6, an illustration of a search
result is depicted in accordance with an illustrative embodiment.
In this illustrative example, the results of the search performed
based on the criteria entered within search window 400 in FIG. 4
are displayed within window 204. The search results take the form
of indicator 600, indicator 602, and indicator 604.
[0085] Each of these indicators represents an image area within
which one or more instances of the part have been identified. In
one illustrative example, the part may extend across the portion of
the aircraft represented by the three image areas corresponding to
indicator 600, indicator 602, and indicator 604.
[0086] A selection of one of these indicators by the user results
in visualization information, such as visualization information 152
in FIG. 1, being generated. A visualization system may use this
visualization information to display a graphical representation of
data to the user. Of course, in other illustrative examples, some
other action may be performed in response to the selection of one
of the indicators.
[0087] With reference now to FIG. 7, an illustration of a
visualization of data for the aircraft represented by aircraft
image 202 in FIG. 2 displayed within graphical user interface 200
is depicted in accordance with an illustrative embodiment. In this
illustrative example, window 700 visually presents data about the
aircraft represented by aircraft image 202 with respect to spatial
region 702 within graphical user interface 200.
[0088] Indicator 704 points to a particular location at which an
instance of the part having the particular part number identified
by the user has been found. This indicator may remain visible
within graphical user interface 200 even when the instance of the
part is contained within some other part or hidden from view. In
this illustrative example, indicator 704 may remain visible from
any view angle, even when the user changes the viewpoint and/or
portion of spatial region 702 being displayed.
[0089] Turning now to FIG. 8, an illustration of graphical user
interface 200 displaying a different image is depicted in
accordance with an illustrative embodiment. In this illustrative
example, manufacturing image 800 may be an image of a manufacturing
facility within which aircraft are manufactured. Manufacturing
image 800 may be a root image. Image areas 802, 804, 806, and 808
are displayed over manufacturing image 800. A user may select any
one of these image areas to view a finer level of detail about the
manufacturing facility.
[0090] With reference now to FIG. 9, an illustration of another
image displayed within graphical user interface 200 is depicted in
accordance with an illustrative embodiment. In this illustrative
example, image 900 may be displayed within graphical user interface
200 in response to the selection of image area 806 in FIG. 8.
[0091] Image areas 902, 904, 906, 908, and 910 represent different
stages of aircraft assembly. In this illustrative example, a
selection of any one of these image areas by a user may result in
visualization information being generated and sent to a
visualization system. When an earlier stage in the assembly is
selected, the visualization system may visually present fewer
components as compared to when a later stage in the assembly is
selected.
[0092] The illustrations of graphical user interface 200 in FIGS.
2-10 are not meant to imply physical or architectural limitations
to the manner in which an illustrative embodiment may be
implemented. Other components in addition to or in place of the
ones illustrated may be used. Some components may be optional.
[0093] The different components shown in FIGS. 2-10 may be
illustrative examples of how components shown in block form in FIG.
1 can be physically implemented. Additionally, some of the
components in FIGS. 2-10 may be combined with components in FIG. 1,
used with components in FIG. 1, or a combination of the two.
[0094] With reference now to FIG. 10, an illustration of a process
for visually querying data about an object is depicted in the form
of a flowchart in accordance with an illustrative embodiment. The
process illustrated in FIG. 10 may be implemented using visual
query system 118 in FIG. 1.
[0095] The process begins by receiving instructions identifying a
hierarchy of image blocks and an action scheme at a controller in
the visual query system (operation 1000). The hierarchy of image
blocks and the action scheme may be implemented in a manner similar
to hierarchy of image blocks 138 and action scheme 140,
respectively, described in FIG. 1.
[0096] Next, an image block in the hierarchy of image blocks is
loaded to display an image corresponding to the image block to the
user through a graphical user interface displayed on a display
system in which a number of image areas on the image are selectable
(operation 1002). Next, a set of actions are performed in response
to a selection of an image area in the number of image areas based
on the action scheme identified in the instructions (operation
1004), with the process terminating thereafter.
[0097] With reference now to FIG. 11, an illustration of a process
for visually querying data is depicted in the form of a flowchart
in accordance with an illustrative embodiment. The process
illustrated in FIG. 11 may be implemented using visual query system
118 in FIG. 1.
[0098] The process begins by receiving instructions that identify a
hierarchy of image blocks in which each image block in the
hierarchy of image blocks comprises an image and a number of image
areas corresponding to the image (operation 1100). Next, a root
image block is loaded such that the image corresponding to the root
image block is displayed to a user through a graphical user
interface and such that the number of image areas corresponding to
the image is selectable by the user (operation 1102).
[0099] The process monitors for user input selecting one of the
number of image areas (operation 1104). In response to a selection
of an image area by a user, a determination is made as to whether
the image area is a branching image area or a final image area
(operation 1106). If the image area selected is a branching image
area, a new image block in a level immediately below the current
image block is loaded such that a new image corresponding to the
new image block is displayed to the user through the graphical user
interface and such that the number of image areas corresponding to
the new image is selectable by the user (operation 1108).
[0100] Next, the process returns to operation 1102 as described
above. However, with reference again to operation 1106, if the
image area selected is a final image area, visualization
information is generated based on the selection of the image area
(operation 1110).
[0101] In operation 1110, the visualization information may be
generated based on the results of a query run according to
parameters selected based on the selection of the image area and
based on the instructions. The visualization information identifies
the portion of data about an object to visually present to the user
with respect to a spatial region, a number of visualization effects
to be used when visually presenting the data to the user, and/or
other types of information. Thereafter, the visualization
information is sent to a visualization system for use in visually
presenting data to the user (operation 1112), with the process
terminating thereafter.
[0102] Turning now to FIG. 12, an illustration of a data processing
system in the form of a block diagram is depicted in accordance
with an illustrative embodiment. Data processing system 1200 may be
used to implement one or more computers in computer system 103 in
FIG. 1. As depicted, data processing system 1200 includes
communications framework 1202, which provides communications
between processor unit 1204, storage devices 1206, communications
unit 1208, input/output unit 1210, and display 1212. In some cases,
communications framework 1202 may be implemented as a bus
system.
[0103] Processor unit 1204 is configured to execute instructions
for software to perform a number of operations. Processor unit 1204
may comprise a number of processors, a multi-processor core, and/or
some other type of processor, depending on the implementation. In
some cases, processor unit 1204 may take the form of a hardware
unit, such as a circuit system, an application specific integrated
circuit (ASIC), a programmable logic device, or some other suitable
type of hardware unit.
[0104] Instructions for the operating system, applications, and/or
programs run by processor unit 1204 may be located in storage
devices 1206. Storage devices 1206 may be in communication with
processor unit 1204 through communications framework 1202. As used
herein, a storage device, also referred to as a computer readable
storage device, is any piece of hardware capable of storing
information on a temporary and/or permanent basis. This information
may include, but is not limited to, data, program code, and/or
other information.
[0105] Memory 1214 and persistent storage 1216 are examples of
storage devices 1206. Memory 1214 may take the form of, for
example, a random access memory or some type of volatile or
non-volatile storage device. Persistent storage 1216 may comprise
any number of components or devices. For example, persistent
storage 1216 may comprise a hard drive, a flash memory, a
rewritable optical disk, a rewritable magnetic tape, or some
combination of the above. The media used by persistent storage 1216
may or may not be removable.
[0106] Communications unit 1208 allows data processing system 1200
to communicate with other data processing systems and/or devices.
Communications unit 1208 may provide communications using physical
and/or wireless communications links.
[0107] Input/output unit 1210 allows input to be received from and
output to be sent to other devices connected to data processing
system 1200. For example, input/output unit 1210 may allow user
input to be received through a keyboard, a mouse, and/or some other
type of input device. As another example, input/output unit 1210
may allow output to be sent to a printer connected to data
processing system 1200.
[0108] Display 1212 is configured to display information to a user.
Display 1212 may comprise, for example, without limitation, a
monitor, a touch screen, a laser display, a holographic display, a
virtual display device, and/or some other type of display
device.
[0109] In this illustrative example, the processes of the different
illustrative embodiments may be performed by processor unit 1204
using computer-implemented instructions. These instructions may be
referred to as program code, computer usable program code, or
computer readable program code and may be read and executed by one
or more processors in processor unit 1204.
[0110] In these examples, program code 1218 is located in a
functional form on computer readable media 1220, which is
selectively removable, and may be loaded onto or transferred to
data processing system 1200 for execution by processor unit 1204.
Program code 1218 and computer readable media 1220 together form
computer program product 1222. In this illustrative example,
computer readable media 1220 may be computer readable storage media
1224 or computer readable signal media 1226.
[0111] Computer readable storage media 1224 is a physical or
tangible storage device used to store program code 1218 rather than
a medium that propagates or transmits program code 1218. Computer
readable storage media 1224 may be, for example, without
limitation, an optical or magnetic disk or a persistent storage
device that is connected to data processing system 1200.
[0112] Alternatively, program code 1218 may be transferred to data
processing system 1200 using computer readable signal media 1226.
Computer readable signal media 1226 may be, for example, a
propagated data signal containing program code 1218. This data
signal may be an electromagnetic signal, an optical signal, and/or
some other type of signal that can be transmitted over physical
and/or wireless communications links.
[0113] The illustration of data processing system 1200 in FIG. 12
is not meant to provide architectural limitations to the manner in
which the illustrative embodiments may be implemented. The
different illustrative embodiments may be implemented in a data
processing system that includes components in addition to or in
place of those illustrated for data processing system 1200.
Further, components shown in FIG. 12 may be varied from the
illustrative examples shown.
[0114] Illustrative embodiments of the disclosure may be described
in the context of aircraft manufacturing and service method 1300 as
shown in FIG. 13 and aircraft 1400 as shown in FIG. 14. Turning
first to FIG. 13, an illustration of an aircraft manufacturing and
service method is depicted in the form of a block diagram in
accordance with an illustrative embodiment. During pre-production,
aircraft manufacturing and service method 1300 may include
specification and design 1302 of aircraft 1400 in FIG. 14 and
material procurement 1304.
[0115] During production, component and subassembly manufacturing
1306 and system integration 1308 of aircraft 1400 in FIG. 14 takes
place. Thereafter, aircraft 1400 in FIG. 14 may go through
certification and delivery 1310 in order to be placed in service
1312. While in service 1312 by a customer, aircraft 1400 in FIG. 14
is scheduled for routine maintenance and service 1314, which may
include modification, reconfiguration, refurbishment, and other
maintenance or service.
[0116] Each of the processes of aircraft manufacturing and service
method 1300 may be performed or carried out by a system integrator,
a third party, and/or an operator. In these examples, the operator
may be a customer. For the purposes of this description, a system
integrator may include, without limitation, any number of aircraft
manufacturers and major-system subcontractors; a third party may
include, without limitation, any number of vendors, subcontractors,
and suppliers; and an operator may be an airline, a leasing
company, a military entity, a service organization, and so on.
[0117] With reference now to FIG. 14, an illustration of an
aircraft is depicted in the form of a block diagram in which an
illustrative embodiment may be implemented. In this example,
aircraft 1400 is produced by aircraft manufacturing and service
method 1300 in FIG. 13 and may include airframe 1402 with systems
1404 and interior 1406. Examples of systems 1404 include one or
more of propulsion system 1408, electrical system 1410, hydraulic
system 1412, and environmental system 1414. Any number of other
systems may be included. Although an aerospace example is shown,
different illustrative embodiments may be applied to other
industries, such as the automotive industry.
[0118] Apparatuses and methods embodied herein may be employed
during at least one of the stages of aircraft manufacturing and
service method 1300 in FIG. 13. For example, visualization system
102 and visual query system 118 in FIG. 1 may be used to identify
information for performing tasks during any one of the stages of
aircraft manufacturing and service method 1300 in FIG. 1. For
example, without limitation, information about the aircraft may be
visually queried and viewed by an operator to perform tasks to
assemble parts for maintenance, upgrades, refurbishment, and other
operations during maintenance and service 1314 may be identified
using an illustrative embodiment.
[0119] The flowcharts and block diagrams in the different depicted
embodiments illustrate the architecture, functionality, and
operation of some possible implementations of apparatuses and
methods in an illustrative embodiment. In this regard, each block
in the flowcharts or block diagrams may represent a module, a
segment, a function, and/or a portion of an operation or step. For
example, one or more of the blocks may be implemented as program
code, in hardware, or a combination of the program code and
hardware. When implemented in hardware, the hardware may, for
example, take the form of integrated circuits that are manufactured
or configured to perform one or more operations in the flowcharts
or block diagrams. When implemented as a combination of program
code and hardware, the implementation may take the form of
firmware.
[0120] In some alternative implementations of an illustrative
embodiment, the function or functions noted in the blocks may occur
out of the order noted in the figures. For example, in some cases,
two blocks shown in succession may be executed substantially
concurrently, or the blocks may sometimes be performed in the
reverse order, depending upon the functionality involved. Also,
other blocks may be added in addition to the illustrated blocks in
a flowchart or block diagram.
[0121] The description of the different illustrative embodiments
has been presented for purposes of illustration and description,
and is not intended to be exhaustive or limited to the embodiments
in the form disclosed. Many modifications and variations will be
apparent to those of ordinary skill in the art. Further, different
illustrative embodiments may provide different features as compared
to other desirable embodiments. The embodiment or embodiments
selected are chosen and described in order to best explain the
principles of the embodiments, the practical application, and to
enable others of ordinary skill in the art to understand the
disclosure for various embodiments with various modifications as
are suited to the particular use contemplated.
* * * * *