US20090138434A1 - Method, system, and computer program product for managing data associated with a document stored in an electronic form - Google Patents

Method, system, and computer program product for managing data associated with a document stored in an electronic form Download PDF

Info

Publication number
US20090138434A1
US20090138434A1 US12/335,755 US33575508A US2009138434A1 US 20090138434 A1 US20090138434 A1 US 20090138434A1 US 33575508 A US33575508 A US 33575508A US 2009138434 A1 US2009138434 A1 US 2009138434A1
Authority
US
United States
Prior art keywords
computer
data
database
memory
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/335,755
Inventor
Brent Birsa
Pierre Duchene
Vojin Dvorak
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Media Cybernetics Inc
Original Assignee
Media Cybernetics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Media Cybernetics Inc filed Critical Media Cybernetics Inc
Priority to US12/335,755 priority Critical patent/US20090138434A1/en
Assigned to MEDIA CYBERNETICS, INC. reassignment MEDIA CYBERNETICS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BIRSA, BRENT, DUCHENE, PIERRE, DVORAK, VOJIN
Publication of US20090138434A1 publication Critical patent/US20090138434A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Definitions

  • the present invention relates to computer databases.
  • Digital image processing methods enable pictorial data to be manipulated in ways that enhance the means by which humans can interpret this data.
  • Digital image processing methods typically use computer-processed algorithms or user-operated computer graphics tools. With digital image processing, a picture is not only “worth a thousand words,” but also a source of a substantial amount of data about the subject(s) and the background in the digital image.
  • a computer database management system for managing data associated with documents stored in an electronic form.
  • such a computer database management system would also be configured to support performing queries or data mining of relevant data at a high rate.
  • the present invention comprises a method, system, and computer program product for managing data associated with a document stored in an electronic form.
  • the document can be a part of a file.
  • the present invention can use computer processed algorithms, user-operated computer graphics tools, or both to have data derived from or assigned to the document or the file.
  • the data can be, but is not necessarily, metadata.
  • Computer processed algorithms and user-operated computer graphics tools can be thought of as representing opposite ends of a spectrum of methods by which data can be derived from or assigned to a document or a file. At one end of the spectrum, the derivation or assignment of data is performed automatically. At the other end of the spectrum, a user manually derives or assigns data.
  • first data is derived from the document
  • second data is assigned to the document, or both.
  • the first data, the second data, or both are organized as attributes of an object of a first computer database. At least one attribute is organized as a child object of the object.
  • the at least one attribute is associated with a feature of the document.
  • an attribute is moved from the object of the first computer database to an object of a second computer database and an address of a location in a memory at which the object of the second computer database is stored is added as a new attribute of the object of the first computer database.
  • FIG. 1 illustrates an exemplary image in which associated data are managed in an embodiment of the present invention.
  • FIG. 2 illustrates exemplary data derived from and assigned to the image.
  • FIG. 3 illustrates an exemplary object, in a database, in which data derived from and assigned to the image are organized.
  • FIG. 4 illustrates an alternative organization of the object.
  • FIG. 5 illustrates an exemplary relationship between databases.
  • FIG. 6 illustrates another exemplary relationship among databases.
  • FIG. 7 illustrates exemplary query objects.
  • FIG. 8 is a flow chart that illustrates a method 800 for managing data associated with a document stored in an electronic form in an embodiment of the present invention.
  • FIG. 9 is a flow chart that illustrates a method 900 for managing related data stored in a plurality of computer databases in an embodiment of the present invention.
  • FIG. 10 is a block diagram of a system 1000 for managing data associated with a document stored in an electronic form in an embodiment of the present invention.
  • FIG. 11 is a block diagram of a system 1100 for managing related data stored in a plurality of computer databases in an embodiment of the present invention.
  • FIG. 12 is a block diagram of an example computer system 1200 that can support an embodiment of the present invention.
  • the present invention comprises a method, system, and computer program product for managing data associated with a document stored in an electronic form. If the document is an image, then management of the data is also known as image informatics. Among other attributes, the data can describe complex features found in an image.
  • the document can be a part of a file.
  • the present invention can use computer processed algorithms, user-operated computer graphics tools, or both to have data derived from or assigned to a document or a file.
  • Computer processed algorithms and user-operated computer graphics tools can be thought of as representing opposite ends of a spectrum of methods by which data can be derived from or assigned to a document or a file. At one end of the spectrum, the derivation or assignment of data is performed automatically. At the other end of the spectrum, a user manually derives or assigns data. More typically, data are derived or assigned by a combination of automatic and manual processes. For example, usually, a user initiates computer processed algorithms to derive or to assign data automatically, or is assisted by user-operated computer graphics tools to derive or to assign data manually. As the arts of deriving data from and assigning data to documents and files progress, data that are currently derived or assigned by mostly manual methods may later be derived or assigned by predominantly automatic processes. Accordingly, the present invention is not limited to current state of the art computer processed algorithms and user-operated computer graphics tools, but is also applicable to future developments in these technologies.
  • Examples of data that can currently be derived from or assigned to a document or a file with computer processed algorithms include signatures, thumbnails, and other image related attributes; file signatures and other file related attributes; grain sizing and other material analyses; edge detection and analysis; image feature counting and analysis; histograms; and line profiles.
  • Computer processed algorithms can be based upon, but are not limited to, digital image processing methods such as background subtraction, thresholding, smoothing, adaptive filtering, edge enhancements, contrast enhancements, and histogram equalizations. Such methods are known to those of skill in the art.
  • Examples of data that can currently be derived from or assigned to a document or a file with user-operated computer graphics tools include measurements (e.g., distances, angles, etc.) made by a user of portions of subject(s) in an image, textual annotations made by a user and assigned to the document or the file via an overlay, Boolean values (e.g., true or false) assigned by the user, an identity of the document or the file, a time at which the document or the file was produced, and a name of an individual associated with the document or the file. Some of these can be obtained with the assistance of overlay templates.
  • User-operated computer graphics tools can be based upon, but are not limited to, character user interfaces (e.g., keyboards) and graphical user interfaces.
  • a graphical user interface is a system comprising hardware, software, firmware, or any combination thereof that allows a user to interface with a computer via its display system.
  • Characteristics of a graphical user interface can include, but are not limited to, a bit-mapped display, an Ethernet® network for transferring data and commands, an optical cursor control device (e.g., mouse, trackball, stylus, touch pad, touch screen, or the like), windowed display of operations, icon-initiated programs, and menus for programming options.
  • Apple® Macintosh® and Microsoft® WindowsTM are applications of graphical user interfaces that can provide a basis for a graphical user interface of the present invention. The present invention is not limited to these examples, but is applicable to other existing and future-developed graphical user interfaces.
  • the data derived from or assigned to a document or a file can include metadata.
  • Metadata are data about the document or the file that can be used to identify it in an index.
  • metadata can include, but are not limited to, some of the data defined by the Dublin Core Metadata Initiative® hosted by OCLC Research of Dublin, Ohio, U.S.A.
  • the technical standards of the Dublin Core Metadata Initiative® are incorporated herein in their entirety by reference.
  • the computer processed algorithms and user-operated computer graphics tools used to derive data from or assign data to documents or files are incorporated in, for example, the Image-Pro® and IQstudioTM families of products offered by Media Cybernetics Inc. of Silver Spring, Md., U.S.A.
  • the present invention provides a database that allows a user to capture, store, and organize image related data in real time as the user is looking at or analyzing images. Later, the data can be queried, archived more permanently, analyzed further using data mining tools, or any combination of the foregoing. Data irrelevant to a particular analysis can be stored in a separate database and indexed to the database of the present invention so that queries or data mining of relevant data in the database of the present invention can be performed at a high rate. Because the database of the present invention can index data from different databases, the database of the present invention can automatically update its schema (the data structure information) as needed as data is accessed from different databases.
  • the database of the present invention is an object oriented database.
  • An object oriented database organizes related data as elements in a set.
  • the set is known as an object and is defined by a type.
  • the elements are known as attributes.
  • a first object can be an attribute of a second object.
  • the first object is known as a child object and the second object is known as a parent object.
  • the PastObjectsTM family of products, offered by Poet GmbH of Düsseldorf, Germany, is an example of object oriented databases in which the present invention can be implemented.
  • the skilled artisan recognizes other database architectures by which the present invention can be implemented. Accordingly, the present invention is not limited to an object oriented architecture.
  • the present invention is described in the context of images of results of DNA genotyping experiments as displayed in microarrays.
  • the present invention can be adapted for use in many other applications including, but not limited to, work products in such fields as biochemistry, cell biology, pathology, genetics, forensics, geology, metallurgy, inspections of devices with feature sizes substantially at or less than a micron, quality control applications, and material failure analysis.
  • the present invention can be used to manage data associated with documents of all types and is not limited to managing data associated with images.
  • FIG. 1 illustrates an exemplary image in which associated data are managed in an embodiment of the present invention.
  • An image 100 shows a sample of results of a first DNA genotyping experiment as displayed in a microarray.
  • the microarray has, for example, four result sites: A 1 102 a , A 2 102 b , B 1 102 c , and B 2 102 d .
  • Image 100 can be, but is not necessarily, a part of a file 104 .
  • FIG. 2 illustrates exemplary data derived from and assigned to the image.
  • Data derived from image 100 are defined, for example, by the following attributes (and associated data types): an image size 202 (e.g., number of bytes) of image 100 , a height 204 (e.g., number of pixels) of image 100 , a width 206 (e.g., number of pixels) of image 100 , an area 208 a , 208 b , 208 c , and 208 d (e.g., number of pixels) of each of the four result sites, and an intensity 210 a , 210 b , 210 c , and 210 d of each the four result sites (e.g., average of values stored in the pixels that define the area of a result site).
  • an image size 202 e.g., number of bytes
  • a height 204 e.g., number of pixels
  • a width 206 e.g., number of pixels
  • Data assigned to image 100 are defined, for example, by the following attributes (and associated types): an identity 212 (e.g., series of ASCII characters) of the first DNA genotyping experiment and a name 214 (e.g., series of ASCII characters) of an individual who conducted the first DNA genotyping experiment. If image 100 was captured (at any time), then the data assigned to image 100 can include a time 216 (e.g., series of ASCII characters) at which image 100 was captured. If image 100 is a part of file 104 , then the data assigned to image 100 can include data derived from or assigned to file 104 . Data derived from or assigned to file 104 can be defined, for example, by the following attribute (and associated data type): a file size 218 (e.g., number of bytes) of file 104 .
  • a file size 218 e.g., number of bytes
  • FIG. 3 illustrates an exemplary object, in a database, in which data derived from and assigned to the image are organized.
  • identity 212 defines an object 302 .
  • the remaining data are attributes of object 302 .
  • each of image size 202 ; height 204 ; width 206 ; areas 208 a , 208 b , 208 c , and 208 d ; intensities 210 a , 210 b , 210 c , and 210 d ; and name 214 is an attribute of object 302 .
  • object 302 can include image 100 (or a reproduction of image 100 ) as an attribute.
  • object 302 can include an attribute for time 216 . If image 100 is a part of file 104 , then object 302 can include an attribute for file size 218 , an attribute for a memory location 304 (e.g., address) at which file 104 is stored, or both.
  • FIG. 4 illustrates an alternative organization of the object.
  • Data related to each of result sites A 1 102 a , A 2 102 b , B 1 102 c , and B 2 102 d can be organized as a child object of object 302 .
  • attributes for area 208 a and intensity 210 a can be organized as child object 402 a
  • attributes for area 208 b and intensity 210 b can be organized as child object 402 b
  • attributes for area 208 c and intensity 210 c can be organized as child object 402 c
  • attributes for area 208 d and intensity 210 d can be organized as child object 402 d.
  • the present invention allows data irrelevant to a particular analysis to be stored in a separate database and indexed to database of the present invention 300 .
  • a user may desire to perform queries or data mining of data related to result sites A 1 102 a , A 2 102 b , B 1 102 c , and B 2 102 d , but consider the remaining data of object 302 irrelevant to a particular analysis.
  • the remaining data of object 302 can be stored in a separate database and indexed to database of the present invention 300 so that queries and data mining of data related to result sites A 1 102 a , A 2 102 b , B 1 102 c , and B 2 102 d can be performed at a high rate.
  • FIG. 5 illustrates an exemplary relationship between databases.
  • This example relationship includes database of the present invention 300 and a second database 502 .
  • an object 504 is defined by identity 212 .
  • Object 504 includes child objects 402 a , 402 b , 402 c , and 402 d from object 302 .
  • an object 506 is also defined by identity 212 .
  • Object 506 includes the remaining attributes from object 302 .
  • object 504 also includes an attribute for a memory location 508 (e.g., address) at which object 506 is stored.
  • a user can perform queries or data mining data related to result sites A 1 102 a , A 2 102 b , B 1 102 c , and B 2 102 d at a high rate. Furthermore, access to the remaining data related to image 100 is maintained via object 506 so that queries and data mining can also be performed for this data.
  • database of the present invention 300 can index data from different databases
  • database of the present invention 300 can automatically update its schema (the data structure information) as needed as data is accessed from different databases.
  • FIG. 6 illustrates another exemplary relationship among databases.
  • This example relationship includes database of the present invention 300 , a third database 602 , and a fourth database 604 .
  • Third database 602 includes object 302 for data related to the first DNA genotyping experiment as these data were originally derived or assigned.
  • Fourth database 604 includes an object 606 for data related to a second DNA genotyping experiment as these data were originally derived or assigned.
  • the data of the second DNA genotyping experiment is organized in object 606 in a manner that corresponds to the organization of the data in object 302 .
  • object 606 has an attribute for an overlay of textual annotations 608 (e.g., series of ASCII characters).
  • Database of the present invention 300 includes a first object 610 and a second object 612 .
  • First object 610 corresponds to object 302 and second object 612 corresponds to object 606 .
  • First object 610 includes an attribute for a memory location 614 (e.g., address) at which object 302 is stored and an attribute for an overlay of textual annotations 616 (e.g., series of ASCII characters).
  • Second object 612 includes an attribute for a memory location 618 (e.g., address) at which object 606 is stored and an attribute for a name 620 (e.g., series of ASCII characters).
  • a user can access corresponding sets of data for the first DNA genotyping experiment and the second DNA genotyping experiment even though the sets of data that were originally derived or assigned for the first DNA genotyping experiment and the second DNA genotyping experiment are not corresponding.
  • the data related to each of the DNA genotyping experiments are maintained in the corresponding databases as these data were originally derived or assigned.
  • FIG. 7 illustrates exemplary query objects.
  • database of the present invention 300 includes object 302 , object 606 , a third object 702 , a fourth object 704 , and a fifth object 706 .
  • Third object 702 is a query object.
  • Third object 702 is, for example, defined as the results of querying object 302 and object 606 for data related to result site A 1 102 a for the first DNA genotyping experiment and the second DNA genotyping experiment.
  • Third object 702 includes an attribute for a memory location 708 (e.g., address) at which subset 402 a for the first DNA genotyping experiment is stored and an attribute for a memory location 710 (e.g., address) at which subset 402 a for the second DNA genotyping experiment is stored.
  • Fourth object 704 is also a query object.
  • Fourth object 704 is, for example, defined as the results of querying object 302 and object 606 for data related to result site A 2 102 b for the first DNA genotyping experiment and the second DNA genotyping experiment.
  • Fourth object 704 includes an attribute for a memory location 712 (e.g., address) at which subset 402 b for the first DNA genotyping experiment is stored and an attribute for a memory location 714 (e.g., address) at which subset 402 b for the second DNA genotyping experiment is stored.
  • Third object 702 and fourth object 704 can be child objects of fifth object 706 .
  • Fifth object 706 is defined as the results of querying object 302 and object 606 for data related to result site A 1 102 a and result site A 2 102 b for the first DNA genotyping experiment and the second DNA genotyping experiment.
  • FIG. 8 is a flow chart that illustrates a method 800 for managing data associated with a document stored in an electronic form in an embodiment of the present invention.
  • Method 800 has several embodiments, which are differentiated below as optional steps.
  • first data are derived from the document, second data are assigned to the document, or both.
  • Data can be derived, assigned, or both with a computer processed algorithm, a user-operated computer graphics tool, or both.
  • the first data, the second data, or both can include metadata
  • the document is an image.
  • the image can be captured with an electronic imaging device.
  • the first data, the second data, or both can include a time at which the image was captured.
  • the image or a reproduction of the image can be included as an attribute of the first attributes.
  • the document is a part of a file.
  • An address of a location in a memory at which the file is stored can be included as an attribute of the first attributes.
  • third data are derived from the file, fourth data are assigned to the file, or both with the computer processed algorithm, the user-operated computer graphics tool, or both.
  • the first data, the second data, or both are organized as first attributes of an object of a first computer database.
  • third data, fourth data, or both are organized as second attributes of the object of the first computer database.
  • At a step 810 at least one attribute of the first attributes is organized as a child object of the object.
  • the at least one attribute is associated with a feature of the document.
  • an attribute of the first attributes is moved from the object of the first computer database to an object of a second computer database.
  • an address of a location in a memory at which the object of the second computer database is stored is added as a new attribute of the object of the first computer database.
  • FIG. 9 is a flow chart that illustrates a method 900 for managing related data stored in a plurality of computer databases in an embodiment of the present invention.
  • a first portion of the related data is organized as an attribute of an object of a first computer database.
  • a second portion of the related data is organized as a first attribute of an object of a second computer database.
  • an address of a location in a memory at which the object of the first computer database is stored is included as a second attribute of the object of the second computer database.
  • FIG. 10 is a block diagram of a system 1000 for managing data associated with a document stored in an electronic form in an embodiment of the present invention.
  • System 1000 comprises a document data interface 1002 , a computer database management system 1004 , and a memory 1006 .
  • Document data interface 1002 is configured to support deriving first data from the document, assigning second data to the document, or both.
  • the first data, the second data, or both can include metadata.
  • Document data interface 1002 can include a computer processed algorithm, a user-operated computer graphics tool, a graphical user interface, a character user interface, or any combination of the foregoing.
  • document data interface 1002 can be further configured to support deriving third data from a file that includes the document, assigning fourth data to the file, or both.
  • Computer database management system 1004 is configured to organize the first data, the said second data, or both as first attributes of an object of a first computer database and to organize at least one attribute of the first attributes as a child object of the object. The at least one attribute is associated with a feature of the document.
  • computer database management system 1004 is an object oriented computer databases management system.
  • computer database management system 1004 is further configured to organize the third data, the fourth data, or both as second attributes of the object of the first computer database.
  • computer database management system 1004 is further configured to move an attribute of the first attributes from the object of the first computer database to an object of a second computer database and to add, as a new attribute of the object of the first computer database, an address of a location in memory 1006 at which the object of the second computer database is stored.
  • Memory 1006 is configured to store the document and the first computer database. Memory 1006 is also configured to store the first data, the second data, or both. Memory 1006 is coupled to document data interface 1002 and computer database management system 1004 . Optionally, memory 1006 is further configured to store the third data, the fourth data, or both. Optionally, memory 1006 is further configured to store the second computer database.
  • FIG. 11 is a block diagram of a system 1100 for managing related data stored in a plurality of computer databases in an embodiment of the present invention.
  • System 1100 comprises a memory 1102 and a computer database management system 1104 .
  • Memory 1102 is configured to store a first computer database and a second computer database.
  • Computer database management system 1104 is configured to organize a first portion of the related data as an attribute of an object of the first computer database, to organize a second portion of the related data as a first attribute of an object of the second computer database, and to include, as a second attribute of the object of the second computer database, an address of a location in memory 1102 at which the object of the first computer database is stored.
  • Computer database management system 1104 is coupled to memory 1102 .
  • the present invention also comprises a computer program product for managing data associated with a document stored in an electronic form.
  • the computer program product has computer program code means embodied in a computer useable medium.
  • the computer program code means comprises a first computer program code means, a second computer program code means, and a third computer program code means.
  • the first program code means causes a processor, allows a user, or both to derive first data from the document, assign second data to the document, or both with a computer processed algorithm, a user-operated computer graphics tool, or both.
  • the first data, the second data, or both can include metadata. If the document is an image that was captured with an electronic imaging device, then the first data, the second data, or both can include a time at which the image was captured.
  • the computer program code means can further comprise a fourth program code means.
  • the fourth program code means causes the processor, allows the user, or both to derive third data from the file, assign fourth data to the file, or both with the computer processed algorithm, the user-operated computer graphics tool, or both.
  • the second program code means causes the processor, allows the user, or both to organize the first data, the second data, or both as first attributes of an object of a first computer database. If the document is an image, then the image or a reproduction of the image can be included as an attribute of the first attributes. If the document is a part of a file, then an address of a location in a memory at which the file is stored can be included as an attribute of the first attributes.
  • the computer program code means can further comprise a fifth program code means.
  • the fifth program code means causes the processor, allows the user, or both to organize the third data, the fourth data, or both as second attributes of the object of the first computer database.
  • the third program code means causes the processor, allows the user, or both to organize at least one attribute of the first attributes as a child object of the object.
  • the at least one attribute is associated with a feature of the document.
  • the computer program code means further comprises a sixth program code means and a seventh program code means.
  • the sixth program code means causes the processor, allows the user, or both to move an attribute of the first attributes from the object of the first computer database to an object of a second computer database.
  • the seventh program code means causes the processor, allows the user, or both to add, as a new attribute of the object of the first computer database, an address of a location in a memory at which the object of the second computer database is stored.
  • the present invention also comprises a computer program product for managing related data stored in a plurality of computer databases.
  • the computer program product has computer program code means embodied in a computer useable medium.
  • the computer program code means comprises a first computer program code means, a second computer program code means, and a third computer program code means.
  • the first program code means causes the processor, allows the user, or both to organize a first portion of the related data as an attribute of an object of a first computer database.
  • the second program code means causes the processor, allows the user, or both to organize a second portion of the related data as a first attribute of an object of a second computer database.
  • the third program code means causes the processor, allows the user, or both to include, as a second attribute of the object of the second computer database, an address of a location in a memory at which the object of the first computer database is stored.
  • FIG. 12 is a block diagram of an example computer system 1200 that can support an embodiment of the present invention.
  • Computer system 1200 includes one or more processors, such as a central processing unit (CPU) 1204 .
  • the CPU 1204 is connected to a communications bus 1206 .
  • Various software embodiments are described in terms of this example computer system. After reading this description, it will be apparent to a person skilled in the relevant art how to implement the present invention using other computer systems, computer architectures, or both.
  • Computer system 1200 also includes a main memory 1208 , preferably random access memory (RAM), and can also include a secondary memory 1210 .
  • the secondary memory 1210 can include, for example, a hard disk drive 1212 and/or a removable storage drive 1214 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
  • the removable storage drive 1214 reads from and/or writes to a removable storage unit 1218 in a well-known manner.
  • Removable storage unit 1218 represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to removable storage drive 1214 .
  • the removable storage unit 1218 includes a computer usable storage medium having stored therein computer software, data, or both.
  • the computer system 1200 also includes conventional hardware such as a display 1230 , a keyboard 1232 , and a pointing device 1234 .
  • a digitizer 1236 and a camera 1238 can be used for capturing images to process according to the present invention. Alternatively, images can be retrieved from any of the above-mentioned memory units, or via a communications interface 1224 .
  • secondary memory 1210 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 1200 . Such means can include, for example, a removable storage unit 1222 and an interface 1220 .
  • Examples can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 1222 and interfaces 1220 which allow software and data to be transferred from the removable storage unit 1222 to computer system 1200 .
  • a program cartridge and cartridge interface such as that found in video game devices
  • a removable memory chip such as an EPROM, or PROM
  • the communications interface 1224 allows software and data to be transferred between computer system 1200 and external devices via communications path 1226 .
  • Examples of communications interface 1224 can include a modem, a network interface (such as an Ethernet card), a communications port (e.g., RS-232), etc.
  • Software and data transferred via communications interface 1224 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 1224 via communications path 1226 .
  • communications interface 1224 provides a means by which computer system 1200 can interface to a network such as the Internet.
  • the present invention is preferably implemented using software running (that is, executing) in an environment similar to that described above with respect to FIG. 12 .
  • Computer programs are stored in main memory and/or secondary memory 1210 . Computer programs can also be received via communications interface 1224 . Such computer programs, when executed, enable the computer system 1200 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 1204 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 1200 .
  • the software may be stored in a computer program product and loaded into computer system 1200 using removable storage drive 1214 , hard drive 1212 or communications interface 1224 .
  • the computer program product may be downloaded to computer system 1200 over communications path 1226 .
  • the control logic when executed by the processor 1204 , causes the processor 1204 to perform the functions of the present invention as described herein.
  • the present invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs).
  • ASICs application specific integrated circuits
  • FIGS. 1-12 can be implemented in software, firmware, hardware or a combination thereof. While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Abstract

A method, system, and computer program product for managing data associated with a document stored in an electronic form. The document can be a part of a file. Computer processed algorithms, user-operated computer graphics tools, or both can be used to derive data from or assign data to the document or the file. First data is derived from the document, second data is assigned to the document, or both. The first data, the second data, or both are organized as attributes of an object of a first computer database. At least one attribute is organized as a child object of the object. The at least one attribute is associated with a feature of the document. Optionally, an attribute is moved from the object of the first computer database to an object of a second computer database and an address of a location in a memory at which the object of the second computer database is stored is added as a new attribute of the object of the first computer database.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims the benefit of U.S. patent application Ser. No. 10/975,033 filed Oct. 28, 2004 entitled METHOD, SYSTEM AND COMPUTER PROGRAM PRODUCT FOR MANAGING DATA ASSOCIATED WITH A DOCUMENT STORED IN ELECTRONIC FORM which claims the priority of U.S. Provisional Application No. 60/514,601, filed Oct. 28, 2003, which are incorporated herein in their entirety by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates to computer databases.
  • 2. Related Art
  • Advancements in digital image processing methods have enabled these technologies to become valuable tools for a host of applications. These include, but are not limited to, documenting work products in such fields as biochemistry, cell biology, pathology, genetics, forensics, geology, metallurgy, inspections of electron devices, quality control applications, material failure analysis, and the like. Digital image processing methods enable pictorial data to be manipulated in ways that enhance the means by which humans can interpret this data. Digital image processing methods typically use computer-processed algorithms or user-operated computer graphics tools. With digital image processing, a picture is not only “worth a thousand words,” but also a source of a substantial amount of data about the subject(s) and the background in the digital image. In general, what is needed is a computer database management system for managing data associated with documents stored in an electronic form. Preferably, such a computer database management system would also be configured to support performing queries or data mining of relevant data at a high rate.
  • SUMMARY OF THE INVENTION
  • The present invention comprises a method, system, and computer program product for managing data associated with a document stored in an electronic form. The document can be a part of a file. The present invention can use computer processed algorithms, user-operated computer graphics tools, or both to have data derived from or assigned to the document or the file. The data can be, but is not necessarily, metadata. Computer processed algorithms and user-operated computer graphics tools can be thought of as representing opposite ends of a spectrum of methods by which data can be derived from or assigned to a document or a file. At one end of the spectrum, the derivation or assignment of data is performed automatically. At the other end of the spectrum, a user manually derives or assigns data.
  • In the present invention, first data is derived from the document, second data is assigned to the document, or both. The first data, the second data, or both are organized as attributes of an object of a first computer database. At least one attribute is organized as a child object of the object.
  • The at least one attribute is associated with a feature of the document.
  • Optionally, an attribute is moved from the object of the first computer database to an object of a second computer database and an address of a location in a memory at which the object of the second computer database is stored is added as a new attribute of the object of the first computer database.
  • Further embodiments, features, and advantages of the present invention, as well as the structure and operation of the various embodiments of the present invention, are described in detail below with reference to the accompanying drawings. Each feature or advantage is not necessarily required for all embodiments of the present invention.
  • BRIEF DESCRIPTION OF THE FIGURES
  • The accompanying drawings, which are incorporated herein and form part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art to make and use the invention.
  • FIG. 1 illustrates an exemplary image in which associated data are managed in an embodiment of the present invention.
  • FIG. 2 illustrates exemplary data derived from and assigned to the image.
  • FIG. 3 illustrates an exemplary object, in a database, in which data derived from and assigned to the image are organized.
  • FIG. 4 illustrates an alternative organization of the object.
  • FIG. 5 illustrates an exemplary relationship between databases.
  • FIG. 6 illustrates another exemplary relationship among databases.
  • FIG. 7 illustrates exemplary query objects.
  • FIG. 8 is a flow chart that illustrates a method 800 for managing data associated with a document stored in an electronic form in an embodiment of the present invention.
  • FIG. 9 is a flow chart that illustrates a method 900 for managing related data stored in a plurality of computer databases in an embodiment of the present invention.
  • FIG. 10 is a block diagram of a system 1000 for managing data associated with a document stored in an electronic form in an embodiment of the present invention.
  • FIG. 11 is a block diagram of a system 1100 for managing related data stored in a plurality of computer databases in an embodiment of the present invention.
  • FIG. 12 is a block diagram of an example computer system 1200 that can support an embodiment of the present invention.
  • The preferred embodiments of the invention are described with reference to the figures where like reference numbers indicate identical or functionally similar elements. Also in the figures, the left most digit(s) of each reference number identifies the figure in which the reference number is first used.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Overview
  • The present invention comprises a method, system, and computer program product for managing data associated with a document stored in an electronic form. If the document is an image, then management of the data is also known as image informatics. Among other attributes, the data can describe complex features found in an image. The document can be a part of a file. The present invention can use computer processed algorithms, user-operated computer graphics tools, or both to have data derived from or assigned to a document or a file.
  • Computer processed algorithms and user-operated computer graphics tools can be thought of as representing opposite ends of a spectrum of methods by which data can be derived from or assigned to a document or a file. At one end of the spectrum, the derivation or assignment of data is performed automatically. At the other end of the spectrum, a user manually derives or assigns data. More typically, data are derived or assigned by a combination of automatic and manual processes. For example, usually, a user initiates computer processed algorithms to derive or to assign data automatically, or is assisted by user-operated computer graphics tools to derive or to assign data manually. As the arts of deriving data from and assigning data to documents and files progress, data that are currently derived or assigned by mostly manual methods may later be derived or assigned by predominantly automatic processes. Accordingly, the present invention is not limited to current state of the art computer processed algorithms and user-operated computer graphics tools, but is also applicable to future developments in these technologies.
  • Examples of data that can currently be derived from or assigned to a document or a file with computer processed algorithms include signatures, thumbnails, and other image related attributes; file signatures and other file related attributes; grain sizing and other material analyses; edge detection and analysis; image feature counting and analysis; histograms; and line profiles. Computer processed algorithms can be based upon, but are not limited to, digital image processing methods such as background subtraction, thresholding, smoothing, adaptive filtering, edge enhancements, contrast enhancements, and histogram equalizations. Such methods are known to those of skill in the art.
  • Examples of data that can currently be derived from or assigned to a document or a file with user-operated computer graphics tools include measurements (e.g., distances, angles, etc.) made by a user of portions of subject(s) in an image, textual annotations made by a user and assigned to the document or the file via an overlay, Boolean values (e.g., true or false) assigned by the user, an identity of the document or the file, a time at which the document or the file was produced, and a name of an individual associated with the document or the file. Some of these can be obtained with the assistance of overlay templates. User-operated computer graphics tools can be based upon, but are not limited to, character user interfaces (e.g., keyboards) and graphical user interfaces.
  • Generally, a graphical user interface is a system comprising hardware, software, firmware, or any combination thereof that allows a user to interface with a computer via its display system. Characteristics of a graphical user interface can include, but are not limited to, a bit-mapped display, an Ethernet® network for transferring data and commands, an optical cursor control device (e.g., mouse, trackball, stylus, touch pad, touch screen, or the like), windowed display of operations, icon-initiated programs, and menus for programming options. Apple® Macintosh® and Microsoft® Windows™, for example, are applications of graphical user interfaces that can provide a basis for a graphical user interface of the present invention. The present invention is not limited to these examples, but is applicable to other existing and future-developed graphical user interfaces.
  • The data derived from or assigned to a document or a file can include metadata. Metadata are data about the document or the file that can be used to identify it in an index. Such metadata can include, but are not limited to, some of the data defined by the Dublin Core Metadata Initiative® hosted by OCLC Research of Dublin, Ohio, U.S.A. The technical standards of the Dublin Core Metadata Initiative® are incorporated herein in their entirety by reference. The computer processed algorithms and user-operated computer graphics tools used to derive data from or assign data to documents or files are incorporated in, for example, the Image-Pro® and IQstudio™ families of products offered by Media Cybernetics Inc. of Silver Spring, Md., U.S.A.
  • In an application, the present invention provides a database that allows a user to capture, store, and organize image related data in real time as the user is looking at or analyzing images. Later, the data can be queried, archived more permanently, analyzed further using data mining tools, or any combination of the foregoing. Data irrelevant to a particular analysis can be stored in a separate database and indexed to the database of the present invention so that queries or data mining of relevant data in the database of the present invention can be performed at a high rate. Because the database of the present invention can index data from different databases, the database of the present invention can automatically update its schema (the data structure information) as needed as data is accessed from different databases.
  • Preferably, the database of the present invention is an object oriented database. An object oriented database organizes related data as elements in a set. The set is known as an object and is defined by a type. The elements are known as attributes. A first object can be an attribute of a second object. The first object is known as a child object and the second object is known as a parent object. The PastObjects™ family of products, offered by Poet GmbH of Karlsruhe, Germany, is an example of object oriented databases in which the present invention can be implemented. However, the skilled artisan recognizes other database architectures by which the present invention can be implemented. Accordingly, the present invention is not limited to an object oriented architecture.
  • For convenience, the present invention is described in the context of images of results of DNA genotyping experiments as displayed in microarrays. However, it should be understood that the present invention can be adapted for use in many other applications including, but not limited to, work products in such fields as biochemistry, cell biology, pathology, genetics, forensics, geology, metallurgy, inspections of devices with feature sizes substantially at or less than a micron, quality control applications, and material failure analysis. Furthermore, the present invention can be used to manage data associated with documents of all types and is not limited to managing data associated with images.
  • FIG. 1 illustrates an exemplary image in which associated data are managed in an embodiment of the present invention. An image 100 shows a sample of results of a first DNA genotyping experiment as displayed in a microarray. The microarray has, for example, four result sites: A1 102 a, A2 102 b, B1 102 c, and B2 102 d. Image 100 can be, but is not necessarily, a part of a file 104.
  • FIG. 2 illustrates exemplary data derived from and assigned to the image. Data derived from image 100 are defined, for example, by the following attributes (and associated data types): an image size 202 (e.g., number of bytes) of image 100, a height 204 (e.g., number of pixels) of image 100, a width 206 (e.g., number of pixels) of image 100, an area 208 a, 208 b, 208 c, and 208 d (e.g., number of pixels) of each of the four result sites, and an intensity 210 a, 210 b, 210 c, and 210 d of each the four result sites (e.g., average of values stored in the pixels that define the area of a result site). Data assigned to image 100 are defined, for example, by the following attributes (and associated types): an identity 212 (e.g., series of ASCII characters) of the first DNA genotyping experiment and a name 214 (e.g., series of ASCII characters) of an individual who conducted the first DNA genotyping experiment. If image 100 was captured (at any time), then the data assigned to image 100 can include a time 216 (e.g., series of ASCII characters) at which image 100 was captured. If image 100 is a part of file 104, then the data assigned to image 100 can include data derived from or assigned to file 104. Data derived from or assigned to file 104 can be defined, for example, by the following attribute (and associated data type): a file size 218 (e.g., number of bytes) of file 104.
  • FIG. 3 illustrates an exemplary object, in a database, in which data derived from and assigned to the image are organized. In a database of the present invention 300, identity 212, for example, defines an object 302. The remaining data are attributes of object 302. For example, each of image size 202; height 204; width 206; areas 208 a, 208 b, 208 c, and 208 d; intensities 210 a, 210 b, 210 c, and 210 d; and name 214 is an attribute of object 302. Optionally, object 302 can include image 100 (or a reproduction of image 100) as an attribute. If data assigned to image 100 includes time 216, then object 302 can include an attribute for time 216. If image 100 is a part of file 104, then object 302 can include an attribute for file size 218, an attribute for a memory location 304 (e.g., address) at which file 104 is stored, or both.
  • FIG. 4 illustrates an alternative organization of the object. Data related to each of result sites A1 102 a, A2 102 b, B1 102 c, and B2 102 d can be organized as a child object of object 302. For example, attributes for area 208 a and intensity 210 a can be organized as child object 402 a, attributes for area 208 b and intensity 210 b can be organized as child object 402 b, attributes for area 208 c and intensity 210 c can be organized as child object 402 c, and attributes for area 208 d and intensity 210 d can be organized as child object 402 d.
  • So that queries and data mining of relevant data in object 302 can be performed at a high rate, the present invention allows data irrelevant to a particular analysis to be stored in a separate database and indexed to database of the present invention 300. For example, a user may desire to perform queries or data mining of data related to result sites A1 102 a, A2 102 b, B1 102 c, and B2 102 d, but consider the remaining data of object 302 irrelevant to a particular analysis. In this case, the remaining data of object 302 can be stored in a separate database and indexed to database of the present invention 300 so that queries and data mining of data related to result sites A1 102 a, A2 102 b, B1 102 c, and B2 102 d can be performed at a high rate.
  • FIG. 5 illustrates an exemplary relationship between databases. This example relationship includes database of the present invention 300 and a second database 502. In database of the present invention 300, an object 504 is defined by identity 212. Object 504 includes child objects 402 a, 402 b, 402 c, and 402 d from object 302. In second database 502, an object 506 is also defined by identity 212. Object 506 includes the remaining attributes from object 302. In database of the present invention 300, object 504 also includes an attribute for a memory location 508 (e.g., address) at which object 506 is stored. With this relationship, a user can perform queries or data mining data related to result sites A1 102 a, A2 102 b, B1 102 c, and B2 102 d at a high rate. Furthermore, access to the remaining data related to image 100 is maintained via object 506 so that queries and data mining can also be performed for this data.
  • Because database of the present invention 300 can index data from different databases, database of the present invention 300 can automatically update its schema (the data structure information) as needed as data is accessed from different databases.
  • FIG. 6 illustrates another exemplary relationship among databases. This example relationship includes database of the present invention 300, a third database 602, and a fourth database 604. Third database 602 includes object 302 for data related to the first DNA genotyping experiment as these data were originally derived or assigned. Fourth database 604 includes an object 606 for data related to a second DNA genotyping experiment as these data were originally derived or assigned. The data of the second DNA genotyping experiment is organized in object 606 in a manner that corresponds to the organization of the data in object 302. However, rather than having an attribute for name 214 of an individual who conducted the second DNA genotyping experiment, object 606 has an attribute for an overlay of textual annotations 608 (e.g., series of ASCII characters).
  • Database of the present invention 300 includes a first object 610 and a second object 612. First object 610 corresponds to object 302 and second object 612 corresponds to object 606. First object 610 includes an attribute for a memory location 614 (e.g., address) at which object 302 is stored and an attribute for an overlay of textual annotations 616 (e.g., series of ASCII characters). Second object 612 includes an attribute for a memory location 618 (e.g., address) at which object 606 is stored and an attribute for a name 620 (e.g., series of ASCII characters). With this relationship, a user can access corresponding sets of data for the first DNA genotyping experiment and the second DNA genotyping experiment even though the sets of data that were originally derived or assigned for the first DNA genotyping experiment and the second DNA genotyping experiment are not corresponding. Advantageously, the data related to each of the DNA genotyping experiments are maintained in the corresponding databases as these data were originally derived or assigned.
  • FIG. 7 illustrates exemplary query objects. In this example, database of the present invention 300 includes object 302, object 606, a third object 702, a fourth object 704, and a fifth object 706. Third object 702 is a query object. Third object 702 is, for example, defined as the results of querying object 302 and object 606 for data related to result site A1 102 a for the first DNA genotyping experiment and the second DNA genotyping experiment. Third object 702 includes an attribute for a memory location 708 (e.g., address) at which subset 402 a for the first DNA genotyping experiment is stored and an attribute for a memory location 710 (e.g., address) at which subset 402 a for the second DNA genotyping experiment is stored. Fourth object 704 is also a query object. Fourth object 704 is, for example, defined as the results of querying object 302 and object 606 for data related to result site A2 102 b for the first DNA genotyping experiment and the second DNA genotyping experiment. Fourth object 704 includes an attribute for a memory location 712 (e.g., address) at which subset 402 b for the first DNA genotyping experiment is stored and an attribute for a memory location 714 (e.g., address) at which subset 402 b for the second DNA genotyping experiment is stored. Third object 702 and fourth object 704 can be child objects of fifth object 706. Fifth object 706 is defined as the results of querying object 302 and object 606 for data related to result site A1 102 a and result site A2 102 b for the first DNA genotyping experiment and the second DNA genotyping experiment.
  • Methods
  • FIG. 8 is a flow chart that illustrates a method 800 for managing data associated with a document stored in an electronic form in an embodiment of the present invention. Method 800 has several embodiments, which are differentiated below as optional steps.
  • In method 800, at a step 802, first data are derived from the document, second data are assigned to the document, or both. Data can be derived, assigned, or both with a computer processed algorithm, a user-operated computer graphics tool, or both. The first data, the second data, or both can include metadata Optionally, the document is an image. The image can be captured with an electronic imaging device. The first data, the second data, or both can include a time at which the image was captured. The image or a reproduction of the image can be included as an attribute of the first attributes.
  • Optionally, the document is a part of a file. An address of a location in a memory at which the file is stored can be included as an attribute of the first attributes. Optionally, at a step 804, third data are derived from the file, fourth data are assigned to the file, or both with the computer processed algorithm, the user-operated computer graphics tool, or both.
  • At a step 806, the first data, the second data, or both are organized as first attributes of an object of a first computer database.
  • Optionally, at a step 808, third data, fourth data, or both are organized as second attributes of the object of the first computer database.
  • At a step 810, at least one attribute of the first attributes is organized as a child object of the object. The at least one attribute is associated with a feature of the document.
  • Optionally, at a step 812, an attribute of the first attributes is moved from the object of the first computer database to an object of a second computer database. Then, at a step 814, an address of a location in a memory at which the object of the second computer database is stored is added as a new attribute of the object of the first computer database.
  • FIG. 9 is a flow chart that illustrates a method 900 for managing related data stored in a plurality of computer databases in an embodiment of the present invention. In method 900, at a step 902, a first portion of the related data is organized as an attribute of an object of a first computer database. At a step 904, a second portion of the related data is organized as a first attribute of an object of a second computer database. At a step 906, an address of a location in a memory at which the object of the first computer database is stored is included as a second attribute of the object of the second computer database.
  • Systems
  • FIG. 10 is a block diagram of a system 1000 for managing data associated with a document stored in an electronic form in an embodiment of the present invention. System 1000 comprises a document data interface 1002, a computer database management system 1004, and a memory 1006.
  • Document data interface 1002 is configured to support deriving first data from the document, assigning second data to the document, or both. The first data, the second data, or both can include metadata. Document data interface 1002 can include a computer processed algorithm, a user-operated computer graphics tool, a graphical user interface, a character user interface, or any combination of the foregoing. Optionally, document data interface 1002 can be further configured to support deriving third data from a file that includes the document, assigning fourth data to the file, or both.
  • Computer database management system 1004 is configured to organize the first data, the said second data, or both as first attributes of an object of a first computer database and to organize at least one attribute of the first attributes as a child object of the object. The at least one attribute is associated with a feature of the document. Preferably, computer database management system 1004 is an object oriented computer databases management system. Optionally, computer database management system 1004 is further configured to organize the third data, the fourth data, or both as second attributes of the object of the first computer database. Optionally, computer database management system 1004 is further configured to move an attribute of the first attributes from the object of the first computer database to an object of a second computer database and to add, as a new attribute of the object of the first computer database, an address of a location in memory 1006 at which the object of the second computer database is stored.
  • Memory 1006 is configured to store the document and the first computer database. Memory 1006 is also configured to store the first data, the second data, or both. Memory 1006 is coupled to document data interface 1002 and computer database management system 1004. Optionally, memory 1006 is further configured to store the third data, the fourth data, or both. Optionally, memory 1006 is further configured to store the second computer database.
  • FIG. 11 is a block diagram of a system 1100 for managing related data stored in a plurality of computer databases in an embodiment of the present invention. System 1100 comprises a memory 1102 and a computer database management system 1104. Memory 1102 is configured to store a first computer database and a second computer database. Computer database management system 1104 is configured to organize a first portion of the related data as an attribute of an object of the first computer database, to organize a second portion of the related data as a first attribute of an object of the second computer database, and to include, as a second attribute of the object of the second computer database, an address of a location in memory 1102 at which the object of the first computer database is stored. Computer database management system 1104 is coupled to memory 1102.
  • Computer Program Products
  • The present invention also comprises a computer program product for managing data associated with a document stored in an electronic form. The computer program product has computer program code means embodied in a computer useable medium. The computer program code means comprises a first computer program code means, a second computer program code means, and a third computer program code means.
  • The first program code means causes a processor, allows a user, or both to derive first data from the document, assign second data to the document, or both with a computer processed algorithm, a user-operated computer graphics tool, or both. The first data, the second data, or both can include metadata. If the document is an image that was captured with an electronic imaging device, then the first data, the second data, or both can include a time at which the image was captured.
  • If the document is a part of a file, then the computer program code means can further comprise a fourth program code means. The fourth program code means causes the processor, allows the user, or both to derive third data from the file, assign fourth data to the file, or both with the computer processed algorithm, the user-operated computer graphics tool, or both.
  • The second program code means causes the processor, allows the user, or both to organize the first data, the second data, or both as first attributes of an object of a first computer database. If the document is an image, then the image or a reproduction of the image can be included as an attribute of the first attributes. If the document is a part of a file, then an address of a location in a memory at which the file is stored can be included as an attribute of the first attributes.
  • If the document is a part of a file, then the computer program code means can further comprise a fifth program code means. The fifth program code means causes the processor, allows the user, or both to organize the third data, the fourth data, or both as second attributes of the object of the first computer database.
  • The third program code means causes the processor, allows the user, or both to organize at least one attribute of the first attributes as a child object of the object. The at least one attribute is associated with a feature of the document.
  • Optionally, the computer program code means further comprises a sixth program code means and a seventh program code means. The sixth program code means causes the processor, allows the user, or both to move an attribute of the first attributes from the object of the first computer database to an object of a second computer database. The seventh program code means causes the processor, allows the user, or both to add, as a new attribute of the object of the first computer database, an address of a location in a memory at which the object of the second computer database is stored.
  • The present invention also comprises a computer program product for managing related data stored in a plurality of computer databases. The computer program product has computer program code means embodied in a computer useable medium. The computer program code means comprises a first computer program code means, a second computer program code means, and a third computer program code means. The first program code means causes the processor, allows the user, or both to organize a first portion of the related data as an attribute of an object of a first computer database. The second program code means causes the processor, allows the user, or both to organize a second portion of the related data as a first attribute of an object of a second computer database. The third program code means causes the processor, allows the user, or both to include, as a second attribute of the object of the second computer database, an address of a location in a memory at which the object of the first computer database is stored.
  • Environment of the Present Invention
  • FIG. 12 is a block diagram of an example computer system 1200 that can support an embodiment of the present invention. Computer system 1200 includes one or more processors, such as a central processing unit (CPU) 1204. The CPU 1204 is connected to a communications bus 1206. Various software embodiments are described in terms of this example computer system. After reading this description, it will be apparent to a person skilled in the relevant art how to implement the present invention using other computer systems, computer architectures, or both.
  • Computer system 1200 also includes a main memory 1208, preferably random access memory (RAM), and can also include a secondary memory 1210. The secondary memory 1210 can include, for example, a hard disk drive 1212 and/or a removable storage drive 1214, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 1214 reads from and/or writes to a removable storage unit 1218 in a well-known manner. Removable storage unit 1218 represents a floppy disk, magnetic tape, optical disk, etc., which is read by and written to removable storage drive 1214. As will be appreciated, the removable storage unit 1218 includes a computer usable storage medium having stored therein computer software, data, or both.
  • The computer system 1200 also includes conventional hardware such as a display 1230, a keyboard 1232, and a pointing device 1234. A digitizer 1236 and a camera 1238 can be used for capturing images to process according to the present invention. Alternatively, images can be retrieved from any of the above-mentioned memory units, or via a communications interface 1224. In alternative embodiments, secondary memory 1210 may include other similar means for allowing computer programs or other instructions to be loaded into computer system 1200. Such means can include, for example, a removable storage unit 1222 and an interface 1220. Examples can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 1222 and interfaces 1220 which allow software and data to be transferred from the removable storage unit 1222 to computer system 1200.
  • The communications interface 1224 allows software and data to be transferred between computer system 1200 and external devices via communications path 1226. Examples of communications interface 1224 can include a modem, a network interface (such as an Ethernet card), a communications port (e.g., RS-232), etc. Software and data transferred via communications interface 1224 are in the form of signals which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 1224 via communications path 1226. Note that communications interface 1224 provides a means by which computer system 1200 can interface to a network such as the Internet.
  • The present invention is described in terms of this example environment. Description in these terms is provided for convenience only. It is not intended that the invention be limited to application in this example environment. In fact, after reading the complete description, it will become apparent to a person skilled in the relevant art how to implement the present invention in alternative environments.
  • Software and Hardware Embodiments
  • The present invention is preferably implemented using software running (that is, executing) in an environment similar to that described above with respect to FIG. 12.
  • Computer programs (also called computer control logic) are stored in main memory and/or secondary memory 1210. Computer programs can also be received via communications interface 1224. Such computer programs, when executed, enable the computer system 1200 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 1204 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 1200.
  • In an embodiment where the present invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 1200 using removable storage drive 1214, hard drive 1212 or communications interface 1224. Alternatively, the computer program product may be downloaded to computer system 1200 over communications path 1226. The control logic (software), when executed by the processor 1204, causes the processor 1204 to perform the functions of the present invention as described herein.
  • In another embodiment, the present invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of a hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
  • CONCLUSION
  • The embodiments of the present invention as described herein with respect to FIGS. 1-12 can be implemented in software, firmware, hardware or a combination thereof. While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims (6)

1. A method for managing related data stored in a plurality of computer databases in a computer processor system having a memory and an output device, comprising:
(1) organizing a first portion of the related data as an attribute of an object of a first computer database of the plurality of computer databases stored in the memory of the computer processor system;
(2) organizing a second portion of the related data as a first attribute of an object of a second computer database of the plurality of computer databases stored in the memory of the computer processor system; and
(3) including as a second attribute of the object of the second computer database, an address of a location in the memory of the computer processor system at which the object of the first computer database is stored;
wherein the first portion of the related data is different from the second portion of the related data and the second computer database is configured so that a result of a query of the object of the second computer database is produced on the output device of the computer processor system at a higher rate than a result of a query of the object of the first computer database;
wherein attribute of the object of the first computer database and the first attribute of the object of the second computer database are configured to be stored in the memory of the computer processor system.
2. A computer processor system having a memory and an output device for managing related data stored in a plurality of computer databases, comprising:
the memory of the computer processor system being configured to store a first computer database and a second computer database; and
a computer database management system coupled to the memory of the computer processor system and configured to organize a first portion of the related data as an attribute of an object of the first computer database, to organize a second portion of the related data as a first attribute of an object of the second computer database, and to include, as a second attribute of the object of the second computer database, an address of a location in the memory of the computer processor system at which the object of the first computer database is stored;
wherein the first portion of the related data is different from the second portion of the related data and the second computer database is configured so that a result of a query of the object of the second computer database is produced on the output device at a higher rate than a result of a query of the object of the first computer database.
3. A computer program product for managing related data stored in a plurality of computer databases, the computer program product having computer program code means embodied in a computer-readable medium of the plurality of computer databases in a computer processor system having a memory and an output device, the computer program code means comprising:
a first program code means for organizing a first portion of the related data as an attribute of an object of a first computer database stored in the memory of the computer processor system;
a second program code means for organizing a second portion of the related data as a first attribute of an object of a second computer database stored in the memory of the computer processor system; and
a third program code means for including, as a second attribute of the object of the second computer database, an address of a location in the memory of the computer processor system at which the object of the first computer database is stored;
wherein the first portion of the related data is different from the second portion of the related data and the second computer database is configured so that a result of a query of the object of the second computer database is produced on an output device at a higher rate than a result of a query of the object of the first computer database.
4. A method for managing data associated with a document stored in an electronic form in a computer processor system having a memory and an output device, comprising:
(1) assigning data to the document with at least one of a computer processed algorithm and a user-operated computer graphics tool;
(2) organizing the data as first attributes of a parent object of a computer database stored in the memory of the computer processor system; and
(3) organizing at least one attribute of the first attributes of the parent object as a child object, wherein the at least one attribute is associated with a feature of the document;
wherein the computer database is configured so that a result of a query of the child object of the computer database is produced on the output device at a higher rate than a result of a query of the parent object of the first computer database.
5. A system for managing data associated with a document stored in an electronic form in a computer processor system having a memory and an output device, comprising:
a document data interface coupled to the memory and configured to support assigning data to the document;
a computer database management system coupled to the memory of the computer processor system and configured to organize the data as a plurality of attributes of a parent object of a computer database stored in the memory of the computer processor system, and to organize at least one attribute of the plurality of attributes as a child object of the parent object, wherein the at least one attribute is associated with a feature of the document; and
the memory of the computer processor system being configured to store the document, the computer database, and the data;
wherein the computer database is configured so that a result of a query of the child object of the computer database is produced on the output device at a higher rate than a result of a query of the parent object of the computer database.
6. A computer program product for managing data associated with a document stored in an electronic form, the computer program product having computer program code means embodied in a computer useable medium in a computer processor system having a memory and an output device, the computer program code means comprising:
a first program code means for assigning data to the document with at least one of a computer processed algorithm and a user-operated computer graphics tool;
a second program code means for organizing the data as first attributes of a parent object of a computer database stored in the memory of the computer processor system; and
a third program code means for organizing at least one attribute of the first attributes as a child object of the parent object, wherein the at least one attribute is associated with a feature of the document;
wherein the first, second and third program code means are stored in the memory of the computer processor system and the computer database is configured so that a result of a query of the child object of the computer database is produced on the output device at a higher rate than a result of a query of the parent object of the computer database.
US12/335,755 2003-10-28 2008-12-16 Method, system, and computer program product for managing data associated with a document stored in an electronic form Abandoned US20090138434A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/335,755 US20090138434A1 (en) 2003-10-28 2008-12-16 Method, system, and computer program product for managing data associated with a document stored in an electronic form

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US51460103P 2003-10-28 2003-10-28
US10/975,033 US7693855B2 (en) 2003-10-28 2004-10-28 Method, system, and computer program product for managing data associated with a document stored in an electronic form
US12/335,755 US20090138434A1 (en) 2003-10-28 2008-12-16 Method, system, and computer program product for managing data associated with a document stored in an electronic form

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/975,033 Division US7693855B2 (en) 2003-10-28 2004-10-28 Method, system, and computer program product for managing data associated with a document stored in an electronic form

Publications (1)

Publication Number Publication Date
US20090138434A1 true US20090138434A1 (en) 2009-05-28

Family

ID=34811238

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/975,033 Active 2026-09-09 US7693855B2 (en) 2003-10-28 2004-10-28 Method, system, and computer program product for managing data associated with a document stored in an electronic form
US12/335,755 Abandoned US20090138434A1 (en) 2003-10-28 2008-12-16 Method, system, and computer program product for managing data associated with a document stored in an electronic form

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/975,033 Active 2026-09-09 US7693855B2 (en) 2003-10-28 2004-10-28 Method, system, and computer program product for managing data associated with a document stored in an electronic form

Country Status (1)

Country Link
US (2) US7693855B2 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7996758B2 (en) * 2005-11-02 2011-08-09 Sourcecode Technologies Holding, Inc. Methods and apparatus for storing data associated with an electronic form
US20070136367A1 (en) * 2005-11-02 2007-06-14 Sourcecode Technology Holding, Inc. Methods and apparatus for dynamically modifying a business object definition
US20070143711A1 (en) * 2005-11-02 2007-06-21 Sourcecode Technology Holding, Inc. Methods and apparatus for displaying a setup sequence
US8239226B2 (en) * 2005-11-02 2012-08-07 Sourcecode Technologies Holdings, Inc. Methods and apparatus for combining properties and methods from a plurality of different data sources
US20070208777A1 (en) * 2005-11-02 2007-09-06 Sourcecode Technology Holding, Inc. Methods and apparatus for designing a workflow process using resource maps and process maps
US8010940B2 (en) * 2005-11-02 2011-08-30 Sourcecode Technologies Holdings, Inc. Methods and apparatus for designing a workflow process using inheritance
US8224853B2 (en) 2005-11-02 2012-07-17 Sourcecode Technologies Holdings, Inc. Methods and apparatus for updating a plurality of data fields in an electronic form
US20070130138A1 (en) * 2005-11-02 2007-06-07 Sourcecode Technology Holding, Inc. Methods and apparatus for storing a collaboratively designed workflow process
JP4746471B2 (en) * 2006-04-21 2011-08-10 シスメックス株式会社 Accuracy management system, accuracy management server and computer program
US7822714B2 (en) * 2006-06-07 2010-10-26 International Business Machines Corporation Extending configuration management databases using generic datatypes
WO2008124644A1 (en) 2007-04-05 2008-10-16 Velomedix, Inc Automated therapy system and method
EP2145297A4 (en) * 2007-05-08 2012-05-30 Sourcecode Technology Holding Inc Methods and apparatus for exposing workflow process definitions as business objects
EP2167000A1 (en) 2007-07-09 2010-03-31 Velomedix, Inc Hypothermia devices and methods
WO2012006625A2 (en) 2010-07-09 2012-01-12 Velomedix, Inc. Method and apparatus for pressure measurement
US10331765B2 (en) 2013-05-24 2019-06-25 Sourcecode Technology Holdings, Inc. Methods and apparatus for translating forms to native mobile applications

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2612994A (en) * 1949-10-20 1952-10-07 Norman J Woodland Classifying apparatus and method
US5422675A (en) * 1990-01-29 1995-06-06 Massachusetts Institute Of Technology Adaptive modulation/demodulation signal processing
US5493638A (en) * 1993-12-22 1996-02-20 Digital Equipment Corporation Remote display of an image by transmitting compressed video frames representing back-ground and overlay portions thereof
US5588149A (en) * 1993-09-21 1996-12-24 Kabushiki Kaisha Toshiba Document classification and retrieval with title-based on-the-fly class merge
US5644765A (en) * 1993-12-09 1997-07-01 Canon Kabushiki Kaisha Image retrieving method and apparatus that calculates characteristic amounts of data correlated with and identifying an image
US5710899A (en) * 1991-12-06 1998-01-20 Lucent Technologies Inc. Interactive selectors for selecting subsets of a set of values
US5911139A (en) * 1996-03-29 1999-06-08 Virage, Inc. Visual image database search engine which allows for different schema
US5956422A (en) * 1995-10-20 1999-09-21 Bcl Computers, Inc. Processor based method for extracting tablets from printed documents
US6345274B1 (en) * 1998-06-29 2002-02-05 Eastman Kodak Company Method and computer program product for subjective image content similarity-based retrieval
US20020064759A1 (en) * 2000-11-30 2002-05-30 Durbin Duane Milford Method and system for viewing, altering and archiving digital models of dental structures and computer integrated manufacturing of physical models of dental structures
US20020069218A1 (en) * 2000-07-24 2002-06-06 Sanghoon Sull System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
US6568596B1 (en) * 2000-10-02 2003-05-27 Symbol Technologies, Inc. XML-based barcode scanner
US6615141B1 (en) * 1999-05-14 2003-09-02 Cytokinetics, Inc. Database system for predictive cellular bioinformatics
US6629104B1 (en) * 2000-11-22 2003-09-30 Eastman Kodak Company Method for adding personalized metadata to a collection of digital images
US6673430B2 (en) * 1997-11-06 2004-01-06 Sandvik Ab PVD Al2O3 coated cutting tool
US6925597B2 (en) * 2000-04-14 2005-08-02 Picsel Technologies Limited Systems and methods for digital document processing
US6961482B2 (en) * 2001-03-05 2005-11-01 Ncs Pearson, Inc. System for archiving electronic images of test question responses
US7873651B2 (en) * 2004-05-11 2011-01-18 Angoss Software Corporation Method and system for interactive decision tree modification and visualization

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11180099A (en) * 1997-12-18 1999-07-06 Matsushita Electric Ind Co Ltd Method for marking and resin molding with mark
US6873430B2 (en) * 2000-12-22 2005-03-29 Xerox Corporation Knowledge management system and method
JP2003316595A (en) * 2002-04-23 2003-11-07 Casio Comput Co Ltd Installation method, file updating method, its program and computer system

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2612994A (en) * 1949-10-20 1952-10-07 Norman J Woodland Classifying apparatus and method
US5422675A (en) * 1990-01-29 1995-06-06 Massachusetts Institute Of Technology Adaptive modulation/demodulation signal processing
US5710899A (en) * 1991-12-06 1998-01-20 Lucent Technologies Inc. Interactive selectors for selecting subsets of a set of values
US5588149A (en) * 1993-09-21 1996-12-24 Kabushiki Kaisha Toshiba Document classification and retrieval with title-based on-the-fly class merge
US5644765A (en) * 1993-12-09 1997-07-01 Canon Kabushiki Kaisha Image retrieving method and apparatus that calculates characteristic amounts of data correlated with and identifying an image
US5493638A (en) * 1993-12-22 1996-02-20 Digital Equipment Corporation Remote display of an image by transmitting compressed video frames representing back-ground and overlay portions thereof
US5956422A (en) * 1995-10-20 1999-09-21 Bcl Computers, Inc. Processor based method for extracting tablets from printed documents
US5911139A (en) * 1996-03-29 1999-06-08 Virage, Inc. Visual image database search engine which allows for different schema
US6673430B2 (en) * 1997-11-06 2004-01-06 Sandvik Ab PVD Al2O3 coated cutting tool
US6345274B1 (en) * 1998-06-29 2002-02-05 Eastman Kodak Company Method and computer program product for subjective image content similarity-based retrieval
US6615141B1 (en) * 1999-05-14 2003-09-02 Cytokinetics, Inc. Database system for predictive cellular bioinformatics
US6631331B1 (en) * 1999-05-14 2003-10-07 Cytokinetics, Inc. Database system for predictive cellular bioinformatics
US6925597B2 (en) * 2000-04-14 2005-08-02 Picsel Technologies Limited Systems and methods for digital document processing
US20020069218A1 (en) * 2000-07-24 2002-06-06 Sanghoon Sull System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
US6568596B1 (en) * 2000-10-02 2003-05-27 Symbol Technologies, Inc. XML-based barcode scanner
US6629104B1 (en) * 2000-11-22 2003-09-30 Eastman Kodak Company Method for adding personalized metadata to a collection of digital images
US20020064759A1 (en) * 2000-11-30 2002-05-30 Durbin Duane Milford Method and system for viewing, altering and archiving digital models of dental structures and computer integrated manufacturing of physical models of dental structures
US6961482B2 (en) * 2001-03-05 2005-11-01 Ncs Pearson, Inc. System for archiving electronic images of test question responses
US7873651B2 (en) * 2004-05-11 2011-01-18 Angoss Software Corporation Method and system for interactive decision tree modification and visualization

Also Published As

Publication number Publication date
US7693855B2 (en) 2010-04-06
US20050172212A1 (en) 2005-08-04

Similar Documents

Publication Publication Date Title
US20090138434A1 (en) Method, system, and computer program product for managing data associated with a document stored in an electronic form
Stirling et al. CellProfiler Analyst 3.0: accessible data exploration and machine learning for image analysis
US9495583B2 (en) Organizing images by correlating faces
US11328420B2 (en) Quality control of automated whole-slide analyses
US8724908B2 (en) System and method for labeling a collection of images
US7970763B2 (en) Searching and indexing of photos based on ink annotations
US8762873B2 (en) Graphical user interface component identification
CN1517904A (en) Ink marking device and associated application programmed interface
EP1636754A2 (en) Segmentation and data mining for gel electrophoresis images
Grunkin et al. Practical considerations of image analysis and quantification of signal transduction IHC staining
US8032505B2 (en) Relative document representing system, relative document representing method, and computer readable medium
CN106815253B (en) Mining method based on mixed data type data
US20050197784A1 (en) Methods and systems for analyzing term frequency in tabular data
Mussarat et al. Content based image retrieval using combined features of shape, color and relevance feedback
JP2018200614A (en) Display control program, display control method, and display control device
JP2017504091A (en) Continuous image processing
US7693899B2 (en) Method, system, and computer program product for constructing a query with a graphical user interface
JP2008305311A (en) Display device and method, program, and recording medium
TW201348984A (en) Method for managing photo image and photo image managing system
Zahorodnia et al. Automated video surveillance system based on hierarchical object identification
Kravets et al. Relevant image search method when processing a patent array
JP2001101226A (en) Document group sorter and document group sorting method
Sukumaran et al. Survey on automating file system using machine learning and scripting
Sheng et al. Categorizing biomedicine images using novel image features and sparse coding representation
Willot et al. Clustering for the Analysis and Enrichment of Corpus of Images for the Spatio-temporal Monitoring of Restoration Sites

Legal Events

Date Code Title Description
AS Assignment

Owner name: MEDIA CYBERNETICS, INC., MARYLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BIRSA, BRENT;DUCHENE, PIERRE;DVORAK, VOJIN;REEL/FRAME:021986/0385

Effective date: 20050408

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION