Increasing information resulting from apodization
By expanding the initial hologram and applying an apodization filter to the extended portion, the system effectively reduces artifacts and enhances information retrieval in hologram reconstruction, addressing the limitations of existing techniques.
Patent Information
- Application Number
- JP2024198686
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-15
- Filing Date
- 2024-11-14
- Publication Date
- 2025-05-27
AI Technical Summary
Existing apodization techniques for hologram reconstruction suffer from signal loss and artifacts such as Gibbs phenomenon, particularly at the edges of the object image, leading to reduced information retrieval and image quality.
The proposed system generates an extended hologram by expanding the initial hologram at its boundary and applies an apodization filter specifically to the extended portion, thereby reducing artifacts and enhancing information retrieval during image reconstruction.
This approach significantly reduces artifacts such as ringing and ghost artifacts, leading to improved image reconstruction with increased information retention and reduced signal loss compared to traditional methods.
Smart Images

Figure 2025081273000001_ABST
Abstract
Description
Technical Field
[0001] This application relates to an increase in information obtained from apodization.
Background Art
[0002] Scientific instruments for use in materials analysis can be useful for determining the composition and properties of unknown compositions. In one or more examples, a scientific instrument can provide a reconstruction in an energy-based hologram to better view the characteristics of an unknown composition.
Brief Description of the Drawings
[0003] Embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings. For ease of explanation, like reference numerals denote like structural elements. Embodiments are shown in the figures of the accompanying drawings by way of example and not as a limitation.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8A
Figure 8B
Figure 8C
Figure 8D
Figure 8E
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
[0004] The following presents a summary to provide a basic understanding of one or more embodiments described herein. This summary is not intended to identify key or critical elements, nor to delineate the scope of any particular embodiment or the scope of the claims. Its sole purpose is to present concepts in a simplified form as a prelude to the more detailed description that is presented later. In one or more embodiments, a system, computer-implemented method, apparatus, and / or computer program product described herein can provide a process for generating and / or applying an apodization filter to achieve image reconstruction based on a hologram obtained from a hologram process such as an electron beam energy hologram process (e.g., from the application of an energy source to a target composition).
[0005] According to one embodiment, a system can include a memory storing computer-executable components and a processor executing the computer-executable components. The computer-executable components can include an acquisition component that acquires a signal of an energy-based initial hologram, an expansion component that expands the initial hologram at a boundary of the initial hologram to result in an expanded hologram having an expansion portion at the boundary, and a filter application component that applies an apodization filter based on the expanded hologram to overlap the expansion portion of the expanded hologram.
[0006] According to another embodiment, a computer-implemented method can include obtaining, by a system operably coupled to a processor, a signal of an energy-based initial hologram; expanding, by the system, the initial hologram at a boundary of the initial hologram to result in an expanded hologram having an expansion portion at the boundary; and applying, based on the expanded hologram, an apodization filter to overlap the expansion portion of the expanded hologram.
[0007] According to yet another embodiment, a computer program product facilitates a process for apodization of a hologram, the program instructions being executable by a processor to cause the processor to obtain, by the processor, a signal of an energy-based initial hologram, expand, by the processor, the initial hologram at a boundary of the initial hologram to result in an expanded hologram having an expansion portion at the boundary, and apply, based on the expanded hologram, an apodization filter by the processor to overlap the expansion portion of the expanded hologram.
[0008] One or more embodiments disclosed herein can achieve improved performance over existing approaches. For example, based on the application of an apodization filter to an extended portion of an extended hologram outside (e.g., outer) the internal region of an initial hologram resulting from an acquired signal, reduction of artifacts in the reconstruction of an object image from the extended hologram can be provided. That is, the use of the apodization filter in the extended portion can enable artifacts from the initial hologram (e.g., internal region) to propagate to the extended portion rather than being reflected from the boundary of the initial hologram back into the internal region. Accordingly, the edges of the object image corresponding to the initial hologram (internal region) can be reconstructed with a reduced presence of artifacts compared to the use of existing frameworks. That is, the use of the apodization filter described herein can result in a reduction of signal loss (e.g., with respect to the signal defining the initial hologram).
[0009] In one or more embodiments described herein, in addition to the use of an apodization filter, the use of blurring to an initial hologram region (e.g., the internal region of an extended hologram) can result in a reduction of ringing-type artifacts in the object image when reconstructing the object image from the extended and apodized hologram.
[0010] Furthermore, one or more embodiments described herein can beneficially provide focus / direction for a plurality of targets, at least partially in parallel with each other. For example, holograms from two or more targets acted upon by two or more different energy sources can be apodized at least partially in parallel with each other.
[0011] Furthermore, the embodiments described herein can be adapted to operate with non-square detectors, detectors having broken pixels, combined holograms (e.g., holograms resulting from holograms taken for shifted sampling or holograms having limited or patchy illumination). DETAILED DESCRIPTION OF THE INVENTION
[0012] The following detailed description is merely exemplary and is not intended to limit the embodiments and / or the application or use of the embodiments. Furthermore, there is no intention to be bound by the expressions or implications presented or suggested in the foregoing summary section of the invention or the section of the detailed description of the invention. Now, one or more embodiments will be described with reference to the drawings, in which the same reference numerals are used throughout to indicate the same elements. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. However, it is clear that in various cases, one or more embodiments may be practiced without these specific details.
[0013] Various operations may be described in sequence as a plurality of separate actions or operations to best aid in understanding the subject matter disclosed herein. However, the order of description should not be construed as suggesting that these operations necessarily depend on order. In particular, these operations may be performed in a different order than presented. The operations described may be performed in a different order than the embodiments described. Various additional operations may be performed, and / or the operations described may be omitted in additional embodiments.
[0014] Referring now to the subject matter of materials analysis and to one or more embodiments described herein, one way to obtain an image of a composition is that the target composition is targeted by an energy source and ultimately results in a signal that can be employed for generating an energy-based hologram such as an in-line electron hologram or for in-line holography by other waves and particles such as light (EM waves), sound (pressure waves), and / or neutron and / or proton waves (matter waves). That is, the embodiments described herein are applicable to different types of holograms, including in-line holograms, electron energy holograms, and / or other types of holograms.
[0015] From the hologram, a reconstructed image of the target composition can be reconstructed. Reconstruction can use, among other methods, backpropagation. That is, reconstruction in a hologram such as a low-energy electron hologram (LEEH) can use wave propagation techniques of Fourier optics. The hologram is measured by a detector having a finite number (e.g., 512×512) of pixels. To avoid the Gibbs phenomenon (ringing of sharp transitions / step functions in wave propagation), some kind of apodization can often be used. Apodization can be performed by placing a window that spatially smoothes the detected signal gradually to zero (or the average value). This form of apodization is superimposed on the hologram and thus necessarily discards information within the detected hologram.
[0016] As used herein, apodization refers to techniques used in various fields, including optics, signal processing, and spectroscopy, to modify the shape and / or intensity profile of a waveform or signal. For example, in relation to spectroscopy, apodization can be used to modify the shape of one or more spectral lines in a spectrum. By applying an apodization function to the data prior to Fourier transform, the resolution and accuracy of spectroscopic measurements can be improved.
[0017] In another example, in connection with signal processing, apodization can be used to modify or shape the frequency response of a signal. Using a window function such as a filter as used herein, the edges of the signal can be tapered to reduce spectral leakage in Fourier analysis. This apodization can improve the accuracy of spectral analysis and reduce unwanted side lobes in the frequency domain.
[0018] Using in-line holography, the highest resolution information can be recorded at the farthest points off-axis (e.g., the outermost points at the edge of the hologram). In other words, the broadest scattered information from the object can retain the highest resolution information. This can make the choice of apodization particularly important in order to retain as much information as possible during reconstruction. As used herein, the term "off-axis" refers to being spaced apart from the central axis of the beam including the reference wave.
[0019] One existing apodization approach could be to use a circular apodization filter generated using a cosine profile. However, the information contained in the corners and outer edges of the hologram can also include a portion of the signal from the target composition. Thus, when using a detector on the hologram, such information from the corners or outer edges is not retained and / or reconstructed.
[0020] To account for one or more incapabilities and / or deficiencies of existing frameworks (e.g., existing apodization frameworks), one or more embodiments are described herein in which a proprietary apodization framework can be used to achieve high information collection from signals resulting from the application of energy flow to a target composition. The apodization framework can include modification of the hologram, such as by extrapolation to yield an extended hologram, and application of a shaping apodization filter during hologram detection.
[0021] The modification of the hologram can include the generation and use of an extended hologram. That is, the extended portion of the hologram can be generated to bound at least a portion of the initial hologram formed from the application of an energy flow to the target composition.
[0022] Next, in connection with the detection of the extended hologram (e.g., the detection of the signal defining the extended hologram), an apodization filter can be applied to at least the extended portion of the hologram.
[0023] As a result, a desirable increase in the information obtained from the image reconstructed from the extended hologram can be obtained as compared to existing apodization frameworks. This increase in information can be due, at least in part, to the reduction of artifacts such as Gibbs phenomena (e.g., ringing artifacts) that can be generated during hologram generation and / or reconstruction.
[0024] Next, the discussion turns to a general discussion of one or more scientific instrument systems, and related methods, computing devices, and computer-readable media disclosed herein. For example, in one or more embodiments, the system can include a memory storing computer-executable components and a processor executing the computer-executable components stored in the memory. The computer-executable components can include an acquisition component that acquires an energy-based hologram signal, an extension component that extends at least a portion of the initial hologram, and a filter application component that applies an apodization filter to at least the extended portion of the extended hologram based on the extended hologram.
[0025] One or more embodiments disclosed herein can achieve improved performance over existing approaches. For example, based on the application of an apodization filter from an internal portion resulting from an acquired signal to an extended portion of a hologram that is external (e.g., outer), it is possible to provide a reduction in artifacts (e.g., ghost artifacts and / or wave artifacts) associated with the reconstruction of an object image from the hologram. That is, the use of the apodization filter in the extended portion can enable an increase in the information used to generate the reconstructed object image.
[0026] Furthermore, one embodiment described herein can beneficially provide focus / direction for a plurality of targets, at least partially in parallel with each other. For example, holograms from two or more targets acted upon by two or more different energy sources can be smoothed at least partially in parallel with each other.
[0027] Furthermore, embodiments described herein can be adapted to operate with non-square detectors, detectors having broken pixels, combined holograms (e.g., resulting from holograms taken for shifted sampling and / or holograms having limited or patchy illumination).
[0028] Therefore, embodiments disclosed herein can provide improvements to scientific instrument technology (e.g., improvements in computer technology that supports such scientific instruments in particular), which can be employed in various fields including, but not limited to, optics, signal processing, spectroscopy, and nuclear magnetic resonance (NMR).
[0029] The various embodiments disclosed herein can improve upon existing techniques to achieve the technical advantages of high information reconstruction and / or low artifact generation in such reconstruction. That is, the use of the apodization framework provided herein can significantly reduce artifact generation at the edge positions of the object image reconstructed based on the initial hologram. Additionally, the use of blurring of one or more aspects of the initial hologram can result in a reduction of artifacts such as ringing artifacts in the interior portion of the resulting reconstructed object image.
[0030] As used herein, the term "object image" can refer to any image of any one or more objects, backgrounds, environments, targets, materials, and / or the like.
[0031] Such technical advantages cannot be achieved with routine and / or existing approaches, and all user entities of a system including such embodiments can benefit from these advantages (e.g., by assisting the user entity in performing technical tasks such as, for example, the identification of one or more target compositions by image reconstruction using the apodization framework discussed herein).
[0032] Accordingly, the technical features of the embodiments disclosed herein (e.g., hologram modification, and subsequent filtering and / or apodization processes applied to the modified hologram) are clearly non-conventional in the field of materials analysis, in addition to the fields of optics, signal processing, spectroscopy, and / or NMR, although not limited to the combinations of features of the embodiments disclosed herein.
[0033] As further discussed herein, various aspects of the embodiments disclosed herein can improve the functionality of the computer itself. That is, the computing and user interface features disclosed herein do not merely involve the collection and comparison of information, but instead apply new analytical techniques and technical skills for altering the operation of computer analysis of material compounds. For example, based on signals obtained from energy flows that interact with a target composition, an extended hologram can be generated upon receiving apodization filtering as defined herein. Based at least on these processes, subsequent computer-directed processes of image reconstruction can be made easier and more efficient through reduction of the generation of artifacts such as the Gibbs phenomenon during image reconstruction, which reduction is the result of the preceding computer-directed processes of hologram modification and apodization. Thus, the non-limiting systems described herein, including a material analysis system, can be self-improving.
[0034] Accordingly, the present disclosure introduces functions that neither existing computing devices nor humans can perform. Rather, in such existing computing devices, instead, Gibbs phenomenon generation is maintained in the unfiltered boundary areas of the initial hologram, such that, as a result, signals corresponding to those areas of the initial hologram are lost or degraded (e.g., data therefor is lost). Considering the associated time, energy, and / or data loss, it is not practical to operate within the scope of existing techniques.
[0035] Accordingly, embodiments of the present disclosure may serve various technical purposes as follows: controlling a particular technical system or process, determining a method of controlling a machine from measured values, enhancing or analyzing digital audio, images, or video, separating material sources in a mixed signal, generating data for reliable and / or efficient transmission or storage, providing estimated values and confidence intervals for material samples, or providing faster processing of sensor data. In particular, the present disclosure provides technical solutions to technical problems, including but not limited to: faster, more complete, and / or more efficient processing of material samples through hologram modification, apodization filter generation, apodization filter application, and / or subsequent image reconstruction.
[0036] Accordingly, the embodiments disclosed herein provide improvements in material analysis techniques (e.g., improvements in computer technology that support material analysis among other improvements).
[0037] As used herein, the phrase "based on" should be understood to mean "at least partially based on" unless otherwise specified.
[0038] As used herein, the term "component" can refer to atomic elements, molecular elements, phases of atomic or molecular elements, or combinations thereof.
[0039] As used herein, the term "data" can include metadata.
[0040] As used herein, the terms "entity", "claim entity", and "user entity" can refer to machines, devices, components, hardware, software, smart devices, stakeholders, organizations, individuals, and / or humans.
[0041] Hereinafter, one or more embodiments will be described with reference to the drawings, where the same reference numerals are used throughout to indicate the same drawing elements. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more embodiments. However, it will be apparent that in various instances, one or more embodiments may be practiced without these specific details.
[0042] Furthermore, the embodiments shown in one or more of the figures described herein are for illustrative purposes only, and thus, the architecture of the embodiments is not limited to the systems, devices, and / or components shown herein, nor is it limited to any particular order, connection, and / or combination of the systems, devices, and / or components shown herein.
[0043] Now, referring particularly to one or more of the figures, first to FIG. 1, a block diagram of a scientific instrument module 100 for performing a material analysis operation using an apodization technique according to various embodiments described herein is shown. The scientific instrument module 100 can be implemented by circuitry such as a programmed computing device (e.g., including electrical and / or optical components). The logic of the scientific instrument module 100 can be included in a single computing device or distributed across multiple computing devices that communicate with each other as needed. Examples of computing devices that can implement the scientific instrument module 100, alone or in combination, are described herein with reference to the computing device 400 of FIG. 4, and further, an example of a system of interconnected computing devices in which the scientific instrument module 100 can be implemented across one or more of the computing devices is described herein with reference to the scientific instrument system 1300 of FIG. 13.
[0044] The scientific instrument module 100 can include a first logic 102, a second logic 104, a third logic 106, a fourth logic 108, and a fifth logic 110. As used herein, the term "logic" can include an apparatus that executes a set of operations associated with the logic. For example, any of the logic elements included in module 100 can be implemented by one or more computing devices programmed with instructions to perform a set of associated operations on one or more processing devices of the computing device. In certain embodiments, the logic element can include one or more non-transitory computer-readable media having instructions that, when executed by one or more processing devices of one or more computing devices, cause the one or more computing devices to perform a set of associated operations. As used herein, the term "module" can refer to a collection of one or more logic elements that together perform functions associated with the module. Different ones of the logic elements within a module can take the same form or different forms. For example, some of the logic within a module can be implemented by a programmed general-purpose processing device, and other logic within the module can be implemented by an application-specific integrated circuit (ASIC). In another example, different ones of the logic elements within a module can be associated with different sets of instructions executed by one or more processing devices. A module can omit one or more of the logic elements illustrated in the associated drawings. For example, a module can include a subset of the logic elements shown in the associated drawings when the module performs a subset of the operations discussed herein with reference to that module.
[0045] The first logic 102 can receive, discover, locate, and / or otherwise obtain a signal corresponding to an energy-based hologram (e.g., resulting from an electronic input to a target composition). That is, the first logic 102 can obtain data for use in generating a reconstructed image of a target, such as a target composition.
[0046] The second logic 104 can generate an extended hologram based on an initial hologram (e.g., an energy-based hologram). That is, the second logic 104 can generate an extended portion beyond the boundary of the initial hologram.
[0047] The third logic 106 can generate an apodization filter for use in filtering the extended hologram, and can apply the apodization filter to at least the extended portion of the extended hologram. That is, the third logic 106 can generate and apply an apodization filter based on the signal obtained by the first logic 102 and based on the extended hologram generated by the second logic 104.
[0048] The fourth logic 108 can blur one or more internal portions of the extended hologram generated by the second logic 104 (e.g., the portion corresponding to the initial hologram that is the non-extended portion). That is, the fourth logic 108 can apply a filter before the reconstruction of the image.
[0049] The fifth logic 110 can execute the reconstruction of the target image based on the correction signal output from the result of the use of the apodization filter and / or the use of blurring by the third logic 106 and the fourth logic 108, respectively.
[0050] Figure 2 shows a flowchart of a method 200 for performing operations by a scientific instrument module 100 according to various embodiments. The operations of method 200 can be described with reference to specific embodiments disclosed herein (e.g., the scientific instrument module 100 described herein with reference to FIG. 1, the GUI 300 described herein with reference to FIG. 3, the computing device 400 described herein with reference to FIG. 4, and / or the scientific instrument system 1300 described herein with reference to FIG. 13), but method 200 can be used in any suitable configuration to perform any suitable operations. The operations are illustrated in a specific order, each once in FIG. 2, but these operations can be appropriately reordered and / or repeated as desired (e.g., different operations being performed in parallel as appropriate).
[0051] At 202, a first operation can be performed. For example, the first logic 102 of module 100 can perform the first operation 202. The first operation 202 can include obtaining a signal corresponding to an energy-based hologram (e.g., resulting from an electronic input to a target composition).
[0052] At 204, a second operation can be performed. For example, the second logic 104 of module 100 can perform the second operation 204. The second operation 204 can include generating an extended hologram based on an initial hologram (e.g., expanding the initial hologram to the extended hologram).
[0053] At 206, a third operation can be performed. For example, the third logic 106 of module 100 can perform the third operation 206. The third operation 206 can include generating an apodization filter for use in filtering the extended hologram and applying the apodization filter to at least an extended portion of the extended hologram.
[0054] At 208, a fourth operation may be performed. For example, the fourth logic 108 of module 100 can perform the fourth operation 208. The fourth operation 208 can include blurring an inner portion of the extended hologram, which corresponds to the initial hologram.
[0055] At 210, a fifth operation may be performed. For example, the fifth logic 110 of module 100 can perform the fifth operation 210. The fifth operation 210 can include performing a reconstruction of the object image based at least on the third logic 106, but can also be based on the fourth logic 108. That is, the fifth operation 210 can include reconstructing an image of a target (e.g., target 550).
[0056] The methods of the scientific instruments disclosed herein can include interactions with a user entity (e.g., via the user local computing device 1320 described herein with reference to FIG. 13). These interactions can include providing information to the user entity (e.g., information regarding the operation of a scientific instrument such as the scientific instrument 1310 of FIG. 13, a sample being analyzed, or other tests or measurements performed by the scientific instrument, information obtained from a local or remote database, or other information), or providing the option for the user entity to input commands (e.g., to control the operation of a scientific instrument such as the scientific instrument 1310 of FIG. 13, or to control the analysis of data generated by the scientific instrument), queries (e.g., for a local or remote database), or other information. In some embodiments, these interactions can be performed through a graphical user interface (GUI) that includes a visual display on a display device (e.g., the display device 410 described herein with reference to FIG. 4) that provides an output to the user entity and / or prompts the user entity to provide an input (e.g., via one or more input devices including a keyboard, mouse, trackpad, or touch screen included in other I / O devices 412 described herein with reference to FIG. 4). The scientific instrument system 1300 disclosed herein can include any suitable GUI for interaction with a user entity.
[0057] Next, referring to FIG. 3, an exemplary GUI 300 is shown that can be used in the execution of one or more of the methods described herein according to various embodiments described herein. As described above, the GUI 300 can be provided on a display device (e.g., the display device 410 described herein with reference to FIG. 4) of a computing device (e.g., the computing device 400 described herein with reference to FIG. 4) of a scientific instrument system (e.g., the scientific instrument system 1300 described herein with reference to FIG. 13), and a user entity can use any suitable input device (e.g., any of the input devices included in the other I / O device 412 described herein with reference to FIG. 4) and input technologies (e.g., cursor movement, motion capture, face recognition, gesture detection, voice recognition, button activation, etc.) to interact with the GUI 300.
[0058] The GUI 300 can include a data display area 302, a data analysis area 304, a scientific instrument control area 306, and a settings area 308. The specific number and arrangement of the areas shown in FIG. 3 are merely exemplary, and any number and arrangement of areas including any desired features can be included in the GUI 300.
[0059] The data display area 302 can display data generated by a scientific instrument (e.g., the scientific instrument 1310 described herein with reference to FIG. 13). For example, the data display area 302 can display one or more output results that can include, but are not limited to, text, graphs, charts, matrices, and / or spectra.
[0060] The data analysis area 304 can display the results of data analysis (for example, the results of analyzing the data shown in the data display area 302 and / or other data). For example, the data analysis area 304 can display one or more of the output results. In the case of one or more, the data analysis area 304 can display a list, flowchart, or other schematic diagram of the acquisition actions taken and / or recommended for the experiment. In one or more embodiments, the data display area 302 and the data analysis area 304 can be combined in the GUI 300 (for example, to include data output from a scientific instrument and some analysis of the data in a common graph or area).
[0061] The scientific instrument control area 306 can include options that enable a user entity to control a scientific instrument (for example, the scientific instrument 1310 described herein with reference to FIG. 13). For example, the scientific instrument control area 306 can include one or more controls for entering one or more measurement criteria of interest.
[0062] The settings area 308 can include options (for example, saving data on a storage device such as the storage device 404 described herein with reference to FIG. 4, sending data to another user entity, labeling data, etc.) that enable a user entity to control the features and functions of the GUI 300 (and / or other GUIs) and / or perform common computing operations related to the data display area 302 and the data analysis area 304. For example, the settings area 308 can include one or more options for changing the color, fill, or format of a figure such as the figure in FIG. 8 or FIG. 9.
[0063] As described above, the scientific instrument module 100 can be implemented by one or more computing devices. Thus, referring next to FIG. 4, FIG. 4 shows a block diagram of a computing device 400 that can execute some or all of the scientific instrument methods disclosed herein according to various embodiments. In one or more embodiments, the scientific instrument module 100 can be implemented by a single computing device 400 or by a plurality of computing devices 400. Further, as described below, the computing device 400 (or plurality of computing devices 400) implementing the scientific instrument module 100 can be part of one or more of the scientific instrument 1310, user local computing device 1320, service local computing device 1330, or remote computing device 1340 of FIG. 13.
[0064] The computing device 400 of FIG. 4 is illustrated as having several components, but any one or more of these components may be omitted or provided in plurality as suitable for the application and settings. As shown, these components can include one or more of a processor 402, a storage device 404, an interface device 406, a battery / power circuit 408, a display device 410, and other input / output (I / O) devices 412, as described below.
[0065] In one or more embodiments, one or more of the components included in computing device 400 may be attached to one or more motherboards, but may also be housed within a housing (e.g., including plastic, metal, and / or other materials). In one or more embodiments, some of these components can be manufactured on a single system-on-chip (SoC) (e.g., the SoC may include one or more processors 402 and one or more storage devices 404). Additionally, in one or more embodiments, computing device 400 can omit one or more of the components shown in FIG. 4. In one or more embodiments, computing device 400 may include an interface circuit (not shown) for coupling to one or more components using any suitable interface (e.g., Universal Serial Bus (USB) interface, High-Definition Multimedia Interface (HDMI (registered trademark)) interface, Controller Area Network (CAN) interface, Serial Peripheral Interface (SPI) interface, Ethernet interface, wireless interface, or any other suitable interface). For example, computing device 400 may omit display device 410, but may include a display device interface circuit (e.g., a connector and driver circuit) that enables coupling of display device 410.
[0066] The computing device 400 may include a processor 402 (e.g., one or more processing devices). As used herein, the term "processing device" may refer to any device or portion of a device that processes electronic data from registers and / or memory and converts that electronic data into other electronic data that may be stored in registers and / or memory. The processor 402 may include one or more digital signal processors (DSPs), application specific integrated circuits (ASICs), central processing units (CPUs), graphics processing units (GPUs), cryptographic processors (dedicated processors that execute cryptographic algorithms in hardware), server processors, or any other suitable processing device.
[0067] The computing device 400 may include a storage device 404 (e.g., one or more storage devices). The storage device 404 may include one or more memory devices such as random access memory (RAM) (e.g., static RAM (SRAM) devices, magnetic RAM (MRAM) devices, dynamic RAM (DRAM) devices, resistive RAM (RRAM) devices, or conductive bridge RAM (CBRAM) devices), hard drive-based memory devices, solid state memory devices, network drives, cloud drives, or any combination of memory devices. In one or more embodiments, the storage device 404 may include memory that shares a die with the processor 402. In such embodiments, the memory may be used as cache memory and may include, for example, embedded dynamic random access memory (eDRAM), or spin transfer torque magnetic random access memory (STT-MRAM). In one or more embodiments, the storage device 404 may include a non-transitory computer-readable medium having instructions that, when executed by one or more processing devices (e.g., the processor 402), cause the computing device 400 to perform any suitable one or more of the methods disclosed herein.
[0068] Computing device 400 may include interface device 406 (e.g., one or more interface devices 406). Interface device 406 may include one or more communication chips, connectors, and / or other hardware and software to manage communication between computing device 400 and other computing devices. For example, interface device 406 may include circuitry to manage wireless communication for transferring data between computing device 400. The term "wireless" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communication channels, etc. that can communicate data through the use of electromagnetic radiation modulated through a non-solid medium. This term does not mean that the associated device does not include any wiring, but in one or more embodiments, the associated device may not include any wiring. The circuitry included in interface device 406 for managing wireless communication can implement any of several wireless standards or protocols, including but not limited to Wi-Fi (IEEE 802.11 family), Institute for Electrical and Electronic Engineers (IEEE) standards including the IEEE 802.16 standard (e.g., IEEE 802.16-2005 Amendment), Long Term Evolution (LTE) projects with any modifications, updates, and / or revisions (e.g., Advanced LTE project, Ultra Mobile Broadband (UMB) project (also referred to as "3GPP (registered trademark) 2"), etc.). In one or more embodiments, the circuitry included in interface device 406 for managing wireless communication may operate according to Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Evolved HSPA (E-HSPA), or an LTE network.In one or more embodiments, the circuitry included in the interface device 406 for managing wireless communications may operate in accordance with GSM Enhanced Data rates for GSM Evolution (EDGE), GSM EDGE Radio Access Network (GERAN), Universal Terrestrial Radio Access Network (UTRAN), or Evolved UTRAN (E-UTRAN). In one or more embodiments, the circuitry included in the interface device 406 for managing wireless communications may operate in accordance with Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Digital Enhanced Cordless Telecommunications (DECT), Evolution-Data Optimized (EV-DO), and derivatives thereof, as well as any other wireless protocol designated as 3G, 4G, 5G, and beyond. In one or more embodiments, the interface device 406 may include one or more antennas (e.g., one or more antenna arrays) for receiving and / or transmitting wireless communications.
[0069] In one or more embodiments, the interface device 406 may include circuitry for managing wired communications, such as electrical, optical, or any other suitable communication protocol. For example, the interface device 406 may include circuitry for supporting communications in accordance with Ethernet technology. In one or more embodiments, the interface device 406 may support both wireless and wired communications, and / or may support multiple wired communication protocols and / or multiple wireless communication protocols. For example, a first set of circuitry of the interface device 406 may be dedicated to short-range wireless communications such as Wi-Fi or Bluetooth, and a second set of circuitry of the interface device 406 may be dedicated to long-range wireless communications such as Global Positioning System (GPS), EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO. In one or more embodiments, a first set of circuitry of the interface device 406 may be dedicated to wireless communications, while a second set of circuitry of the interface device 406 may be dedicated to wired communications.
[0070] Computing device 400 may include a battery / power circuit 408. The battery / power circuit 408 may include one or more energy storage devices (e.g., a battery or a capacitor), and / or a circuit for coupling components of the computing device 400 to an energy source separate from the computing device 400 (e.g., AC line power).
[0071] Computing device 400 may include a display device 410 (e.g., multiple display devices). The display device 410 may include any visual indicator such as a heads-up display, a computer monitor, a projector, a touch screen display, a liquid crystal display (LCD), a light emitting diode display, or a flat panel display.
[0072] Computing device 400 may include other input / output (I / O) devices 412. The other I / O devices 412 may include, for example, one or more audio output devices (e.g., speakers, headsets, earphones, alarms, etc.), one or more audio input devices (e.g., microphones or microphone arrays), a position device (e.g., a GPS device that communicates with a satellite-based system to receive the position of the computing device 400 as known in the art), an audio codec, a video codec, a printer, sensors (e.g., a thermocouple or other temperature sensor, a humidity sensor, a pressure sensor, a vibration sensor, an accelerometer, a gyroscope, etc.), an image capture device such as a camera, a keyboard, a cursor control device (such as a mouse, a stylus, a trackball, or a touchpad), a barcode reader, a quick response (QR) code reader, or a radio frequency identification (RFID) reader.
[0073] Computing device 400 may have any suitable form factor for such uses and settings, such as a handheld or mobile computing device (e.g., a cellular phone, smartphone, mobile Internet device, tablet computer, laptop computer, netbook computer, ultrabook computer, personal digital assistant (PDA), ultra-mobile personal computer, etc.), a desktop computing device or a server computing device, or other network computing components.
[0074] Referring now to FIGS. 5 and 6, in one or more embodiments, the non-limiting systems 500 and / or 600 shown in FIGS. 5 and 6, and / or those systems, may further comprise one or more computers and / or computing-based elements, as described herein with reference to a computing environment such as computing environment 1500 shown in FIG. 15. In one or more of the described embodiments, the computer and / or computing-based elements can be used in connection with implementing one or more of the systems, devices, components, and / or computer-implemented operations illustrated and / or described in connection with FIGS. 5 and / or 6 and / or other figures described herein.
[0075] Referring first to FIG. 5, it shows a block diagram of an exemplary non-limiting system 500 that can comprise a material analysis system 502 and an electron beam application device 546. The material analysis system 502 can facilitate a process of generating a reconstructed image based on a signal 555 based on the output from the electron beam application device 546. The non-limiting system 500 can be used in connection with a holographic system such as an in-line electron beam or laser holography system.
[0076] In one or more embodiments, the material analysis system 502 can be at least partially configured by the computing device 400.
[0077] In one or more embodiments, the material analysis system 502 can at least partially include an energy application device 546.
[0078] Note that the material analysis system 502 is merely briefly described in order to provide an introduction to a more complex and / or more extensive material analysis system 602, as shown in FIG. 6. That is, further details regarding the processes that can be performed by one or more of the embodiments described herein are provided below in connection with the non-limiting system 600 of FIG. 6.
[0079] Referring further to FIG. 5, the material analysis system 502 can include at least a memory 504, a bus 505, a processor 506, an acquisition component 510, an expansion component 512, and a filter application component 516. The processor 506 may be the same as, included in, or different from the processor 402. The memory 504 may be the same as, included in, or different from the storage device 404.
[0080] Using the components described above, the material analysis system 502 can facilitate a process of generating and applying an apodization filter 554 to an energy-based hologram 553 (a hologram based on the initial hologram 552), resulting in a modified signal 555 that can be used to generate a reconstructed image 558.
[0081] Generally, the acquisition component 510 can acquire data regarding the target composition 550 (e.g., signal 551), particularly data based on the application of the energy source 548 of the electron beam application device 546 to the target 550. The signal 551 can define an energy-based hologram 552 and / or can be used by the energy application device 546 and / or the material analysis system 502, etc. to generate the hologram 552. In one or more embodiments, the energy application device 546 can apply electrons such as an electron beam to the target 550.
[0082] Based on the signal 551, the expansion component 512 can generally expand the initial hologram 552 at the boundary of the initial hologram 552. This can result in a modified hologram such as an expanded hologram 553 having an expansion portion at the boundary. Specifically, the expansion portion can be generated based on the expansion executed and / or at least directed by the expansion component 512.
[0083] Based on the expanded hologram 553 including the expansion portion and the modified signal 555 defining the expanded hologram, the filter application component 516 can generally apply an apodization filter 554 to overlap the expansion portion of the expanded hologram 553.
[0084] As a result of these components, a reconstructed image 558 can be generated based on the expanded hologram 553, and the reconstructed image 558 can include reduced artifacts compared to an image reconstructed by an existing framework. This may be due, at least in part, to an increase in the information of the modified signal 555 that can be used to generate the reconstructed image 558 due to the apodization framework used by the material analysis system 502.
[0085] The acquisition component 510, the extension component 512, and the filter application component 516 can be operably coupled to a processor 506 that can be operably coupled to a memory 504. A bus 505 can provide an operable coupling. The processor 506 can facilitate the execution of the acquisition component 510, the extension component 512, and the filter application component 516. The acquisition component 510, the extension component 512, and the filter application component 516 can be stored in the memory 504.
[0086] In general, the non-limiting system 500 can use any suitable communication method (e.g., electronic, communication, Internet, infrared, fiber, etc.) to provide communication between the material analysis system 502, the electron beam application device 546, and / or any device associated with the user entity.
[0087] Referring now to FIG. 6, a non-limiting system 600 is shown that can include a material analysis system 602 and an electron beam application device 646. Repetitive descriptions of similar elements and / or processes used in each embodiment are omitted for brevity. The description regarding the embodiment of FIG. 5 may be applicable to the embodiment of FIG. 6. Similarly, the description regarding the embodiment of FIG. 6 may be applicable to the embodiment of FIG. 5.
[0088] In general, the material analysis system 602 can facilitate one or more processes for generating and applying an apodization filter 654 to a modified hologram (e.g., the extended hologram 553), resulting in a modified signal 655 that can be used to generate a reconstructed image 658 having reduced artifacts compared to a reconstructed image generated by an existing framework.
[0089] In one or more embodiments, the material analysis system 602 can be at least partially configured by the computing device 400.
[0090] In one or more embodiments, the material analysis system 602 can at least partially comprise an energy application device 646.
[0091] In one or more embodiments, the energy application device 646 can be included by a holographic system such as an in-line electron beam or a laser holography system.
[0092] An energy application device 646, such as an electron beam energy application device 646, can comprise any suitable processor or memory for facilitating one or more processes including, but not limited to, the fixation of the target 650, the application of an energy flow from the energy source 648 to the target 650, the generation of an initial energy-based hologram 652 from an initial signal 651 resulting from the application of the energy flow, and / or the detection of the initial hologram 652.
[0093] One or more communications between one or more components of the non-limiting system 600 can be provided by wired and / or wireless means including, but not limited to, using a cellular network, a wide area network (WAN) (e.g., the Internet), and / or a local area network (LAN). Wired or wireless technologies suitable for supporting the communications include, but are not limited to, Wireless Fidelity (Wi-Fi), Global System for Mobile Communications (GSM) for mobile communications, Universal Mobile Telecommunications System (UMTS), Worldwide Interoperability for Microwave Access (WiMAX), Enhanced General Packet Radio Service (enhanced GPRS), 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE), 3rd Generation Partnership Project 2 (3GPP2) Ultra Mobile Broadband (UMB), High Speed Packet Access (HSPA), Zigbee and other 802.XX wireless technologies and / or legacy telecommunications technologies, BLUETOOTH (R), Session Initiation Protocol (SIP), ZIGBEE (R), RF4CE protocol, WirelessHART protocol, 6LoWPAN (Ipv 6 over Low Power Wireless Area Networks), Z-Wave, Ultra Wide Band (UWB) standard protocol and / or other proprietary and / or non-proprietary communication protocols.
[0094] The materials analysis system 602 can be associated with a cloud computing environment such as the cloud computing environment 1400 of FIG. 14 (e.g., can be accessible via the cloud computing environment).
[0095] The material analysis system 602 can include a plurality of components. The components can include a memory 604, a processor 606, a bus 605, an acquisition component 610, an expansion component 612, a filter generation component 614, a filter application component 616, a blurring component 617, a hologram detection component 618, and / or a reconstruction component 620. Using these components, the material analysis system 602 can output an extended hologram 653, an apodization filter 654, a correction signal 655, and / or a reconstructed image 658.
[0096] Next, the processor 606, memory 604, and bus 605 of the material analysis system 602 will be described. For example, in one or more embodiments, the material analysis system 602 can include a processor 606 (e.g., a computer processing unit, a microprocessor, a classical processor, a quantum processor, and / or a similar processor). In one or more embodiments, the components associated with the material analysis system 602 can include one or more computer and / or machine-readable, writable, and / or executable components and / or instructions described herein, with or without reference to one or more figures of one or more embodiments, but those components and / or instructions can be executed by the processor 606 to provide execution of one or more processes defined by such components and / or instructions. In one or more embodiments, the processor 606 can include an expansion component 612, an acquisition component 610, a filter generation component 614, an acquisition component 610, an expansion component 612, a filter generation component 614, a filter application component 616, a blurring component 617, a hologram detection component 618, and / or a reconstruction component 620.
[0097] In one or more embodiments, the material analysis system 602 can include a computer-readable memory 604 operably connected to a processor 606. The memory 604, when executed by the processor 606, can store computer-executable instructions that cause the processor 606 and / or one or more other components of the material analysis system 602 (e.g., the acquisition component 610, the enhancement component 612, the filter generation component 614, the filter application component 616, the blurring component 617, the hologram detection component 618, and / or the reconstruction component 620) to perform one or more operations. In one or more embodiments, the memory 604 can store computer-executable components (e.g., the acquisition component 610, the enhancement component 612, the filter generation component 614, the filter application component 616, the blurring component 617, the hologram detection component 618, and / or the reconstruction component 620).
[0098] The material analysis system 602 and / or its components described herein can be communicatively, electrically, operably, optically, and / or otherwise coupled to each other via a bus 605. The bus 605 can include one or more of a memory bus, a memory controller, a peripheral bus, an external bus, a local bus, a quantum bus, and / or another type of bus that can employ one or more bus architectures. One or more of these examples of the bus 605 can be used.
[0099] In one or more embodiments, the materials analysis system 602 can be coupled (e.g., communicatively, electrically, operably, optically, and / or in a similar function) to one or more external systems (e.g., an electrical output generation system, one or more output targets, and / or an output target controller, not shown), sources and / or devices (e.g., classical and / or quantum computing devices, communication devices, and / or similar devices), via a network, for example. In one or more embodiments, one or more of the components of the materials analysis system 602 and / or the non-limiting system 600 can reside within the cloud and / or can reside locally (e.g., at a designated location) within a local computing environment.
[0100] In addition to the processor 606 and / or memory 604 described above, the materials analysis system 602 can comprise one or more computer and / or machine-readable, writable, and / or executable components and / or instructions that, when executed by the processor 606, can provide for the execution of one or more operations defined by such components and / or instructions.
[0101] Turning now to additional components of the materials analysis system 602 (e.g., the acquisition component 610, the expansion component 612, the filter generation component 614, the filter application component 616, the blur component 617, the hologram detection component 618, and / or the reconstruction component 620), generally, the materials analysis system 602 can execute a set of processes that can be divided into the following three steps: initial signal acquisition and initial hologram expansion, filter generation, and filter application and image reconstruction. In one or more embodiments, the set of processes can further include internal region buffering prior to image reconstruction.
[0102] First, focusing on initial signal acquisition and initial hologram expansion, details regarding acquisition component 610 and expansion component 612 are provided.
[0103] First, focusing on acquisition component 610, this component can generally acquire signal 651. Signal 651 can emanate from energy application device 646 and / or can be caused by energy application device 646. That is, signal 651 can be the result of the application of an energy flow from energy source 648 to target 650, and the energy source can be an electron energy source that generates an electron beam and / or an electron current. In one or more embodiments, target 650 can be fixed by electron beam application device 646.
[0104] Now once referring to schematic diagram 700 of FIG. 7, based on the acquired signal 651, an initial energy-based hologram 652 can be generated by, for example, energy application device 646 (e.g., by energy source 648) (hologram generation process 704). Initial hologram 652 can generally be observed from the output of energy source 648 at a length l d and target 650 is located at a length l o from the output of energy source 648.
[0105] In FIG. 7, Ω represents forward propagation and Ω -1 represents the reverse propagation of the wave field between the detector and the sample using Fourier optics.
[0106] The initial hologram 652 is reconstructed as an image (e.g., the reconstructed image 658) so as to enable viewing of the information of the signal 651 corresponding to the target 650. However, when using existing apodization techniques, signal loss often occurs, which is undesirable. In fact, when using existing apodization techniques, for example, edge artifacts, ringing artifacts 811 (e.g., caused by the Gibbs phenomenon), ghost artifacts 813, or other artifacts that can be carried over from the initial hologram 652 or generated during the reconstruction process 708, the signal may be lost. Instead, the material analysis system 602 can perform one or more processes that can reduce or even remove these artifacts caused by and / or not reduced / removed by the existing apodization framework. Generally, the material analysis system 602 can add a hologram expansion process, an apodization process, and an optional blurring process before the reconstruction process 708.
[0107] For example, still referring to FIGS. 6 and 7 and also referring to FIG. 8A here, based on the acquired signal 651, the expansion component 612 can expand the initial hologram boundary of the initial hologram 652. The boundary can be an internal boundary or an external boundary. In one or more embodiments, this expansion can be performed on all boundaries 710 of the initial hologram 652. In one or more other embodiments, the expansion can be performed on at least a portion of the boundary 710, such as less than all of the entire boundary 710.
[0108] In one or more embodiments, the boundary where the expansion can be performed can be a boundary other than the outer boundary of the initial hologram 652 when only non-square, patch-shaped, speckled, fragmented, and / or partial initial holograms 652 are generated and / or available, and / or when the initial hologram 652 is an aggregate of a plurality of holograms.
[0109] In one or more embodiments, the initial hologram 652 can include a plurality of holograms joined together, and these holograms can be of different targets 650 or of the same target 650. In one or more embodiments, the detector employed by the non-limiting system 600 can include destructive pixels having a non-square or non-quadrilateral shape, and thus, the boundary of the initial hologram to be expanded is a boundary other than the outer boundary 710 of the initial hologram.
[0110] More specifically, the expansion component 612 can expand the initial hologram 652 by generally adding one or more additional expansion portions to the outer edge 710 of the initial hologram, rather than stretching the image of the initial hologram 652.
[0111] For example, the initial hologram 652 can be expanded in a plurality of directions by copying the pixels of the boundary 710 of the initial hologram 652 to construct an expansion portion such as the expansion portion 802 shown in FIG. 8A, and applying the copied pixels outside the initial hologram region 652 adjacent to the boundary. Thus, this process can result in an expanded hologram 653 having the expansion portion 802 and the initial hologram 652 portion. In other words, this process can result in the data of the initial hologram 652 (the data of the signal 551) being inserted into a larger memory space.
[0112] For example, the expansion can include first copying the existing rows of pixels into adjacent columns, and then reducing all of the copied and applied pixel values by a fixed percentage, such as about 10%. This process can be repeated, where the second copied column will have about 20% less intensity than the original data column. This can be repeated until some set threshold, such as about 3%.
[0113] As another example, in one or more embodiments, the initial hologram 652 can be expanded by 1 / 32 of the hologram width in the horizontal direction and 1 / 32 of the hologram height in the vertical direction on all sides. The expansion region 803 is filled with the values of the edge lines of the hologram on each side. Each time a line is copied, the line can be blurred using a Gaussian blur with a sigma value equal to 2, which produces a progressive blur. Next, the hologram is further expanded by 15 / 32 of the original hologram size filled with the value 0. The resulting expanded hologram 653 in FIG. 8A can have an area twice that of the initial hologram 652. In other words, this process can include the following steps: A. Prepare a cosine kernel. The size can be made equal to 1 / 32 of the side of the initial hologram 652. B. A kernel of size N×M can be generated by calculating 1D vectors of cosine values in the range of -Pi / 2 to Pi / 2 of lengths M and N, and then calculating the outer product of these vectors. C. The kernel can be normalized by dividing each element by the sum of all elements of the kernel.
[0114] Referring specifically to FIG. 8A, the extension portion 802 can form the extension portion 802 by at least partially or completely bounding the initial hologram region. Although the bounding in FIG. 8A is shown as being external, the bounding can alternatively be internal and / or external. In fact, in one or more embodiments, two or more portions of the initial hologram region can be bounded by different extension portions or the like.
[0115] The specific extension portion 802 shown in the extended hologram 653 of FIG. 8A has both an inner hologram boundary 803 and an outer hologram boundary 804. The inner hologram boundary 803 can generally be aligned such that it is at least partially continuous or completely continuous with the initial hologram outer boundary at the illustrated boundary 710.
[0116] The illustrated extension portion 802 has a quadrilateral inner hologram boundary 803 and a quadrilateral outer hologram boundary 804. More specifically, each of these boundaries 803 and 804 is rectangular and further square.
[0117] As shown on the page of FIG. 8, each of the upper, lower, left, and right portions of the extension portion 802 extends an equal distance from the initial hologram outer boundary 710.
[0118] In one or more embodiments, the extension portion 802 can have any other suitable shape.
[0119] In one or more embodiments, the extension in any one or more directions can be a different distance from the extension in any one or more other directions.
[0120] In one or more embodiments, the extension portion 802 cannot completely bound the first hologram region.
[0121] In one or more embodiments, the hologram inner boundary 803 of the extension portion 802 can be, but is not limited to, other than directly conforming to (e.g., adjacent to) at least a portion of the boundary 710.
[0122] Considering any one or more of the foregoing embodiments, the result of the operation of the extension component 612 is that, otherwise (as shown in the non-apodized hologram image reconstruction 657 of FIG. 8A), a wave artifact 807 that propagates (or reflects) back into the inner region 808 of the initial hologram 652 can instead propagate into each extension portion 802 across each boundary 710 (regardless of whether it is an inner boundary, an outer boundary, and / or a combination thereof). Thus, as shown in the extended hologram 653, the artifact is not visible within the inner region 808 (e.g., within the boundary 710) of the initial hologram region. Further, another result of the operation of the extension component 612 can be that it can reduce and / or completely prevent a ghost artifact 813 that would otherwise be caused within the inner region 808.
[0123] That is, more generally speaking, the use of the extension portion can enable the reduction and / or removal of artifacts in the initial hologram 652, and thus, compared to existing frameworks, result in less data reduction and thus more data increase for the reconstruction process 708.
[0124] Note that the initial hologram portion 652 includes various objects 809 to facilitate reference and illustration of the various concepts described herein.
[0125] As an example of the above benefits, referring briefly to FIG. 9, a graph 900 showing the benefits of the apodization framework provided herein by non-limiting systems 500 and 600 is illustrated. The graph shows the reconstruction intensity (intensity normalized using an artificial quantification unit) on the y-axis and the pixel index (unit is the number of pixels) on the x-axis. Graph 900 shows no artifact interference between the reconstructed image (e.g., reconstructed image 658) reconstructed from the framework discussed herein and the reconstructed image reconstructed from the use of a square apodization filter (e.g., apodization filter 655) and the use of a circular apodization filter, as compared to the reconstructed image.
[0126] FIG. 9 can represent a diagonal profile as it best shows the difference between circular apodization and external apodization. The circular signal drops to nearly 0 at both ends of the x-axis, while the external maintains the maximum intensity.
[0127] Now, referring to FIGS. 8B and 8C in addition to FIGS. 6 and 7, various exemplary embodiments of apodization filters are shown. First, in FIG. 8B, a set of FIGS. 851, 852, and 853 are provided. Next, in FIG. 8C, another FIG. 854 is provided. Each of these illustrated filters can be generated by a filter generation component 614 based on an initial signal 651 acquired by an acquisition component 610, and thereby, based on the expansion performed by an expansion component 612, generate respective apodization filters.
[0128] The purpose of the apodization filter is to apply the apodization filter to the initial hologram 652, and thus result in a modified signal 655, and thus further result in a modified version of the extended hologram 653. In this way, artifacts in the modified version of the extended hologram 653 can be further reduced and / or removed (e.g., filter removed) in one or more extended portions, and / or otherwise artifacts caused by the reconstruction process 708 for one or more extended portions can be reduced and / or removed.
[0129] In FIG. 851, a first exemplary apodization filter 654 is generated to overlap at least a portion of the extended portion 802. In FIG. 851, the apodization filter 654 has an inner filter boundary 862 and an outer filter boundary 864.
[0130] In one or more embodiments, with respect to FIG. 851, the apodization filter 654 can be generated only to overlap and / or otherwise apply to the extended portion 802. In one or more embodiments, the apodization filter 654 can be generated to completely overlap the entire area of the extended portion 802. In one or more embodiments in which multiple extended portions are generated, multiple apodization filters can be correspondingly generated by the apodization filter generation component 614 to overlap some or all of some or all of the multiple extended portions so as to be suitable for the need and / or use of the reconstructed image reconstructed using each extended hologram.
[0131] In one or more embodiments, the apodization filter 654 can be generated by the filter generation component 614 to conform to the extended portion 802 as shown in FIG. 8A, such as the inner hologram boundary 803 and / or the outer hologram boundary 804 of the extended hologram 653.
[0132] In one or more embodiments, the apodization filter 654 can be generated by the filter generation component 614 to be at least partially continuous with the hologram inner boundary 803 and / or the hologram outer boundary 804 of the extended hologram 653.
[0133] In one or more embodiments, the apodization filter 654 can be generated by the filter generation component 614 to be at least partially continuous with the initial hologram boundary 710. Note that although this initial hologram boundary 710 is also shown as an outer boundary, it is not limited thereto.
[0134] In one or more embodiments, the apodization filter 654 can be generated by the filter generation component 614 such that at least one of the filter inner boundary 862 or the filter outer boundary 864 is a quadrilateral boundary, such as a rectangular boundary, for example a square boundary.
[0135] In one or more embodiments, the apodization filter 654 can be generated by the filter generation component 614 having both a rectangular filter inner boundary 862 and a rectangular filter outer boundary 864, as shown in the apodization filter example 654 of FIG. 851 in FIG. 8B.
[0136] For example, the apodization filter 654 shown in FIG. 8B has a quadrilateral filter inner boundary 862 and a quadrilateral filter outer boundary 864. More specifically, each of these boundaries 862 and 864 is rectangular and further square.
[0137] Each of the upper, bottom, left, and right portions of the apodization filter 654 extends an equal distance from the initial hologram outer edge 710, as shown in FIG. 851.
[0138] In one or more embodiments, the apodization filter 654 can have any other suitable shape.
[0139] In one or more embodiments, the expansion of the apodization filter 654 in any one or more directions can be at a different distance from the expansion in any one or more other directions.
[0140] In one or more embodiments, the apodization filter 654 can be configured to not fully bound the initial hologram 652.
[0141] In one or more embodiments, the inner filter boundary 862 of the apodization filter 654 may be other than, but not limited to, directly conforming to (e.g., adjacent to) at least a portion of the initial hologram boundary 710.
[0142] Referring briefly to FIG. 854 of FIG. 8C, in one or more embodiments, the apodization filter 654 can be generated by a filter generation component 614 by applying at least one cosine profile to the signal 651.
[0143] In one or more embodiments, the filter generation component 614 can generate the apodization filter 654 based on the generation of a first filter 871 (FIGS. 8C and 8D) and a second filter 872 (FIGS. 8C and 8D), and based on the subsequent aggregation of the first filter 871 and the second filter 872. The filter generation component 614 can generate the first filter 871 by using a first cosine profile, and the filter generation component 614 can generate the second filter 872 by using a second cosine profile different from the first cosine profile.
[0144] For example, for the first filter 871, the following first cosine profile can be used: cos(Pi / 2w(w / 2 - X)) for X between 0 and w, 0 for X between w and Width - w, and cos(Pi / 2w(w / 2 - (Width - X))) for X between Width - X and Width.
[0145] For the second filter 872, the following second cosine profile can be used: cos(Pi / 2w(w / 2 - Y)) for Y between 0 and w, 0 for Y between w and Height - w, and cos(Pi / 2w(w / 2 - (Height - Y))) for Y between Height - Y and Width.
[0146] The aggregation of the first filter 871 and the second filter 872 can be by use of the minimum value for each element (e.g., in the positive horizontal direction, negative horizontal direction, positive vertical direction, and / or negative vertical direction) to automatically generate the apodization filter 654 therefrom.
[0147] It will be understood that the first cosine profile and the second cosine profile can be at least partially applied simultaneously with each other. Thus, "first" and "second" are merely reference symbols and do not necessarily indicate that one profile is used before the other.
[0148] Next, returning to FIG. 8B, an additional embodiment of an apodization filter that can be used will be described. As shown in FIG. 852, without generating or using the extended portion 802, at the boundary of the initial hologram 652, the apodization filter 655 can be generated by the filter generation component 614. Such an apodization filter 655 can be generated using a cosine profile. Such an apodization filter 655 can be generated from the aggregation of the first generation filter and the second generation filter as described above, and different and / or the same cosine profiles are used to generate these filters.
[0149] The apodization filter 655 can be combined with the apodization filter 654, thereby forming an integrated apodization filter 656 (e.g., FIG. 853). In one or more embodiments, both filters 655 and 654 can be generated and then combined. In one or more embodiments, the profiles of both filters 655 and 654 can be combined and generated as a single apodization filter 656.
[0150] Next, the application of the apodization filter 654 by the filter application component 616 will be described. That is, the filter application component 616 can generally overlap the apodization filter 654 with respect to the extended portion 802 of the extended hologram 653.
[0151] Next, the blurring component 617 is described, returning to the diagram of the extended hologram 653 of FIG. 8A. That is, the blurring component 617 can generally blur the internal region of the extended hologram 653 (e.g., corresponding to the initial hologram 652) that is inside the outer boundary of the initial hologram 652. This blurring can be performed optionally, such as in addition to the use of one or more of the apodization filters described above. For example, in one or more embodiments, the blurring by the blurring component 617 can be performed before, or alternatively and / or additionally after, the application of one or more apodization filters.
[0152] For example, as shown in the extended hologram 653 with blurring of FIG. 8A, the extended portion 802 of the object 809 is blurred in the same manner as obtained without apodization in the non-apodized hologram image reconstruction 657.
[0153] In one or more embodiments, the blurring component 617 can gradually increase the blurring of the internal region 808 at a distance that gradually increases from the center of the internal region 808. That is, the greater the distance of the internal region 808 from the center of the internal region 808, the greater the blurring that can be used.
[0154] Element number 808 is used here only for reference, and it should be noted that the description here refers to the internal region of any of the initial holograms described here.
[0155] Referring again to FIGS. 6 and the additional components of the material analysis system 602, the hologram detection component 618 can detect one or more aspects of the extended hologram 653, such as those corresponding to the modified signal 655. Using the results of the hologram detection component 618, the reconstruction component 620 can reconstruct an image of the target 650 (e.g., the reconstructed image 658) using one or more propagation techniques such as backpropagation.
[0156] For example, as shown in FIG. 8E, the use of the extended hologram 653, the apodization filter 654, and an optional blurring 659 (FIG. 10) performed by the blurring component 617 can result in a reconstructed image 658 with reduced artifacts 807, 811, and / or 813 that interfere with the available information as compared to existing apodization frameworks. For example, as shown in FIG. 8E, an initial hologram portion 892 of the reconstructed image 658 includes an object 809 with reduced ringing artifact 811 or no ringing artifact, immediately adjacent to the object 809. Further, the ghost artifact 813 and the wave artifact 807 with respect to the boundary 710 are removed or provided at most within a portion 893 of the reconstructed image 658 corresponding to the extended portion 802, and these artifacts do not cause loss of information (e.g., loss of image) with respect to the initial hologram portion 892.
[0157] That is, compared to existing frameworks, ringing, blurring, wave, ghost, and / or other artifacts can be reduced in both the inner and edge portions of the reconstructed image 658 corresponding to the inner and edge portions of the initial hologram 652.
[0158] In one or more embodiments, the hologram detection component 618 and / or the reconstruction component 620 can be included by the energy application device 654, and / or one or more processes described herein as being performed by the hologram detection component 618 and / or the reconstruction component 620 can be performed by the electron beam application device 654 or by another device external to the material analysis system 602.
[0159] Referring now to FIG. 10, there is shown a schematic diagram 1000 providing a set of inputs and outputs of a non-limiting system 600 as an overview of the various processes described above. As shown, signal 651 is the result of applying an electron beam from energy source 648 to target 650. From signal 651, an initial hologram 652 can be generated. Based on the initial signal 651 and the initial hologram 652, the expansion component 612 can generate an expanded hologram 653. Based on the initial signal 651 and the expanded hologram 653, the filter generation component 614 can generate an apodization filter 654, which can function to modify the expanded hologram 653 when applied to the expanded portion 802 of the expanded hologram 653 by the filter application component 616. That is, the application of the apodization filter 654 can result in a modified signal 655, from which an artifact-reduced reconstructed image 658 can be reconstructed by using the hologram detection component 618 and / or the reconstruction component 620. Optionally, blurring 659 can be applied to the expanded hologram 653 by the blurring component 617.
[0160] In addition to the above description, one or more additional aspects can be applied to any of the above embodiments.
[0161] For example, a signal can be defined by a combination of signals of multiple holograms, and the holograms are combined with each other. That is, in one or more cases, multiple initial holograms can be acquired on a shifted sample and then stitched together (e.g., arranged adjacent to each other).
[0162] In one or more embodiments, the framework described herein can function with a non-square detector and / or a detector having one or more broken pixels.
[0163] For example, not all detectors have square sensors (sensors with the same number of pixels in x and y). For example, digital cameras often have a ratio such as 4:3. In these solid-state sensors, when a pixel fails, it may become dark so that 0 is always read regardless of the signal. These failures are due to natural wear mechanisms and can be caused, for example, by cosmic rays or poor electrical connections.
[0164] The presence of artificial zeros in the image can lead to ringing problems in the reconstruction, just as at the edges, and it is best to identify and filter them out to avoid this.
[0165] In one or more embodiments, the framework discussed herein can be extended to cooperate with the detected hologram where the illumination source is insufficient or patchy. For example, if a single-atom illumination source is used, it can be made into a trimer (triangular illumination envelope), and it may be beneficial to adjust the apodization to match the illumination.
[0166] For example, the intensity of the reference wave contribution to the hologram can scale with the illumination source. When the reference wave drops to zero intensity, the interference in that region drops to 0 and the hologram is lost. For example, in FIG. 7, the initial hologram 652 assumes a reference wave of artificially uniform intensity. In reality, this illumination quality and shape can vary, and by evaluating it, different apodizations can be selected around it. This can prevent noise from entering the reconstruction (e.g., of the reconstructed image 658).
[0167] In one or more embodiments, the framework discussed herein can be extended to function with extrapolated data. For example, the detected data can be embedded in a larger reconstruction space, and its iterative reconstruction can accurately extrapolate the information.
[0168] For example, iterative reconstruction can improve the quality of data reconstruction (as opposed to non-iterative or one-shot reconstruction). Further, iterative reconstruction can recover to some extent signals lost outside the detected hologram boundary. This should be at least somewhat helpful with lower noise when reconstructing.
[0169] As another overview of the components and their functions described above, referring next to FIGS. 11 and 12, a flowchart of an exemplary non-limiting method 1100 that can facilitate the apodization process for hologram reconstruction according to one or more embodiments described herein, such as the non-limiting system 600 of FIG. 6, is shown. The non-limiting method 1000 is described with respect to the non-limiting system 600 of FIG. 6, but the non-limiting method 1000 may also be applicable to other systems described herein, such as the non-limiting system 500 of FIG. 5. Repeated descriptions of similar elements and / or processes used in each embodiment are omitted for brevity.
[0170] At 1102, the non-limiting method 1100 can include obtaining a signal of an energy-based hologram (e.g., initial hologram 652) by a system (e.g., acquisition component 610) operably coupled to a processor.
[0171] In one or more embodiments, the signal can be defined by a combination of signals of multiple holograms, e.g., multiple holograms are combined with each other and / or aggregated in other ways.
[0172] At 1104, the non-limiting method 1100 can include expanding the initial hologram at the boundary of the initial hologram (e.g., boundary 710) by a system (e.g., expansion component 612) to result in an expanded hologram (e.g., expanded hologram 653) having an expansion portion (e.g., expansion portion 802) at the boundary.
[0173] In one or more embodiments, only a portion of the initial hologram disposed at the boundary is expanded.
[0174] In one or more embodiments, the initial hologram can include an assembly of a plurality of holograms.
[0175] At 1106, the non-limiting method 1100 can include enabling the propagation of an artifact (e.g., artifact 807) to the expanded portion by a system (e.g., expansion component 612), instead of the artifact reflecting at the boundary and returning to the region of the initial hologram.
[0176] At 1108, the non-limiting method 1100 can include generating an apodization filter (e.g., apodization filter 654) by a system (e.g., filter generation component 614) copying pixels from the boundary of the initial hologram and applying those pixels outside the initial hologram at the boundary, resulting in the expanded portion of the expanded hologram.
[0177] At 1110, the non-limiting method 1100 can include applying an apodization filter (e.g., apodization filter 654) by a system (e.g., filter application component 616) to overlap the expanded portion of the expanded hologram, based on the expanded hologram.
[0178] In one or more embodiments, the apodization filter can be applied to at least the expanded portion of the expanded hologram.
[0179] In one or more embodiments, the apodization filter can be applied only to the expanded portion of the expanded hologram.
[0180] In 1112, the non-limiting method 1100 can include determining by a system (e.g., the filter generation component 614) whether an apodization filter is generated for a sufficiently large region of the extended hologram (e.g., the extended hologram 653). If "yes", the non-limiting method 1100 can proceed to step 1114. Otherwise, the non-limiting method 1100 can return to steps 1108 and 1110 for the generation and application of the apodization filter.
[0181] In 1114, the non-limiting method 1100 can include using by a system (e.g., the material analysis system 602) a detector having damaged pixels, and the application of the apodization filter is the same whether the detector has damaged pixels or not.
[0182] In 1116, the non-limiting method 1100 can include detecting by a system (e.g., the hologram detection component 618) the extended hologram (e.g., the extended hologram 653) and / or the correction signal (e.g., the correction signal 655) defining the extended hologram in relation to the application of the apodization filter, resulting in a filtered signal (e.g., the correction signal 655).
[0183] In 1118, the non-limiting method 1100 can include reconstructing by a system (e.g., the reconstruction component 620) a reconstructed image (e.g., the reconstructed image 658).
[0184] Additional Summary To simplify the description, the computer-implemented methodologies and non-computer-implemented methodologies provided herein are depicted and / or described as a series of acts. The present invention is not limited by the illustrated acts and / or the order of the acts. For example, the acts may be performed in one or more orders and / or simultaneously, as well as with other acts not presented and described herein. Further, not all of the illustrated acts are utilized to implement the computer-implemented methodologies and non-computer-implemented methodologies in accordance with the described subject matter. Additionally, the computer-implemented methodologies and non-computer-implemented methodologies may alternatively be represented as a series of interrelated states via a state diagram or events. Further, the computer-implemented methodologies described throughout the following and the present specification can be stored in a product for transmitting and transferring the computer-implemented methodologies to a computer. The term product as used herein is intended to encompass a computer program accessible from any computer-readable device or storage medium.
[0185] Systems and / or devices have been described herein (and / or will be further described) with respect to interactions between one or more components. Such systems and / or components can include the components or sub-components specified herein, one or more of the specified components and / or sub-components, and / or additional components. A sub-component can be implemented as a component communicatively coupled to other components rather than being included within a parent component. One or more components and / or sub-components can be combined within a single component that provides an aggregating function. Components, although not specifically described herein for simplicity, can interact with one or more other components known to those of ordinary skill in the art.
[0186] In summary, one or more systems, computer program products, and / or computer-implemented methods provided herein relate to the apodization of holograms. The system can include a memory storing computer-executable components and a processor executing the computer-executable components. The computer-executable components can include an acquisition component that acquires an energy-based initial hologram signal, an expansion component that expands the initial hologram at the boundary of the initial hologram, resulting in an expanded hologram having an expansion portion at the boundary, and a filter application component that applies an apodization filter based on the expanded hologram to overlap the expansion portion of the expanded hologram.
[0187] One or more embodiments disclosed herein can achieve improved performance over existing approaches. For example, based on the application of an apodization filter to the expansion portion of the expanded hologram outside (e.g., outer) the internal region of the initial hologram resulting from the acquired signal, reduction of artifacts in the reconstruction of the object image from the expanded hologram can be provided. That is, the use of the apodization filter in the expansion portion can enable artifacts from the initial hologram (e.g., the internal region) to propagate to the expansion portion rather than reflect off the boundary of the initial hologram and return to the internal region. Thus, the edges of the object image corresponding to the initial hologram (internal region) can be reconstructed with a reduced presence of artifacts compared to the edges in the case of using existing frameworks. That is, the use of the apodization filter described herein can result in a reduction of signal loss (e.g., with respect to the signal defining the initial hologram).
[0188] In one or more embodiments described herein, in addition to the use of an apodization filter, the use of blurring to an initial hologram region (e.g., an internal region of an extended hologram) can result in a reduction of ringing-type artifacts in the object image when reconstructing an object image from the extended and apodized hologram.
[0189] Furthermore, one or more embodiments described herein can beneficially provide focus / direction for a plurality of targets, at least partially in parallel with each other. For example, holograms from two or more targets actuated by two or more different energy sources can be apodized at least partially in parallel with each other.
[0190] Furthermore, embodiments described herein can be adapted to operate with non-square detectors, detectors having broken pixels, combined holograms (e.g., resulting from holograms taken for shifted sampling, or holograms having limited or patchy illumination).
[0191] In fact, considering one or more embodiments described herein, the actual application of one or more systems, computer-implemented methods, and / or computer program products described herein can be the ability to efficiently (e.g., based on a single apodization filter or a combination of filters) maximize the usable information obtained from signal samples resulting from the application of electrons to a target (e.g., signals defining a hologram). That is, it is possible to smooth the internal and boundary portions of the hologram and / or provide a corresponding object image reconstruction with reduced artifacts. This can be achieved without leaving unfiltered rings of the sample image having increased artifacts compared to the rest of the sample image (e.g., the internal portion). In other words, signal loss can be reduced and / or prevented for the internal and / or boundary portions of the sample image reconstructed from an energy-based hologram (e.g., a low-energy electron beam hologram).
[0192] These are useful and practical applications of a computer and thus can provide enhanced (e.g., improved and / or optimized) material analysis and target data output (e.g., output regarding one or more targets sampled using an energy-based hologram such as an in-line low-energy electron beam hologram and / or an in-line high-energy electron beam hologram). Overall, such computerized tools can constitute specific and tangible technical improvements in the field of material analysis, more specifically in material analysis using electron beam hologram technology.
[0193] Furthermore, one or more of the embodiments described herein can be used in real-world systems based on the disclosed teachings. For example, as described above, in the case of various detector shapes, detectors having one or more broken pixels, single holograms, and / or joined holograms, one or more of the embodiments described herein can successfully reconstruct holograms with reduced artifacts relative to existing techniques. Accordingly, the embodiments disclosed herein can provide improvements to scientific instrument technology (e.g., among other things, improvements to the computer technology that supports such scientific instruments).
[0194] Systems and / or devices have been described herein (and / or will be further described) with respect to the interactions between one or more components. Such systems and / or components can include the components or sub-components specified herein, one or more of the specified components and / or sub-components, and / or additional components. Sub-components can be implemented as components communicatively coupled to other components rather than being included within a parent component. One or more components and / or sub-components can be combined within a single component that provides an aggregated function. Components can interact with one or more other components known to those of skill in the art, although not specifically described herein for the sake of brevity.
[0195] One or more embodiments described herein can be essentially and / or inseparably associated with computer technology and cannot be implemented outside of a computing environment. For example, one or more processes executed by one or more embodiments described herein can provide for more efficient and even more executable execution of programs and / or program instructions with respect to, for example, material analysis using holograms, as compared to existing systems and / or techniques using holograms. Systems, computer-implemented methods, and / or computer program products that provide the performance of these processes are very useful in the field of material analysis, including the use of electron beam energy holograms, and cannot be equally usefully implemented in a reasonable way outside of a computing environment.
[0196] One or more embodiments described herein can employ hardware and / or software to solve problems that are highly technical, not abstract, and cannot be performed as a series of mental acts by a human. For example, one human, or even thousands of humans, cannot efficiently, accurately, and / or effectively automatically expand a hologram and then generate and / or apply an apodization filter to the resulting expanded hologram to generate a reconstructed target image with removed artifacts, while one or more embodiments described herein can provide for this process. Further, neither the human mind nor a human with pen and paper can perform one or more of these processes as performed by one or more embodiments described herein.
[0197] In one or more embodiments, one or more of the processes described herein can be performed by one or more dedicated computers (e.g., dedicated processing units, dedicated classical computers, dedicated quantum computers, dedicated hybrid classical / quantum systems, and / or other types of dedicated computers) to perform tasks defined in relation to one or more of the technologies described above. One or more embodiments and / or components thereof described herein can be employed to solve new problems arising through the adoption of the above-described technological advancements, quantum computing systems, cloud computing systems, computer architectures, and / or other technologies.
[0198] One or more embodiments described herein can be fully operable to perform one or more other functions (e.g., fully powered on, fully executed, and / or other functions) while performing one or more of the one or more operations described herein.
[0199] To provide further overview, a list of embodiments and their features is provided next.
[0200] A system comprising a memory storing computer-executable components and a processor executing the computer-executable components stored in the memory, the computer-executable components comprising an acquisition component to acquire an energy-based initial hologram signal, an expansion component to expand the initial hologram at the boundary of the initial hologram to yield an expanded hologram having an expanded portion at the boundary, and a filter application component to apply an apodization filter to overlap the expanded portion of the expanded hologram.
[0201] The system of the preceding paragraph, wherein the expansion component expands only a part of the initial hologram disposed at the boundary.
[0202] The filter application component is the system described in any of the preceding paragraphs that applies an apodization filter to at least the extended portion of the extended hologram.
[0203] The filter application component is the system described in any of the preceding paragraphs that applies an apodization filter only to the extended portion of the extended hologram.
[0204] The initial hologram is the system described in any of the preceding paragraphs that includes an aggregate of a plurality of holograms.
[0205] The system described in any of the preceding paragraphs further comprising a filter generation component that generates an apodization filter by copying pixels from the boundary of the initial hologram and applying those pixels outside the initial hologram at the boundary, resulting in an extended portion of the extended hologram.
[0206] The system described in any of the preceding paragraphs further comprising a blurring component that blurs the internal region of the extended hologram that is inside the boundary before the application of the apodization filter by the filter application component.
[0207] The blurring component is the system described in any of the preceding paragraphs that gradually increases the blurring of the internal region as the distance from the center of the internal region gradually increases.
[0208] The acquisition component uses a detector having damaged pixels, and the application of the apodization filter by the filter application component is the same regardless of whether the detector has damaged pixels or not.
[0209] The extension of the initial hologram by the extension component enables the propagation of artifacts to the extended portion instead of the artifacts reflecting from the boundary back into the region of the initial hologram.
[0210] Obtaining an energy-based initial hologram signal by a system operably coupled to a processor; expanding the initial hologram at the boundary of the initial hologram by the system to yield an expanded hologram having an expansion portion at the boundary; and applying an apodization filter to overlap the expansion portion of the expanded hologram based on the expanded hologram, a computer-implemented method comprising.
[0211] The computer-implemented method according to the preceding paragraph, further comprising expanding only a part of the initial hologram disposed at the boundary by the system.
[0212] The computer-implemented method according to any of the preceding paragraphs, further comprising applying an apodization filter only to the expansion portion of the expanded hologram by the system.
[0213] The computer-implemented method according to any of the preceding paragraphs, further comprising generating an apodization filter by copying pixels from the boundary of the initial hologram and applying those pixels outside the initial hologram at the boundary, resulting in an expansion portion of the expanded hologram by the system.
[0214] The computer-implemented method according to any of the preceding paragraphs, further comprising blurring an internal region of the expanded hologram that is inside the boundary by the system before applying the apodization filter.
[0215] The computer-implemented method according to any of the preceding paragraphs, further comprising gradually increasing the blurring of the internal region as the distance from the center of the internal region gradually increases by the system.
[0216] A computer program product that facilitates a process for apodization of a hologram, the computer program product comprising a computer-readable storage medium having program instructions embodied thereon, the program instructions being executable by a processor, the processor being caused to obtain, by the processor, a signal of an energy-based initial hologram, the processor being caused to expand the initial hologram at a boundary of the initial hologram to result in an expanded hologram having an expanded portion at the boundary, and the processor being caused to apply, by the processor, an apodization filter so as to overlap the expanded portion of the expanded hologram.
[0217] The computer program product according to the preceding paragraph, wherein the program instructions are further executable by the processor to cause the processor to copy pixels from a boundary of the initial hologram and apply those pixels outside the initial hologram at the boundary to generate, by the processor, an apodization filter to result in an expanded portion of the expanded hologram.
[0218] The computer program product according to any of the preceding paragraphs, wherein the program instructions are further executable by the processor to cause the processor to blur an internal region of the expanded hologram inside the boundary before applying the apodization filter.
[0219] The computer program product according to any of the preceding paragraphs, wherein the program instructions are further executable by the processor to cause the system to gradually increase the blurring of the internal region as the distance from the center of the internal region gradually increases.
[0220] Description of a scientific instrument system Next, referring to FIG. 13, detailed descriptions of additional contexts regarding one or more embodiments described herein in FIGS. 1-12 are provided. One or more computing devices implementing any of the scientific instrument modules or methods disclosed herein may be part of a scientific instrument system. FIG. 13 is a block diagram of an exemplary scientific instrument system 1300 in which one or more methods of the scientific instruments disclosed herein or other methods according to various embodiments described herein may be executed. The scientific instrument modules and methods disclosed herein (e.g., the scientific instrument module 100 of FIG. 1 and the method 200 of FIG. 2) can be implemented by one or more of the scientific instrument 1310, user local computing device 1320, service local computing device 1330, and / or remote computing device 1340 of the scientific instrument system 1300.
[0221] Any of the scientific instrument 1310, user local computing device 1320, service local computing device 1330, and / or remote computing device 1340 may include any of the embodiments of the computing device 400 described herein with reference to FIG. 4, but any of the scientific instrument 1310, user local computing device 1320, service local computing device 1330, and / or remote computing device 1340 may take the form of any suitable one or more of the embodiments of the computing device 400 described herein with reference to FIG. 4.
[0222] One or more of the scientific instrument 1310, the user local computing device 1320, the service local computing device 1330, and / or the remote computing device 1340 may include a processing device 1302, a storage device 1304, and / or an interface device 1306. The processing device 1302 can take any suitable form, including any form of the processor 402 described herein with reference to FIG. 4. The processing devices 1302 included in different ones of the scientific instrument 1310, the user local computing device 1320, the service local computing device 1330, and / or the remote computing device 1340 can take the same form or different forms. The storage device 1304 can take any suitable form, including any form of the storage device 404 described herein with reference to FIG. 4. The storage devices 1304 included in different ones of the scientific instrument 1310, the user local computing device 1320, the service local computing device 1330, and / or the remote computing device 1340 can take the same form or different forms. The interface device 1306 can take any suitable form, including any form of the interface device 406 described herein with reference to FIG. 4. The interface devices 1306 included in different ones of the scientific instrument 1310, the user local computing device 1320, the service local computing device 1330, and / or the remote computing device 1340 can take the same form or different forms.
[0223] The scientific instrument 1310, the user local computing device 1320, the service local computing device 1330, and the remote computing device 1340 can communicate with other elements of the scientific instrument system 1300 via the communication path 1308. As shown, the communication path 1308 can communicatively couple the interface devices 1306 of different elements among the elements of the scientific instrument system 1300 and can be a wired or wireless communication path (for example, any of the communication technologies described herein with reference to the interface device 406 of the computing device 400 in FIG. 4). The particular scientific instrument system 1300 shown in FIG. 13 includes communication paths between each pair of the scientific instrument 1310, the user local computing device 1320, the service local computing device 1330, and the remote computing device 1340, but this “fully connected” implementation is merely exemplary, and in various embodiments, various ones of the communication paths 1308 can be omitted. For example, in one or more embodiments, the service local computing device 1330 can omit the direct communication path 1308 between its interface device 1306 and the interface device 1306 of the scientific instrument 1310, but instead, communicate with the scientific instrument 1310 via the communication path 1308 between the service local computing device 1330 and the user local computing device 1320 and the communication path 1308 between the user local computing device 1320 and the scientific instrument 1310.
[0224] The scientific instrument 1310 can include any suitable scientific instrument, such as a separation or MS instrument, or other instrument that facilitates materials analysis.
[0225] The user local computing device 1320 can be a computing device (e.g., a computing device according to any of the embodiments of the computing device 400 described herein) near the user of the scientific instrument 1310. In one or more embodiments, the user local computing device 1320 can also be near the scientific instrument 1310, but it does not have to be. For example, the user local computing device 1320 associated with a home, office, or other building associated with the user entity can communicate with the scientific instrument 1310 while being away from it so that the user entity can control and / or access data from the scientific instrument 1310 using the user local computing device 1320. In one or more embodiments, the user local computing device 1320 can be a laptop, smartphone, or tablet device. In one or more embodiments, the user local computing device 1320 can be a portable computing device. In one or more embodiments, the user local computing device 1320 can be deployed on-site.
[0226] The service local computing device 1330 can be a computing device (e.g., according to any of the embodiments of the computing device 400 described herein) that is near an entity that provides services to the scientific instrument 1310. For example, the service local computing device 1330 can be near the manufacturer of the scientific instrument 1310 or a third-party service company. In one or more embodiments, the service local computing device 1330 communicates with the scientific instrument 1310, the user local computing device 1320, and / or the remote computing device 1340 (e.g., as described above, directly via the communication path 1308 or via a plurality of "indirect" communication paths 1308) to receive data regarding the operation of the scientific instrument 1310, the user local computing device 1320, and / or the remote computing device 1340 (e.g., the results of a self-diagnostic test of the scientific instrument 1310, the calibration coefficients used by the scientific instrument 1310, the measured values of sensors associated with the scientific instrument 1310, etc.). In one or more embodiments, the service local computing device 1330 communicates with the scientific instrument 1310, the user local computing device 1320, and / or the remote computing device 1340 (e.g., as described above, via the direct communication path 1308 or a plurality of "indirect" communication paths 1308) to send data to the scientific instrument 1310, the user local computing device 1320, and / or the remote computing device 1340 (e.g., in the scientific instrument 1310, to update programmed instructions such as firmware, to initiate a test or calibration sequence in the scientific instrument 1310, to update programmed instructions such as software in the user local computing device 1320 or the remote computing device 1340, etc.).The user entity of the scientific instrument 1310 may utilize the scientific instrument 1310 or the user local computing device 1320 to communicate with the service local computing device 1330, to request a technician to visit to improve the operation of the scientific instrument 1310, to order consumables or replacement parts associated with the scientific instrument 1310, or for other purposes, in order to report problems related to the scientific instrument 1310 or the user local computing device 1320.
[0227] The remote computing device 1340 can be a computing device (e.g., one conforming to any of the embodiments of the computing device 400 described herein) located at a location remote from the scientific instrument 1310 and / or the user local computing device 1320. In one or more embodiments, the remote computing device 1340 can be included in a data center or other large-scale server environment. In one or more embodiments, the remote computing device 1340 can include network-connected storage (e.g., as part of the storage device 1304). The remote computing device 1340 can store data generated by the scientific instrument 1310, execute an analysis of the data generated by the scientific instrument 1310 (e.g., according to programmed instructions), facilitate communication between the user local computing device 1320 and the scientific instrument 1310, and / or facilitate communication between the service local computing device 1330 and the scientific instrument 1310.
[0228] In one or more embodiments, one or more of the elements of the scientific instrument system 1300 illustrated in FIG. 13 may be omitted. Further, in one or more embodiments, various ones of the elements of the scientific instrument system 1300 of FIG. 13 may be present in plurality. For example, the scientific instrument system 1300 can include a plurality of user local computing devices 1320 (e.g., different user local computing devices 1320 associated with different user entities or different locations). In another example, the scientific instrument system 1300 can include a plurality of scientific instruments 1310 that all communicate with a service local computing device 1330 and / or a remote computing device 1340. In such embodiments, the service local computing device 1330 can monitor these plurality of scientific instruments 1310, and the service local computing device 1330 can cause updates to be executed or other information to be “broadcast” to the plurality of scientific instruments 1310 simultaneously. Different ones of the scientific instruments 1310 within the scientific instrument system 1300 can be located close to each other (e.g., in the same room) or far from each other (e.g., on different floors of a building, different buildings, different cities, etc.). In one or more embodiments, the scientific instrument 1310 can be connected to an Internet of Things (IoT) stack that enables command and control of the scientific instrument 1310 through a web-based application, a virtual or augmented reality application, a mobile application, and / or a desktop application. Any of these applications can be accessed by a user entity that operates a user local computing device 1320 that communicates with the scientific instrument 1310 via an intervening remote computing device 1340. In one or more embodiments, the scientific instrument 1310 can be sold by a manufacturer in combination with one or more associated user local computing devices 1320 as part of a local scientific instrument computing unit 1312.
[0229] In one or more embodiments, different ones of the scientific instruments 1310 included in the scientific instrument system 1300 can be different types of scientific instruments 1310. For example, one scientific instrument 1310 can be an EDS device, and another scientific instrument 1310 can be an analyzer that analyzes the results of the EDS device. In some such embodiments, the remote computing device 1340 and / or the user local computing device 1320 may combine data from different types of scientific instruments 1310 included in the scientific instrument system 1300.
[0230] Exemplary Operating Environment FIG. 14 is a schematic block diagram of an operating environment 1400 in which the described subject matter can interact. The operating environment 1400 includes one or more remote components 1410. The remote components 1410 can be hardware and / or software (e.g., threads, processes, computing devices). In one or more embodiments, the remote components 1410 can be a distributed computer system connected to a local auto-scaling component and / or a program that uses the resources of the distributed computer system via a communication framework 1440. The communication framework 1440 can include a wired network device, a wireless network device, a mobile device, a wearable device, a wireless access network device, a gateway device, a femtocell device, a server, and the like.
[0231] The operating environment 1400 also includes one or more local components 1420. The local components 1420 can be hardware and / or software (e.g., threads, processes, computing devices). In one or more embodiments, the local components 1420 can include an auto-scaling component and / or a program that communicates with / uses remote resources 1410 and 1420, etc., connected to a remotely located distributed computing system via the communication framework 1440.
[0232] Possible communication between the remote component 1410 and the local component 1420 can be in the form of data packets adapted to be transmitted between two or more computer processes. Another possible communication between the remote component 1410 and the local component 1420 can be in the form of circuit-switched data adapted to be transmitted between two or more computer processes within a wireless time slot. The operating environment 1400 includes a communication framework 1440 that can be used to facilitate communication between the remote component 1410 and the local component 1420, and can include an air interface (e.g., an interface of a UMTS network, via an LTE network). The remote component 1410 can be operably connected to one or more remote data stores 1450, such as a hard drive, a solid state drive, a subscriber identity module (SIM) card, an electronic SIM (eSIM), a device memory, etc., that can be used to store information on the remote component 1410 side of the communication framework 1440. Similarly, the local component 1420 can be operably connected to one or more local data stores 1430 that can be used to store information on the local component 1420 side of the communication framework 1440.
[0233] Exemplary Computing Environment To provide additional context for the various embodiments described herein, FIGS. 15 and the following description are intended to provide a brief and general description of a suitable computing environment 1500 in which the various embodiments of the embodiments described herein can be implemented. The embodiments have been described above in the general context of computer-executable instructions that can be executed on one or more computers, but those skilled in the art will recognize that the embodiments can also be implemented in combination with other program modules and / or as a combination of hardware and software.
[0234] Generally, a program module includes routines, programs, components, data structures, etc. that execute tasks or implement abstract data types. Further, the method can be implemented in a single-processor or multi-processor computer system, a minicomputer, a mainframe computer, a single Internet of Things (IoT) device, a distributed computing system, and other computer system configurations including a personal computer, a handheld computing device, a microprocessor-based or programmable household appliance, etc., each of which can be operably coupled to one or more associated devices.
[0235] The illustrated embodiments of the embodiments herein can also be implemented in a distributed computing environment where certain tasks are performed by a remote processing device linked via a communication network. In a distributed computing environment, program modules can be placed in both a local memory storage device and a remote memory storage device.
[0236] A computing device can typically include various media including a computer-readable storage medium, a machine-readable storage medium, and / or a communication medium, and these two terms are used differently from each other as follows herein. A computer-readable storage medium or a machine-readable storage medium can be any available storage medium accessible by a computer, including both volatile and non-volatile media, and both removable and non-removable media. By way of example and not limitation, a computer-readable storage medium or a machine-readable storage medium can be implemented in connection with any method or technology for storing information such as computer-readable or machine-readable instructions, program modules, structured data, or unstructured data.
[0237] A computer-readable storage medium can include, but is not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), digital versatile disc (DVD), Blu-ray disc (BD) or other optical disc storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, solid state drives or other solid state storage devices, or other tangible and / or non-transitory media that can be used to store desired information. In this regard, the terms "tangible" or "non-transitory" as applied herein to storage devices, memory, or computer-readable media exclude only transient signals propagating as a modifier and do not relinquish rights to all standard storage devices, memory, or computer-readable media that do not merely propagate transient signals themselves.
[0238] A computer-readable storage medium can be accessed by one or more local or remote computing devices via, for example, access requests, queries, or other data retrieval protocols, for various operations regarding the information stored on the medium.
[0239] A communication medium typically embodies computer-readable instructions, data structures, program modules, or other structured or unstructured data in a data signal, such as a modulated data signal, for example, a carrier wave or other transmission mechanism, and includes any information delivery or transmission medium. The term "modulated data signal" means a signal in which one or more of the characteristics are set or changed to encode information in one or more signals. By way of example and not limitation, a communication medium includes wired media such as a wired network or direct wired connection, as well as wireless media such as acoustic, RF, infrared, and other wireless media.
[0240] Referring further to FIG. 15, an exemplary computing environment 1500 in which one or more embodiments described herein can be implemented includes a computer 1502, which includes a processing unit 1504, a system memory 1506, and a system bus 1508. The system bus 1508 couples system components including, but not limited to, the system memory 1506 to the processing unit 1504. The processing unit 1504 can be any of a variety of commercially available processors. Dual microprocessors and other multiprocessor architectures can also be used as the processing unit 1504.
[0241] The system bus 1508 can be any of several types of bus structures including, without limitation, a memory bus, a peripheral bus, and a local bus using any of a variety of commercially available bus architectures, and can further interconnect to several types of bus structures that can further interconnect (with or without a memory controller) to a memory bus, a peripheral bus, and a local bus. The system memory 1506 includes ROM 1510 and RAM 1512. The basic input / output system (BIOS) can be stored in non-volatile memory such as ROM, erasable programmable read-only memory (EPROM), EEPROM, etc., and the BIOS includes basic routines that assist in transferring information between elements within the computer 1502 during startup and the like. The RAM 1512 can also include high-speed RAM such as static RAM for caching data.
[0242] Computer 1502 further includes an internal hard disk drive (HDD) 1514 (e.g., EIDE, SATA), and may include one or more external storage devices 1516 (e.g., magnetic floppy disk drive (FDD) 1516, memory stick or flash drive reader, memory card reader, etc.). Although the internal HDD 1514 is shown as being disposed within the computer 1502, the internal HDD 1514 can also be configured for external use with a suitable chassis (not shown). Further, although not shown in the computing environment 1500, a solid state drive (SSD) can be used in addition to, or instead of, the HDD 1514.
[0243] Other internal or external storage devices can include at least one other storage device 1520 having a storage medium 1522 (e.g., a solid state storage device readable and writable from removable media such as CD-ROM disks, DVDs, BDs, etc., a non-volatile memory device, and / or an optical disk drive). The external storage device 1516 can be implemented by a network virtual machine. The HDD 1514, the external storage device 1516, and the storage device (e.g., drive) 1520 can each be connectable to the system bus 1508 by an HDD interface 1524, an external storage interface 1526, and a drive interface 1528, respectively.
[0244] Drives and their associated computer-readable storage media provide non-volatile storage of data, data structures, computer-executable instructions, etc. In the case of computer 1502, the drives and storage media correspond to the storage of any data in a suitable digital format. The above description of computer-readable storage media refers to each type of storage device, but other types of storage media readable by a computer, whether currently existing or to be developed in the future, can also be used in an exemplary operating environment, and further, any such storage media can include computer-executable instructions for performing the methods described herein.
[0245] Some program modules including operating systems 1530, one or more application programs 1532, other program modules 1534, and program data 1536 may be stored in the drive and RAM 1512. It is also possible to cache all or part of the operating system, application, module, and / or data in RAM 1512. The systems and methods described herein can be implemented using various commercially available operating systems or combinations of operating systems.
[0246] Computer 1502 can optionally include emulation technology. For example, a hypervisor (not shown) or other medium can emulate the hardware environment of operating system 1530, and the emulated hardware can optionally be different from the hardware shown in FIG. 15. In such an embodiment, operating system 1530 can include one of a plurality of virtual machines (VMs) hosted on computer 1502. Further, operating system 1530 can provide a runtime environment such as a Java runtime environment or a.NET framework for application 1532. The runtime environment is a consistent execution environment that enables application 1532 to run on any operating system that includes the runtime environment. Similarly, operating system 1530 can support containers, and application 1532 can be in the form of a lightweight, stand-alone, executable package of software that includes, for example, code, runtime, system tools, system libraries, and application settings.
[0247] Furthermore, computer 1502 can be enabled with a security module such as a Trusted Processing Module (TPM). For example, in a TPM, the boot components hash the boot components in turn and wait for the result to match a secure value before loading the next boot component. This process can be performed at any layer within the code execution stack of computer 1502, which is applied, for example, at the application execution level or the operating system (OS) kernel level, thereby enabling security at any level of code execution.
[0248] The user entity can input commands and information into computer 1502 via one or more wired / wireless input devices, such as a keyboard 1538, a touch screen 1540, and a pointing device such as a mouse 1542. Other input devices (not shown) can include a microphone, an infrared (IR) remote control, a radio frequency (RF) remote control, or other remote controls, a joystick, a virtual reality controller and / or virtual reality headset, a gamepad, a stylus pen, an image input device such as a camera, a gesture sensor input device, a visual motion sensor input device, an emotion or face detection device, a biometric input device such as a fingerprint or iris scanner, and the like. These and other input devices are often connected to processing unit 1504 via an input device interface 1544 that can be coupled to system bus 1508, but can also be connected by other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, a BLUETOOTH (registered trademark) interface, and the like.
[0249] A monitor 1546 or other type of display device can also be connected to system bus 1508 via an interface such as a video adapter 1548. In addition to monitor 1546, a computer typically includes other peripheral output devices (not shown) such as speakers, printers, and the like.
[0250] Computer 1502 may operate in a network environment using logical connections via wired and / or wireless communication to one or more remote computers such as remote computer 1550. Remote computer 1550 can be a workstation, server computer, router, personal computer, portable computer, microprocessor-based entertainment device, peer device, or other common network node, and typically includes many or all of the elements described with respect to computer 1502, but for brevity only memory / storage device 1552 is shown. The illustrated logical connections include wired / wireless connections to a local area network (LAN) 1554 and / or a wide area network (e.g., wide area network (WAN) 1556). Such LAN and WAN networking environments are common in offices and enterprises, facilitate enterprise-scale computer networks such as intranets, and all of them can be connected to a global communication network such as the Internet.
[0251] When used in a LAN networking environment, computer 1502 can be connected to local network 1554 via a wired and / or wireless communication network interface or adapter 1558. Adapter 1558 can facilitate wired or wireless communication to LAN 1554, and the LAN can also include a wireless access point (AP) disposed thereon for communicating with adapter 1558 in wireless mode.
[0252] When used in a WAN networking environment, computer 1502 can include a modem 1560 or can connect to a communication server on WAN 1556 via other means for establishing communication via a WAN such as the Internet. Modem 1560 can be an internal or external and wired or wireless device and can be connected to system bus 1508 via input device interface 1544. In a networked environment, program modules shown relative to computer 1502 or portions thereof can be stored in remote memory / storage device 1552. The network connections shown are exemplary, and other means of establishing a communication link between computers may be used.
[0253] When used in either a LAN or WAN networking environment, computer 1502 can access a cloud storage system or other network-based storage system in addition to, or instead of, external storage device 1516 as described above. Generally, the connection between computer 1502 and the cloud storage system can be established via LAN 1554 or WAN 1556 by, for example, adapter 1558 or modem 1560, respectively. When computer 1502 is connected to an associated cloud storage system, external storage interface 1526 can manage storage devices provided by the cloud storage system in the same manner as other types of external storage devices with the assistance of adapter 1558 and / or modem 1560. For example, external storage interface 1526 can be configured to provide access to cloud storage sources as if those sources were physically connected to computer 1502.
[0254] Computer 1502 can be operably disposed for wireless communication with any wireless device or entity, such as a printer, scanner, desktop and / or portable computer, portable data assistant, communication satellite, any device or location associated with a wireless detectable tag (e.g., kiosk, newsstand, merchandise shelf, etc.), and can be operable to communicate with a telephone. This can include wireless fidelity (Wi-Fi) and BLUETOOTH (registered trademark) wireless technologies. Thus, the communication can be a defined structure similar to an existing network, or simply an ad-hoc communication between at least two devices.
[0255] Additional Information The embodiments described in this specification can be directed to one or more of a system, a method, an apparatus, and / or a computer program product at any possible technical detail level of integration. The computer program product can include a computer-readable storage medium having computer-readable program instructions for causing a processor to execute aspects of one or more of the embodiments described in this specification. The computer-readable storage medium can be a tangible device that can hold and store instructions for use by an instruction execution device. The computer-readable storage medium can be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a superconducting storage device, and / or any suitable combination thereof. A non-exhaustive list of more specific examples of the computer-readable storage medium can also include: portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital versatile discs (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or raised structures in grooves having instructions recorded thereon, and / or any suitable combination of the foregoing. The computer-readable storage medium used herein should not be construed as being a transient signal per se, such as a radio wave and / or other freely propagating electromagnetic waves, an electromagnetic wave propagating through a waveguide and / or other transmission media (e.g., an optical pulse passing through an optical fiber cable), and / or an electrical signal transmitted via a wire.
[0256] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to respective computing / processing devices and / or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing / processing device. The computer-readable program instructions for carrying out the operations of one or more embodiments described herein can be source code and / or object code written in any combination of one or more programming languages, including assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuits, and / or any combination of object-oriented programming languages such as Smalltalk, C++, and / or procedural programming languages such as the “C” programming language and / or similar programming languages. The computer-readable program instructions can execute entirely on the computer, partly on the computer, as a stand-alone software package, partly on the computer and / or partly on a remote computer, or entirely on the remote computer and / or server. In the latter scenario, the remote computer can be connected to the computer via any type of network including a local area network (LAN) and / or a wide area network (WAN), and / or can be connected to an external computer (e.g., via the Internet using an Internet service provider).In one or more embodiments, for example, an electronic circuit including a programmable logic circuit, a field programmable gate array (FPGA) and / or a programmable logic array (PLA) can execute computer-readable program instructions by personalizing the electronic circuit using state information of the computer-readable program instructions to perform aspects of one or more embodiments described herein.
[0257] Aspects of one or more embodiments described herein are described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to one or more embodiments described herein. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer readable program instructions. These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, and / or other programmable data processing apparatus to produce a machine, such that the instructions executed via the processor of the computer or other programmable data processing apparatus create means for implementing the functions / acts specified in one or more blocks of the flowchart and / or block diagram. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, other programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium containing the instructions comprises a manufacture including instructions which implement the aspects of the functions / acts specified in one or more blocks of the flowchart and / or block diagram. The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, and / or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus, and / or other devices to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, and / or other devices implement the functions / acts specified in one or more blocks of the flowchart and / or block diagram.
[0258] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and / or operation of a possible implementation of a system, computer-implementable method, or computer program product according to one or more embodiments described herein. In this regard, each block in the flowchart or block diagram may represent a module, segment, and / or portion of instructions, which includes one or more executable instructions for implementing the specified logical function. In one or more alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may be executed substantially concurrently, and / or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be understood that each block of the block diagrams and / or flowchart diagrams, or combinations of blocks in the block diagrams and / or flowchart diagrams, can be implemented by a special purpose hardware-based system that performs the specified functions and / or acts, and / or by combinations of special purpose hardware and computer instructions.
[0259] The subject matter has been described above in the general context of computer-executable instructions of a computer program product that runs on one and / or more computers, and those skilled in the art will recognize that one or more embodiments of this specification may be implemented at least in part in parallel with one or more other program modules. Generally, program modules include routines, programs, components, and / or data structures that perform particular tasks and / or implement particular abstract data types. Further, the computer-implemented methods described above can be implemented in a single-processor computer system and / or a multi-processor computer system, minicomputing devices, mainframe computers, as well as other computer system configurations including computers, handheld computing devices (e.g., PDAs, telephones), and / or microprocessor-based or programmable consumer and / or industrial electronic devices. The illustrated aspects can also be implemented in a distributed computing environment where tasks are performed by remote processing devices linked through a communications network. However, one or more aspects, if not all of the one or more embodiments described herein, can be practiced on a stand-alone computer. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
[0260] As used in this application, the terms "component", "system", "platform", and / or "interface" can refer to, and / or can include, a computer-related entity or an entity related to an operating machine having one or more specific functions. The entities described herein can be either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, a thread of execution, a program, and / or a computer. By way of example, both an application running on a server and the server can be components. One or more components can exist within a process and / or thread of execution, and a component can be localized on one computer and / or can be distributed between two or more computers. In another example, each component can execute from various computer-readable media storing various data structures. A component can communicate through local and / or remote processes via signals such as, for example, data from one component interacting with another component in a local system, a distributed system, and / or across a network such as the Internet through a signal having one or more data packets. As another example, a component can be an apparatus that has specific functionality provided by mechanical parts operated by an electrical or electronic circuit operated by software and / or firmware application executed by a processor. In such a case, the processor can be internal and / or external to the apparatus and can execute at least a portion of the software and / or firmware application.As yet another example, the component can be a device that provides a particular function via electronic components without mechanical parts, and the electronic components can include a processor and / or other means for executing software and / or firmware that at least partially imparts the functions of the electronic components. In one aspect, the component can emulate the electronic components, for example, via a virtual machine within a cloud computing system.
[0261] As used herein, the term "or" means an inclusive "or" rather than an exclusive "or". That is, unless otherwise specified or clear from the context, "X uses A or B" means all natural inclusive substitutions. That is, if X uses A, X uses B, or if X uses both A and B, "X uses A or B" is satisfied in any of the foregoing cases. Further, the articles "a" and "an" used in this specification and the accompanying drawings should generally be construed to mean "one or more" unless specifically stated to indicate the singular form or clear from the context. As used herein, the terms "example" and / or "exemplary" are utilized to mean serving as an example, instance, or illustration. To avoid misunderstanding, the subject matter described herein is not limited by such examples. Further, any aspect or design described herein as "example" and / or "exemplary" should not necessarily be construed as more preferable or advantageous than other aspects or designs, nor does it mean excluding equivalent exemplary structures and techniques known to those skilled in the art.
[0262] As used herein, the term "processor" can refer to substantially any computing processing unit and / or device, including but not limited to a single-core processor, a single processor with software multithreading capabilities, a multi-core processor, a multi-core processor with software multithreading capabilities, a multi-core processor with hardware multithreading technology, a parallel platform, and / or a parallel platform with distributed shared memory. Further, a processor can refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gates or transistor logic, discrete hardware components, and / or any combination thereof designed to perform the functions described herein. Further, a processor can utilize nanoscale architectures such as molecular and quantum dot-based transistors, switches and / or gates, among others, to optimize space usage and / or improve the performance of associated devices, but is not limited thereto. A processor can be implemented as a combination of computing processing units.
[0263] As used herein, terms such as "store", "storage", "data store", "data storage", "database", and substantially any other information storage component related to the operation and functionality of a component are used to refer to an entity embodied in a "memory component", "memory", or a component that includes a memory. The memory and / or memory component described herein can be either volatile memory or non-volatile memory, or can include both volatile memory and non-volatile memory. By way of example and not limitation, non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), flash memory, and / or non-volatile random access memory (RAM) (e.g., ferroelectric RAM (FeRAM)). Volatile memory can include, for example, RAM that can function as an external cache memory. By way of example and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), direct Rambus RAM (DRRAM), direct Rambus dynamic RAM (DRDRAM), and / or Rambus dynamic RAM (RDRAM). Further, the memory component of the system and / or computer-implemented method described herein is intended to include these and / or any other suitable type of memory, but is not limited to including these.
[0264] The foregoing includes only examples of systems and computer-implemented methods. Of course, it is not possible to describe every possible combination of components and / or computer-implemented methods for the purpose of describing one or more embodiments, but one of ordinary skill in the art will recognize that many additional combinations and / or permutations of one or more embodiments are possible. Further, as used in the detailed description, the claims, the appendices, and / or the drawings, terms such as "includes," "has," "possesses," and the like are intended to be as inclusive as the term "comprising" as interpreted when "comprising" is used as a transitional term in the claims, since such terms are to be interpreted as such when used in those contexts.
[0265] The description of various embodiments uses the phrases "one embodiment," "various embodiments," "one or more embodiments," and / or "some embodiments," each of which may refer to one or more of the same or different embodiments.
[0266] The description of the various embodiments is presented for purposes of illustration and is not intended to be exhaustive or limited to the embodiments described herein. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are chosen in order to best explain the principles of the embodiments, the practical application, and / or the technical improvement in technologies found in the marketplace, and / or to enable one of ordinary skill in the art to understand the embodiments described herein.
Claims
1. 1. A system comprising: a memory for storing computer executable components; a processor for executing the computer-executable components stored in the memory, the computer-executable components comprising: an acquisition component for acquiring a signal of the initial hologram based on the energy; an extension component for extending the initial hologram at a boundary of the initial hologram to result in an extended hologram having an extension portion at the boundary; a filter application component that applies an apodization filter based on the extended hologram over the extended portion of the extended hologram.
2. The system of claim 1 , wherein the expansion component expands only a portion of the initial hologram disposed at the boundary.
3. The system of claim 1 , wherein the filter application component applies the apodization filter to at least the extended portion of the extended hologram.
4. The system of claim 1 , wherein the filter application component applies the apodization filter to only the extended portion of the extended hologram.
5. The system of claim 1 , wherein the initial hologram comprises a collection of multiple holograms.
6. 2. The system of claim 1, further comprising a filter generation component that generates the apodization filter by copying pixels from a boundary of the initial hologram and applying those pixels to an exterior of the initial hologram at the boundary, resulting in the extended portion of the extended hologram.
7. The system of claim 1 , further comprising a blurring component that blurs an interior region of the extended hologram that is within the boundary prior to the application of the apodization filter by the filter application component.
8. The system of claim 7 , wherein the blur component gradually increases blur of the interior region as distance from a center of the interior region increases progressively.
9. 2. The system of claim 1, wherein the acquisition component uses a detector that has corrupted pixels, and the application of the apodization filter by the filter application component is the same regardless of whether the detector has the corrupted pixels or does not have the corrupted pixels.
10. The system of claim 1 , wherein the extension of the initial hologram by the extension component enables propagation of artifacts into the extension portion instead of the artifacts reflecting off the boundary back into the area of the initial hologram.
11. acquiring, by a system operatively coupled to a processor, a signal of an initial energy-based hologram; extending, by the system, the initial hologram at a boundary of the initial hologram to obtain an extended hologram having an extended portion at the boundary; applying an apodization filter based on the extended hologram overlying the extended portion of the extended hologram; 4. A computer-implemented method comprising:
12. The computer-implemented method of claim 11 , further comprising expanding, by the system, only a portion of the initial hologram that is disposed at the boundary.
13. The computer-implemented method of claim 11 , further comprising applying, by the system, the apodization filter to only the extended portion of the extended hologram.
14. 12. The computer-implemented method of claim 11, further comprising generating the apodization filter by copying pixels from a boundary of the initial hologram and applying those pixels to an exterior of the initial hologram at the boundary, resulting in the extended portion of the extended hologram.
15. The computer-implemented method of claim 11 , further comprising blurring, by the system, an interior region of the extended hologram that is within the boundary prior to application of the apodization filter.
16. 16. The computer-implemented method of claim 15, further comprising: the system progressively increasing blur of the interior region as distance from a center of the interior region progressively increases.
17. 1. A computer program that facilitates a process for apodization of a hologram, the computer program comprising a computer readable storage medium having program instructions embodied thereon, the program instructions being executable by a processor, the computer program comprising: obtaining, by the processor, a signal of an energy-based initial hologram; expanding, by the processor, the initial hologram at a boundary of the initial hologram to result in an expanded hologram having an expanded portion at the boundary; A computer program that causes the processor to apply, based on the extended hologram, an apodization filter over the extended portion of the extended hologram.
18. The program instructions cause the processor to:
20. The computer program of claim 17, further executable by the processor to cause the apodization filter to be generated by a processor by copying pixels from a boundary of the initial hologram and applying those pixels to an exterior of the initial hologram at the boundary, resulting in the extended portion of the extended hologram.
19. The program instructions cause the processor to:
20. The computer program product of claim 17, further executable by the processor to cause an interior region of the extended hologram within the boundary to be blurred by the processor prior to the application of the apodization filter.
20. The program instructions cause the processor to:
20. The computer program product of claim 19, further executable by the processor to cause the system to progressively increase blurring of the interior region as distance from a center of the interior region progressively increases.