MAGNIFICATION AND EDITING OF A PORTION OF AN IMAGE IN THE CONTEXT OF THE IMAGE
TECHNICAL FIELD This invention relates to magnification and editing of an image.
BACKGROUND
Tools that allow the user of a computer to magnify portions of an image and make modifications to them (i.e. edit them) are an important aspect of graphics applications. Magnification tools allow the user of a computer to detect small-scale features in a portion of an image. Such features are often not perceptible when the original image is displayed on the computer screen in its entirety, but they may be obvious and clear when a portion of the image is magnified. Tools that allow the user to modify the magnified version of a portion of the image and then apply those modifications to the original view of the image are useful because they allow the user to change the small-scale features that are not discernable in the view of the entire image. Thus, the user can examine a portion of the image closely, make modifications to the details revealed in the magnified view, and then apply those modifications to the image as seen in its entirety.
Tools that magnify a portion of an image currently exist. The user may be able to select the portion of the image to be magnified, for example, by positioning a cursor over the portion of the image that the user wishes to examine more closely. In some cases, the original view of the image is replaced with a magnified view of a portion of the image. In other cases, the original view of the image remains in front of the user, and a second, magnified view appears, perhaps adjacent to the first. Tools that allow the user to modify a magnified view of a portion of an image and apply those modifications to the unmagnified image also exist. They are included in word processing applications as well as graphics applications.
Such magnification and editing tools are problematic, however, because there is an inverse relationship between the field of view and the clarity or resolution of the view. At higher levels of magnification, the user sees greater detail but views a smaller portion of the image. The user therefore may have little or no sense for the relationship or correspondence
between the magnified view and the original image. At high degrees of magnification, it may be impossible for the user to identify the portion of the image that is presented in the magnification view. Even when the user recognizes what portion of the image is presented in the magnified view, it may be difficult for the user to discern relationships between the magnified view and the entire image.
Thus, with currently existing magnification and editing tools, the user loses the visual context for the magnified portion of the image relative to the unmagnified portion of the image. Because it is unclear which portion of the image is being modified, or because it is unclear how any modifications to that portion will fit with the rest of the image, the user may be unable to make modifications that are appropriate for that portion of the image relative to the rest of the image. The user may be able to make modifications that are responsive to the small-scale features revealed in the magnified view, but the user cannot make modifications that are responsive to the visual context of the complete image.
The problem of identifying how the magnified portion of the image corresponds to the rest of the image is addressed in part by allowing the user to change the portion of the image that is presented in the magnification window. The user may, for example, be able to adjust the portion of the image shown in the magnified view by manipulating scroll bars on the horizontal and vertical axes of the magnification window. If the magnified view does not reveal that portion of the image that is of interest, the user may change it. By exploring nearby portions of the image with such tools, the user may find recognizable features of the image and infer what portion of the image is presented in the magnified view and how it relates to the surrounding portions of the image.
The problem of identifying how the magnified portion of the image corresponds to the rest of the image is also addressed in part by presenting the magnified view of a portion of an image next to the original image and providing cues to indicate the correspondence between them. For example, manipulation of one window may cause correlated changes in the portion of the image presented in the other window. Alternatively, the correspondence between the two images may be inferred by comparing the markings on horizontal and vertical rulers in each of the views. In this case, a point at particular coordinates in the magnification window corresponds to the point at the same coordinates in the original view.
Each of these tools fails, however, to provide sufficient cues to allow the user to modify the details of the magnified view of a portion of the image while considering the relationship between those detailed features and the unmagnified portions of the image. The user cannot edit a magnified portion of the image within the visual context of the entire image.
SUMMARY
In general, in one aspect, the invention features a method and computer program product for magnifying and modifying (i. e. editing) a portion of an image within the visual context of the larger image. Particular implementations can include one or more of the following features. The magnified view of a portion of the image is superimposed and centered over that portion of the image in its original view. The user is able to change the portion of the image that is presented in the magnified view. The user defines the size of the magnified view of a portion of the image or the degree of the magnification of a portion of the image. The user manipulates the magnified view to make modifications to the image. These modifications are applied to the corresponding portion of the image. In the magnified view, the modifications result in the change of at least one pixel value. The pixels in the image that correspond to the changed pixels in the magnified view are also changed.
In general, in another aspect of the invention, the invention features a method and computer program product for presenting a magnified portion of an image in an area that is smaller than the image but not necessarily within the visual context of the larger image, and allowing the user to modify it. In this implementation, the portion that is magnified is indicated with visual cues shown with the image, and the user can change the portion of the image that is magnified. These tools allow the user to readily infer the visual context. Particular implementations can include one or more of the following features. The portion of the image that is presented in the magnified view is indicated by delimiting it, for example, with a dotted line. The user defines the size of the magnified view of a portion of the image, the degree of the magnification of a portion of the image, or the location of the magnified version of a portion of the image relative to the image. The user manipulates the magnified view to make modifications to the image. These modifications are applied to the
corresponding portion of the image. In the magnified view, the modifications result in the change of at least one pixel value. The pixels in the image that correspond to the changed pixels in the magnified view are also changed.
Advantages that can be seen in implementation of the invention include one or more of the following. The present invention provides a magnified view of a portion of an image, and allows the magnified portion to be edited within the visual context of the unmagnified portions of the image. The user can consider the relationship between the detailed features revealed in the magnified view of a portion of the image and the surrounding unmagnified portions of the image in making changes to the magnified portion of the image. The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will become apparent from the description, the drawings, and the claims.
DESCRIPTION OF DRAWINGS
FIG. 1 is a diagrammatic view of an image with a portion to be magnified; FIG. 2 is a diagrammatic view of an image with a magnification window superimposed on it;
FIG. 3 is a diagrammatic view of an image with a magnification window in which edits have been made;
FIG. 4 is a diagrammatic view of an image with edits that were made in a magnification window;
FIG. 5 is a diagrammatic view of an image with a portion magnified in an adjacent window; and
FIG. 6 is a diagrammatic view of the image as in FIG. 5 with a different portion magnified in the adjacent window. Like reference numbers and designations in the various drawings indicate like elements.
DETAILED DESCRIPTION
In one implementation, the present invention allows the user of a computer to create a magnified version of a portion of an image which is centered over the magnified portion of
the image, make modifications to the magnified version within the context of the unmagnified portion of the image, and apply those modifications to the unmagnified image.
As shown in FIG. 1, the invention is used to make modifications to an image 1 presented in an original window 2. The user selects a portion of the image 1 to be the magnified portion 3. The magnified portion 3 is delimited in the figure by a dotted line, and encompasses one of the three mountain-like peaks and a ravine-like line 25 in the image 1. The portion of the image 1 that is not included in the magnified portion 3, i.e. the portion that is not encompassed by the dotted line, is the unmagnified portion 4. There may be special features in this unmagnified portion 4 of the image 1 such as the elliptical lake-like feature 5 and the j agged cloud-like feature 6.
The user may define the size of the magnification window 7. Alternatively, the user may specify the degree of magnification of the magnified portion 3. When the size of the magnified portion 3 and the degree of magnification are defined, the size of the magnification window 7 may be calculated. The magnification window 7 is larger than the magnified portion 3 of the image 1. The portion of the magnification window 7 excluding the magnified portion 3 of the image 1 will be a hidden region 8. This hidden region 8, and features within this hidden region 8, such as part of the cloud-like feature 6, will be obscured by a magnification window of the selected size 7.
As shown in FIG. 2, the system presents a magnified version 9 of the magnified portion 3 of the image 1 according to the selected magnification 7 in a magnification window 10. The magnification window 10 is superimposed on the original window 2 and centered on the magnified portion 3 of the image 1. The magnification window 10 obscures the magnified portion 3 of the image 1 and the hidden area 8 of the image 1, including part of the cloud-like feature 6. Furthermore, because part 8 of the unmagnified portion 4 of the image 1 is hidden, the magnified version 9 of the magnified portion 3 of the image 1 does not align smoothly with the visible part 11 of the unmagnified portion 4. In particular, the line that indicated three mountain-like peaks in the image 1 is broken at the boundary of the magnification window 10 and the visible part 11 of the unmagnified portion 4.
The magnified version 9 of the magnified portion 3 of the image 1 will reveal features such as the ravine-like line 25 that were, obvious in image 1 and may reveal small-scale features such as the triangular shape 12 that were not obvious in image 1. Furthermore,
although only part 11 of the unmagnified portion 4 of the image 1 is visible in FIG. 2, the relationship between the magnified version 9 of the magnified portion 3 and the unmagnified portion 4 of the image 1 is readily inferred from the position of the magnification window 10. Thus, because the magnification window 8 is superimposed and centered on the magnified portion 3 of the image 1, the user maintains the visual context for the magnified version 9. As shown in FIG. 3, the user may apply modifications to the magnified version 9 of the portion 3 of the image 1 that is shown in the magnification window 10. The user may modify the magnified version 9 by changing pixels so that a feature such as the ravine-like line 25 no longer exists. The user also may modify the magnified version 9 by changing pixels to add features. For example, the user may add a feature such as the word "ADOBE" 13. Such modifications 13 may be responsive to small-scale features, such as the triangular shape 12, that were made obvious in the magnified version 9 of the magnified portion 3 of the image 1 by the magnification of the portion 3 of image 1. Here, the upper portion of the letter "A" of "ADOBE" is aligned with the triangular shape 12. Modifications also may be responsive to special features in the unmagnified and visible portion 11 of the image 1. Here, the user has modified the magnified version 9 by adding a lake-like ellipse 14 that is similar to the lake-like ellipse 5 in the unmagnified and visible portion 11 of the image 1.
As shown in FIG. 4, the modifications that the user made to the magnified version 9 of the image 1 in the magnification window 11 , including changes to pixels that removed features such as the ravine-like line 25 and changes that added features such as the word "ADOBE" 13 and the lake-like ellipse 14, are applied as modifications 15 to the image 1. The modifications 15 to the image 1 are made by changing the pixels that correspond to the pixels that were changed in the magnified version 9 of the image 1.
In another implementation, the present invention allows the user of a computer to create a magnified version of a portion of an image which is centered over the magnified portion of the image, change the portion of the image that is magnified by changing the location of the magnified version, and apply modifications to the unmagnified portions of the image shown in the changing magnified version. In this implementation, the modification that is made to each portion of the image may remain the same, but the portion that is magnified changes. Thus, the user may apply modifications to the image by tracing a feature
that is revealed in the magnified version and consistently changing, for example, the pixels at the center of the magnified portion.
In yet another implementation, the present invention allows the user of a computer to create a magnified version of a portion of an image, with the magnified version smaller than the image but not superimposed upon it. In this implementation, the context for the magnified version of the image is provided by examining visual cues applied to the image and by allowing the user to change the portion of the image that is shown in the magnified version.
As shown in FIG. 5, the magnified portion 3 of the image 1 is delimited by a dotted line 16. This portion 3 of the image includes one of the three mountain-like peaks and a ravine-like line 25. The system presents a magnified version 9 of the magnified portion 3 of the image 1 in a magnification window 17. In this case, the magnification window 17 is adjacent to the original window 2. The location of the magnified version 9 shown in the magnification window 17 is clearly and continuously indicated by the dotted line 16. As shown in FIG. 6, the user can change the portion of the image 1 that is shown in the magnification window 17. Here, the user has selected another portion 19 of the image 1, which is above and overlaps the portion 3 of the image that previously shown in the magnification window 17. The magnified version 20 of the magnified portion 19 of the image 1 now appears in the magnification window 17, showing a magnified portion 21 of the cloud-like feature 6 that was previously in the unmagnified portion 4 of the image 1.
The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented
programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non- volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto- optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the invention can be implemented on a computer system having a display device such as a monitor or LCD screen for displaying information to the user and a keyboard and pointing device such as a mouse or a trackball by which the user can provide input to the computer system. The computer system can be programmed to provide a graphical user interface through which computer programs interact with users.
The invention has been described in terms of particular embodiments. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims.