text:
Justia Patents Anti-aliasing Or Image SmoothingUS Patent Application for LOOKUP TABLES FOR TEXT RENDERING Patent Application (Application #20110310115)
LOOKUP TABLES FOR TEXT RENDERING
Jun 21, 2010 - MICOSOFT CORPORATION
Systems and methods are provided for improved filtering and correcting of glyphs on a GPU. The computational intensity required for filtering and/or rendering can be reduced by pre-calculating some or all of the calculations needed for converting coverage data into corrected pixel values. Additional efficiencies may be realized in some embodiments by transferring data from a CPU to a GPU in an improved format. The improvements can be realized in a variety of graphics formats.
Latest MICOSOFT CORPORATION Patents:
Application reputation service
Systems and Processes for Managing Policy Change in a Distributed Enterprise
Method and apparatus for identifying programming object attributes
Rights management inter-entity message policies and enforcement
Extended file system
A glyph is an image used to visually represent a character or characters. For example, a font may be a set of glyphs where each character of the font represents a single glyph. However, a glyph may also include multiple characters of a font and vice versa. That is, one character of a font may correspond to several glyphs or several characters of a font to one glyph. In other words, a glyph is the shape of a series of curves that delimit the area used to represent a character or characters. The computer-implemented process used to generate glyph curves and the resulting characters is referred to as text rendering.
Rendering text can be one of the more expensive operations in terms of central processing unit (CPU) usage. One process for rendering text includes the four step process of rasterizing, merging, filtering, and correcting. The rasterizing step includes converting the glyph curves to a bitmap. The format of the bitmap is typically 1-bit-per-pixel (1 bpp) and it may be "overscaled" in one or more directions. For example, the bitmap may be overscaled in the vertical or horizontal direction. Overscaling refers to a process where each bit of data, or texel, used to generate the bitmap is smaller than the pixel used to display the glyph.
The merging step includes merging nearby glyphs to prevent artifacts or undesirable characters. For example, anti-aliasing (including sub-pixel rendering) involves drawing some pixels semi-transparently. Because each glyph may be drawn independently, it is possible for the same pixel to be drawn semi-transparently multiple times in locations where the glyphs overlap. This may result in the pixel appearing too dark. To avoid this, the merging step combines the bitmaps for all the glyphs into a single texture. The filtering and blending steps are performed on the single texture rather than separately for each glyph. Thus, the merging steps combines the individual glyphs to achieve a continuous appearance and ensure there are not overlapping or separated glyphs.
The filtering step takes the merged glyphs and calculates the "coverage" for each pixel. The term coverage refers to determining the necessary intensity or value for each individual pixel used to display the merged glyphs. For example, a pixel that falls completely within the area of the glyph curve would have a 100% coverage. Likewise, a pixel that is completely outside the area of the glyph curve would have 0% coverage. Thus, the coverage value may fall anywhere in between 0% to 100% depending on the particular filtering method used for rendering the glyph.
The correcting step may include sub-pixel rendering to improve the readability of the characters. One example of correcting can involve modifying the coverage for each pixel based on known factors that improve the readability of a glyph. These can include emphasizing or de-emphasizing certain colors and/or pixels within a glyph to avoid appearance artifacts when a glyph is displayed. Another example of correcting can be blending of pixels to exploit the pixel structure of a Liquid Crystal Display (LCD). Specifically, sub-pixel rendering is possible because one pixel on an LCD screen is composed of three sub-pixels: one red, one green, and one blue (RGB). To the human eye these sub-pixels appear as one pixel. However, each of these pixels is unique and may be controlled individually. Thus, the resolution of the LCD screen may be improved by individually controlling the sub-pixels to increase the readability of text displayed on the LCD.
One method to render the text is to perform the first three steps on the CPU. That is, the rasterizing, merging, filtering steps are performed on the CPU and the blending step is preformed on the graphic processing unit (GPU). In terms of CPU usage, the merging and the filtering steps are the most computational intensive.
In various embodiments, systems and methods are provided for improved filtering and correcting of glyphs on a GPU. The computational intensity required for filtering and/or rendering can be reduced by pre-calculating some or all of the calculations needed for converting coverage data into corrected pixel values. Additional efficiencies may be realized in some embodiments by transferring data from a CPU to a GPU in an improved format. The improvements can be realized in a variety of graphics formats.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid, in isolation, in determining the scope of the claimed subject matter.
The invention is described in detail below with reference to the attached drawing figures, wherein:
FIG. 1 is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention.
FIG. 2 schematically shows an example of components for rendering text pixels.
FIG. 3 depicts a flow chart of a method according to an embodiment of the invention.
FIG. 6 schematically shows another example of components for rendering text pixels.
FIG. 7 shows the alignment of 6×1 pixel coverage data stored in an 8-bits-per-byte format.
After a bitmap of a glyph is determined, rendering text based on the glyph bitmap can require completion of several tasks. One can include transferring coverage data for rendering from a central processing unit (CPU) to a graphics processing unit (GPU). Another task can be unpacking the transferred data into a recognizable format. A third task can be converting the coverage data into pixel information. Additionally, various corrections can be applied to the pixel to improve the final display of the text. Rendering text in an efficient manner can involve balancing the memory requirements and processing requirements for displaying pixels based on coverage data.
Data Transfer and Unpacking
Transferring coverage data from the CPU to the GPU is one possible bottleneck during text rendering. Conventionally, coverage data has been transferred in a simple format, such as transferring one-bit-per-pixel (1 bpp) data by using a separate byte to hold each bit of data. Using a byte to hold each bit of 1 bpp data simplifies the unpacking of data transferred to the GPU, as each bit is located in a separately addressable location. However, this type of data transfer can be inefficient from a memory standpoint, as the majority of data space in each byte is not used. This inefficiency can be exacerbated by any oversampling used in representing the pixel data. For example, one common type of oversampling for text data (such as ClearType data) is to use a 6×1 coverage data format for each pixel. In a 6×1 format, 10 total bits are needed to represent three channels of data for the pixel. The channels typically correspond to the red, green, and blue components of a pixel. Thus, when transferring data in a 1 bpp format with a separate byte for each bit, 10 bytes are needed to transfer the red, green, and blue components for the pixel. In this type of data transfer, the bits necessary to specify a pixel are easily assembled, as the 10 bits can be retrieved from their individual bytes that do not include any other data.
In various embodiments, an improved method is provided for transferring and/or unpacking coverage data. Instead of transferring the 1 bbp data with each bit in a separate byte, data can be passed into the GPU using a higher data density format, such as 8-bits-per-pixel. This increases the amount of data transferred in each byte, which can reduce the overall memory usage on the GPU.
Transferring data in a higher data density format can require additional processing to unpack the data. Due to the higher density format, the information for each pixel may not cleanly align with the boundaries of individual bytes. For example, 6×1 coverage data includes 10 bits of information per pixel, while an 8 bpp data format includes only 8 bits per byte. Additionally, for glyphs corresponding to ClearType text, each pixel overlaps with an adjacent pixel by 4 bits due to overlap in pixel information for the ClearType filter. As a result, for an example of 1 bpp ClearType text transferred using an 8 bpp packing scheme, each byte of transferred data can include information for more than one pixel, and determining the display value for a pixel can require data from more than one byte. This situation is shown in FIG. 6, which shows an example of how 6×1 coverage data is stored in an 8 bpp format.
The method for unpacking the coverage data can depend on the type of display hardware that is available. For a hardware display using the DirectX 10 format (Dx10), bit shifting instructions are available. This means that any pixel information that is needed can be obtained by accessing the two bytes of data that contain the 10 bits corresponding to a pixel. Bit shifting instructions can then be used to select the bits within each byte that correspond to the pixel of current interest. The bits can then be assembled to form a 10-bit number corresponding to the coverage data for the pixel. Similar manipulations can be used for other data formats, based on the relationship between the number of bits in a pixel relative to the packing of the coverage information.
Additional operations may be needed for hardware that does not include bit shifting functionality. For example, DirectX 9 (Dx9) does not support bit shifting operations. Instead, information sampled by the pixel shader in Dx9 is returned as floating point value between 0 and 1. In order to extract the pixel data in this situation, the value stored in each byte can be multiplied by 255, and then rounded to an integer. The next operation then depends on the portion of the original byte that contains the relevant bits for a desired pixel. If a right bit shift is desired, the integer can be multiplied by a negative power of two. A "floor" operation can then be used to remove the undesired bits, which are all to the right of the decimal point after the multiplication. If a left bit shift is desired, the integer can be multiplied by a positive power of two, and a "frac" operation can be used to remove the undesired bits which are located to the left of the decimal point. Multiplying by a negative power of two can then be used to return the remaining bits to the original position.
Bit Assembly and Data Lookup
Based on the above, a higher density data format can be used to transfer 1 bbp format data to a GPU. After identifying the bits corresponding to a pixel, the bits can be assembled to form a single number. For example, in a 6×1 format, the bits can be assembled to form a 10-bit number. A 6×5 format could be assembled to form 5 10-digit numbers. More generally, the number of bits corresponding to a pixel can be assembled. Note that a simple arithmetic add operation may be sufficient to assemble the bits, as the bit shifting (or power of two multiplications) describe above can be used so that there is no overlap between the bits from two original 8-bit bytes.
The assembled bits can then be used to determine a pixel value. In an example using 6×1 oversampled data, the separate red, green, and blue values can be calculated for each pixel as it is unpacked in a conventional manner. However, since there are only a relatively small number of possible combinations (1024 for a 10-bit number), applicants have determined that it can be more efficient to calculate the value for any possible pixel ahead of time. The 10-bit value for a pixel can then be used as an index to look up the correct value in a table. Thus avoids repeating the same calculation multiple times, thus reducing the processing burden on the GPU.
For a data format such as 6×1 data, the total number of bits per pixel (10) results in a manageable number of combinations (1024). However, some oversampling formats result in larger data amounts per pixel, which can complicate the determination of a pixel value. For example, another available oversampling format is 6×5 data, which effectively incorporates five columns of 6×1 data. Based on current computational capabilities for general purpose computing devices, it is not practical to pre-calculate the 250 combinations that would be needed to directly construct a lookup table using a 50-bit index. For 6×5 format data, this can be addressed by treating the data as five rows of 10-bit data. Lookup tables can be computed for uncorrected pixel values for the 10-bit coverage data rows as described above. The five rows of coverage data can then be vertically filtered to combine the data into a single pixel value. Optionally, this latter operation can be handled by a conventional pixel shader. Note that based on the above, the term "pixel value" can refer to either a complete pixel value or a partial pixel value that can be combined with other partial values to form a complete value. In some situations, a partial pixel value will be referred to when specifically describing a pixel value that is combined with other partial values to form a complete value. An example of a partial pixel value can be a value based on one row of 6×5 oversampled coverage data.
Pixel Correction Factor
The above methods can allow for efficient transfer of 1 bpp coverage data to a GPU, and then efficient calculation of pixel values based on the coverage data. By itself, this can provide memory and/or computational time savings for a GPU. However, additional improvements are possible if some or all of the pixel correction factors can be incorporated into the lookup table.
For conventional processing of 6×1 coverage data, such as ClearType data, the 10 bits of coverage data are assembled and processed to provide the red, green, and blue pixel information. Based on the values of the pixel information, one or more correction values or factors are then applied to the data. These corrections can be used to improve the appearance of the text formed by the displayed pixels. The corrections can include (enhanced) contrast adjustment, ClearType level adjustment, and alpha corrections. Additionally, an adjustment may be necessary for monitors that use a blue-green-red format for expressing pixel information, as opposed to a red-green-blue format. Conventionally, each of these correction factors is applied to each pixel based on the red, green, and blue channel values in the data, and requires separate additional calculations after determining the uncorrected pixel value.
In some embodiments, one or more of the correction factors applied to pixel values can be pre-calculated and incorporated into the lookup table. Many of the corrections applied to pixel values are fully specified by the assembled coverage data bits. For example, the assembled 10-bit number for 6×1 format coverage data provides sufficient information to determine various corrections that can be applied to the pixel value. Such corrections can include an enhanced contrast correction, a ClearType level adjustment, or an alpha value correction. Since the corrections to the pixel value can also be determined ahead of time, these corrections can also be pre-calculated. This allows the lookup table to store a corrected pixel value, which further reduces the number of calculations required by the GPU.
It is noted that one or more of the correction factors applied to pixels used for text rendering may be variable based on a user or hardware setting. For example, the correction factors applied to a pixel value may be dependent on the background and text colors selected by a user or a contrast setting of a hardware display device. As a result, if corrections to pixel values are included in the lookup table, a new lookup table will be needed each time a change is made that modifies the correction factors. One way to accommodate this can be to have an atlas of lookup tables. For common user and display settings and/or recent combinations of settings, a lookup table can be stored in an atlas of lookup tables. If a new combination of settings is selected that has not been computed before, a new table can be calculated and added to the atlas. In order to conserve memory, the atlas of lookup tables can include a limited number of tables. For example, 20 tables for 10-bit data lookup can be stored in less than 96 kB of space. When a new table is added, one of the tables can be selected for removal, such as the least recently used table.
The data corrections for a pixel value can present an additional challenge for large data formats. For example, data in a 6×5 format requires a total of 50 bits to specify a pixel value. As described above, a lookup table for uncorrected pixel values can be generated by analyzing the data as five 10-bit data rows. However, at least some of the correction factors for pixel value are based all of the oversampling data for a pixel, and cannot be readily separated out for inclusion in 10-bit data table corresponding to a portion of the oversampling data. For example, an enhanced contrast correction for 6×5 pixel values should be calculated and applied after the 10-bit data rows are vertically integrated. For the pixel corrections on larger data formats, one option can be to calculate the corrections in the conventional way based on the data retrieved from the lookup table. Alternatively, in an example related to 6×5 format coverage data, the result of the vertical integration is three grayscale channels corresponding to the red, green, and blue channels of a display monitor. For each of these grayscale channels separately, at least some of the correction data can be stored in an appropriately sized table. Thus, some calculations can be avoided by having lookup tables for some correction values, while conventionally calculating the remaining corrections.
FIG. 6 schematically shows a process flow for display of text pixels according to an embodiment of the invention. In FIG. 6, an expanded view of the process is provided to provide overall context. Texture coverage rectangle and texture coordinates 610 represent the grid that is used for rasterizing text. Vertex shader 620 includes functionality for performing a screen space transform 622 and copying texture coordinates 624. Pixel shader 630 includes functionality for performing a coverage calculation 632 and calculating a correction, such as an alpha adjustment 634. The lbpp coverage data 660 is processed by pixel shader 630. As part of this processing, some calculations can be replaced by coverage lookup table 672 and alpha lookup table 674. Blend stage 640 includes functionality for performing additional blending, such as ClearType blending 642.
Having briefly described an overview of various embodiments of the invention, an exemplary operating environment suitable for performing the invention is now described. Referring to the drawings in general, and initially to FIG. 1 in particular, an exemplary operating environment for implementing embodiments of the present invention is shown and designated generally as computing device 100. Computing device 100 is but one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing device 100 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated.
Embodiments of the invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules, including routines, programs, objects, components, data structures, etc., refer to code that perform particular tasks or implement particular abstract data types. The invention may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialty computing devices, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
With continued reference to FIG. 1, computing device 100 includes a bus 110 that directly or indirectly couples the following devices: memory 112, one or more processors 114, one or more presentation components 116, input/output (I/O) ports 118, I/O components 120, and an illustrative power supply 122. Bus 110 represents what may be one or more busses (such as an address bus, data bus, or combination thereof). Although the various blocks of FIG. 1 are shown with lines for the sake of clarity, in reality, delineating various components is not so clear, and metaphorically, the lines would more accurately be grey and fuzzy. For example, one may consider a presentation component such as a display device to be an I/O component. Additionally, many processors have memory. The inventors hereof recognize that such is the nature of the art, and reiterate that the diagram of FIG. 1 is merely illustrative of an exemplary computing device that can be used in connection with one or more embodiments of the present invention. Distinction is not made between such categories as "workstation," "server," "laptop," "hand-held device," etc., as all are contemplated within the scope of FIG. 1 and reference to "computing device."
The computing device 100 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by computing device 100 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Electronically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other holographic memory, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, carrier wave, or any other medium that can be used to encode desired information and which can be accessed by the computing device 100. In an embodiment the computer storage media can be tangible computer storage media. In an embodiment the computer storage media can be non-transitory computer storage media.
The memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. The computing device 100 includes one or more processors that read data from various entities such as the memory 112 or the I/O components 120. The presentation component(s) 116 present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, and the like.
The I/O ports 118 allow the computing device 100 to be logically coupled to other devices including the I/O components 120, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
FIG. 2 details components of the computing device 100 that may be used for processing a glyph and rendering text. Some of the GPU 124 hardware includes one or more procedural shaders. Procedural shaders are specialized processing subunits of the GPU 124 for performing specialized operations on graphics data. An example of a procedural shader is a vertex shader 126, which generally operates on vertices. For instance, the vertex shader 126 can apply computations of positions, colors and texturing coordinates to individual vertices. The vertex shader 126 may perform either fixed or programmable function computations on streams of vertices specified in the memory of the graphics pipeline. Another example of a procedural shader is a pixel shader 128. For instance, the outputs of the vertex shader 126 can be passed to the pixel shader 128, which in turn operates on each individual pixel. After a procedural shader concludes its operations, the information is placed in a GPU buffer 130, which may be presented on an attached display device or may be sent back to the host for further operation.
The GPU buffer 130 provides a storage location on the GPU 124 as a staging surface or scratch surface for glyph textures. As various rendering operations are performed with respect to a glyph texture, the glyph may be accessed from the GPU buffer 130, altered and re-stored on the buffer 130. As known to those skilled in the art, the GPU buffer 130 allows the glyph being processed to remain on the GPU 124 while it is transformed by a text pipeline. As it is time-consuming to transfer a glyph from the GPU 124 to the memory 112, it may be preferable for a glyph texture or bitmap to remain on the GPU buffer 130.
With respect to the pixel shader 128, specialized pixel shading functionality can be achieved by downloading instructions to the pixel shader 128. For instance, downloaded instructions may enable specialized merging, filtering, or averaging of the glyph texture. Furthermore, the functionality of many different operations may be provided by instruction sets tailored to the pixel shader 128. The ability to program the pixel shader 128 is advantageous for text rendering operations, and specialized sets of instructions may add value by easing development and improving performance. By executing these instructions, a variety of functions can be performed by the pixel shader 128, assuming the instruction count limit and other hardware limitations of the pixel shader 128 are not exceeded.
FIG. 3 depicts a flow chart showing a method according to an embodiment of the invention. In the embodiment shown in FIG. 3, 1-bit-per-pixel coverage data is received 310. The coverage data has an oversampled format, such as a 6×1 format. The received coverage data is stored in a storage format of greater than 1 bit per byte of storage. Bits of coverage data are assembled 320 to form an n-bit value. The n-bit value corresponds to a pixel having the oversampled format, such as a 10-bit value for a 6×1 format. A pixel value table is indexed 330 using the n-bit value. At least one pixel value corresponding to the indexed location is retrieved 340. A pixel is then rendered 350 based on the retrieved at least one pixel value.
FIG. 4 depicts a flow chart showing another method according to an embodiment of the invention. In the embodiment shown in FIG. 4, 1-bit-per-pixel coverage data is received 410. The coverage data has an oversampled format, such as a 6×5 format. The received coverage data is stored in a storage format of greater than 1 bit per byte of storage. Bits of coverage data are assembled 420 to form a plurality of n-bit values. Each of the n-bit values corresponds to a portion of a pixel having the oversampled format, such as a group of 10-bit values that are part of pixel coverage data for a 6×5 format. Each of the n-bit values also includes bits from a plurality of bytes. A pixel value table is indexed 430 a plurality of times using the plurality of n-bit values. The same pixel value table can be indexed a plurality of times, or optionally the n-bit values can be used to index more than one pixel value table. A plurality of partial pixel values corresponding to the indexed locations are retrieved 440. The retrieved partial pixel values are combined 450 to form a plurality of combined pixel values. A pixel is then rendered 460 based on the combined pixel values.
FIG. 5 depicts a flow chart showing a method according to yet another embodiment of the invention. In the embodiment shown in FIG. 5, 1-bit-per-pixel coverage data is received 510. The coverage data has an oversampled format, such as a 6×5 format. The received coverage data is stored in a storage format of greater than 1 bit per byte of storage. A byte of stored pixel coverage data is sampled 520 as a floating point data type. The byte includes one or more bits corresponding to coverage data for a pixel to be rendered. The sampled floating point byte is transformed 530 to segregate the one or more bits in the stored data. For example, the transformation can be a multiplication by a power of two, so that the bits of interest are segregated on one side of the decimal point for the number. The transformed byte is truncated 540 to remove bits not corresponding to the one or more segregated bits. The segregated bits are assembled 550 with at least one other portion of segregated bits to form an n-bit value corresponding to a pixel having the oversampled format. A pixel value table is indexed 560 using the n-bit value. At least one pixel value is retrieved 570 corresponding to the indexed location. A pixel is then rendered 580 based on the retrieved at least one pixel value.
The following is a prophetic example. A change to a display setting is detected for a physical display that is depicting antialiased objects, such as text. The pixels on the physical display are being rendered based on 6×1 oversampled 1 bpp coverage data. The change can be a change in a setting on the physical display device, a change in the color of text to be displayed, or another change. Based on the change, the settings that impact display pixels are detected. The detected settings are compared with the settings for lookup tables stored in an atlas of lookup tables. If a matching group of settings is not found, a new lookup table is created. The lookup table provides the corrected pixel value for each of the possible 210 combinations possible for 6×1 coverage data. The corrected pixel value includes the corrections for the pixel value, such as alpha correction, ClearType correction, or any other type of correction. The new lookup table is added to the atlas, and the oldest lookup table in the atlas is removed.
The new lookup table is then used to render objects on the display device, such as text glyphs. The glyphs for display are represented as 6×1 oversampled 1 bpp coverage data. The 1 bpp data is packed by placing 8 bits of data into a byte for transfer from a CPU to a GPU. After transfer to the GPU, the data for each pixel is extracted by accessing the two bytes containing data corresponding to the pixel. Bit shifting operations are used to isolate the bits of interest, and a 10-bit number is formed from the bits of interest. This 10-bit number is then used to index the new lookup table. The stored pixel value corresponding to the 10-bit number is retrieved and used for display. If all corrections are incorporated into the stored value, the stored pixel value may not need any other correction calculations.
Additional Embodiments
In a first embodiment, a method for antialiased rendering is provided. The method includes: receiving 1-bit-per-pixel coverage data having an oversampled format, the received coverage data having a storage format of greater than 1 bit per byte of storage; assembling bits of coverage data to form an n-bit value corresponding to a pixel having the oversampled format; indexing a pixel value table using the n-bit value; retrieving at least one pixel value corresponding to the indexed location; and rendering a pixel based on the retrieved at least one pixel value.
In a second embodiment, a method according to the first embodiment is provided, wherein assembling bits of coverage data to form an n-bit value includes: sampling a byte of stored pixel coverage data as a floating point data type, the byte including one or more bits corresponding to coverage data for a pixel to be rendered; transforming the sampled floating point byte to segregate the one or more bits in the stored data; truncating the transformed byte to remove bits not corresponding to the one or more segregated bits; and assembling the segregated bits with at least one other portion of segregated bits to form an n-bit value corresponding to a pixel having the oversampled format.
In a third embodiment, a method according to any of the above embodiments is provided, wherein the oversampled format for the coverage data is a 6×1 format, the n-bit value corresponding to a 10-bit value.
In a fourth embodiment, a method according to any of the above embodiments is provided, further comprising combining the at least one pixel value with at least a second pixel value to form a combined pixel value, wherein the rendered pixel is based on the combined pixel value.
In a fifth embodiment, a method according to any of the above embodiments is provided, wherein assembling bits to form a plurality of n-bit values comprises assembling bits from a plurality of bytes.
In a sixth embodiment, a method for antialiased rendering is provided. The method includes receiving 1-bit-per-pixel coverage data having an oversampled format, the received coverage data having a storage format of greater than 1 bit per byte of storage; assembling bits of coverage data to form a plurality of n-bit values, each n-bit value corresponding to a pixel having the oversampled format and each n-bit value including bits from a plurality of bytes; indexing a pixel value table a plurality of times using the plurality of n-bit values; retrieving a plurality of pixel values corresponding to each indexed location; combining retrieved pixel values corresponding to a plurality of indexed locations to form a plurality of combined pixel values; and rendering a pixel based on the plurality of combined pixel values.
In a seventh embodiment, a method according to the sixth embodiment is provided, wherein retrieving a plurality of pixel values comprises retrieving three channels of pixel values.
In an eighth embodiment, a method according to the seventh embodiment is provided, wherein combining the retrieved pixel values comprises combining the three channels of pixel values to form three combined channel pixel values.
In a ninth embodiment, a method according to the eighth embodiment is provided, further comprising: indexing a correction factor table using a combined channel value to retrieve a correction factor; and applying the correction factor to the combined channel value.
In a tenth embodiment, a method according to any of the sixth through ninth embodiments is provided, wherein the oversampled format for the coverage data is a 6×5 format, wherein each n-bit value corresponds to a 10-bit value.
In an eleventh embodiment, a method according to any of the above embodiments is provided, wherein the received coverage data has a storage format of at least 8-bits-per-byte.
In a twelfth embodiment, a method according to any of the above embodiments is provided, wherein the 1-bit-per-pixel coverage data represents coverage data for a text glyph.
In a thirteenth embodiment, a method according to any of the above embodiments is provided, further comprising: detecting a change that modifies a pixel correction factor; and constructing a table of pixel values that incorporates the modified pixel correction factor, wherein indexing a pixel value table using the n-bit value comprises indexing the constructed table.
In a fourteenth embodiment, a method according to the thirteenth embodiment is provided, wherein the constructed table is stored in an atlas of tables.
Embodiments of the present invention have been described in relation to particular embodiments, which are intended in all respects to be illustrative rather than restrictive. Alternative embodiments will become apparent to those of ordinary skill in the art to which the present invention pertains without departing from its scope.
From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects hereinabove set forth together with other advantages which are obvious and which are inherent to the structure.
It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations. This is contemplated by and is within the scope of the claims.
1. One or more computer-storage media storing computer-useable instructions that, when executed by a computing device, perform a method for antialiased rendering, comprising:
receiving 1-bit-per-pixel coverage data having an oversampled format, the received coverage data having a storage format of greater than 1 bit per byte of storage;
assembling bits of coverage data to form an n-bit value corresponding to a pixel having the oversampled format;
indexing a pixel value table using the n-bit value;
retrieving at least one pixel value corresponding to the indexed location; and
rendering a pixel based on the retrieved at least one pixel value.
2. The one or more computer-storage media of claim 1, wherein the oversampled format for the coverage data is a 6×1 format, the n-bit value corresponding to a 10-bit value.
3. The one or more computer-storage media of claim 1, wherein the received coverage data has a storage format of at least 8-bits-per-byte.
4. The one or more computer-storage media of claim 1, wherein the 1-bit-per-pixel coverage data represents coverage data for a text glyph.
5. The one or more computer-storage media of claim 1, further comprising:
detecting a change that modifies a pixel correction factor; and
constructing a table of pixel values that incorporates the modified pixel correction factor,
wherein indexing a pixel value table using the n-bit value comprises indexing the constructed table.
6. The one or more computer-storage media of claim 5, wherein the constructed table is stored in an atlas of tables.
7. The one or more computer-storage media of claim 1, wherein assembling bits to form a plurality of n-bit values comprises assembling bits from a plurality of bytes.
8. A method for antialiased rendering, comprising:
assembling bits of coverage data to form a plurality of n-bit values, each n-bit value corresponding to a pixel having the oversampled format and each n-bit value including bits from a plurality of bytes;
indexing a pixel value table a plurality of times using the plurality of n-bit values;
retrieving a plurality of pixel values corresponding to each indexed location;
combining retrieved pixel values corresponding to a plurality of indexed locations to form a plurality of combined pixel values; and
rendering a pixel based on the plurality of combined pixel values.
9. The method of claim 8, wherein retrieving a plurality pixel values comprises retrieving three channels of pixel values.
10. The method of claim 9, wherein combining the retrieved pixel values comprises combining the three channels of pixel values to form three combined channel pixel values.
indexing a correction factor table using a combined channel value to retrieve a correction factor; and
applying the correction factor to the combined channel value.
12. The method of claim 8, wherein the oversampled format for the coverage data is a 6×5 format, wherein each n-bit value corresponds to a 10-bit value.
13. The method of claim 8, wherein the received coverage data has a storage format of at least 8-bits-per-byte.
14. The method of claim 8, wherein the 1-bit-per-pixel coverage data represents coverage data for a text glyph.
15. The method of claim 8, wherein assembling bits to form a plurality of n-bit values comprises assembling bits from a plurality of bytes.
16. One or more computer-storage media storing computer-useable instructions that, when executed by a computing device, perform a method for rendering text, comprising:
sampling a byte of stored pixel coverage data as a floating point data type, the byte including one or more bits corresponding to coverage data for a pixel to be rendered;
transforming the sampled floating point byte to segregate the one or more bits in the stored data;
truncating the transformed byte to remove bits not corresponding to the one or more segregated bits;
assembling the segregated bits with at least one other portion of segregated bits to form an n-bit value corresponding to a pixel having the oversampled format;
17. The one or more computer-storage media of claim 16, wherein transforming the sampled floating point byte comprises multiplying the value in the byte by a power of two to segregate the one or more bits corresponding to a pixel to be rendered relative to a decimal point.
18. The one or more computer-storage media of claim 16, wherein assembling the segregated bits with at least one other portion of segregated bits comprises:
multiplying the truncated, transformed byte by a power of two to modify the location of the segregated bits in the truncated, transformed byte; and
adding the multiplied, truncated, transformed byte to a second byte containing segregated bits, the segregated bits occupying different bit locations in the multiplied, truncated, transformed byte and the second byte.
19. The one or more computer-storage media of claim 16, wherein the oversampled format for the coverage data is a 6×1 format, the n-bit value corresponding to a 10-bit value.
20. The one or more computer-storage media of claim 16, further comprising combining the at least one pixel value with at least a second pixel value to form a combined pixel value, wherein the rendered pixel is based on the combined pixel value.
Applicant: MICOSOFT CORPORATION (Redmond, WA)
Inventors: Blaise Pascal Fonkou Tine (Lynnwood, WA), Christopher Nathaniel Raubacher (Redmond, WA), Anthony John Rolls Hodsdon (Seattle, WA), Miles Mark Cohen (Seattle, WA)
Current U.S. Class: Anti-aliasing Or Image Smoothing (345/611)
International Classification: G09G 5/00 (20060101);


Octopuses -- Research -- French Polynesia | Moorea -- Juvenile literature.
Mather, Jennifer A. -- Juvenile literature.
Octopuses -- Research -- French Polynesia | Moorea.
Science Books and Films Prize for Excellence in Science Books, Middle Grades Science Book, 2016.


text:
a taste of home cookbook uk
On top of this, The Passage is a wonderful cause to support. But this is not the reality for everyone, particularly in our capital city. Taste of Home is America's #1 cooking magazine. By continuing to browse the site you accept our Cookie Policy, you can change your settings at any time. Good luck... Get cozy and expand your home library with a large online selection of books at eBay.com. Please enter your email address below and we'll send you a link to reset your password. Publisher: The Passage Trading Services Ltd For the first time ever, the Taste of Home Cookbook gathers the most requested, best loved recipes from the readers of Taste of Home magazine into the most comprehensive cookbook we've ever published. Plus it's fun to see which recipes the famous chefs and celebrities have... Look inside, and you'll find everything you need to set a hot and hearty meal on the table—busy weeknight dinners and memorable holiday menus alike. Qalbi Art The charity has worked with the families and pupils from Sevenoaks School to produce this book containing 27 authentic Syrian recipes brought to life with stunning photography that makes your mouth water. Number of pages: 224 Their registered charity number is 1184120. Wake up, sleepyhead! The UK government scheme is funded to support further families, if more properties can be found for rental. Only 20 left in stock (more on the way). See the latest update on refugee numbers from UNHCR. From Taste of Home, this exciting new cookbook follows Simple & Delicious magazine by offering page after page of family-pleasing foods you can make in 30 minutes, 15 minutes--even 5 minutes! Through community meals, cooking workshops and neighbourhood gatherings, the people in this book have tried to integrate into their new home, while honouring the land they left. With hundreds of time-saving tips and tricks, this cookbook from the top-selling cooking magazine, Taste of Home, instantly became a must have for millions of people. This item can be requested from the shops shown below. The book has been compiled by Passage volunteer and former publisher Kyle Cathie and will be published on 15 October 2020. 1; 0; Request Index; show. 5.0 out of 5 … ... Like many concepts in the book world, "series" is a somewhat fluid and contested notion. ORDER NOW Shop our exclusive line of trusted cookbooks, specialty books, magazines and products tested & approved by our Taste of Home Test Kitchen for guaranteed success for home cooks like you. Your local Waterstones may have stock of this item. More, Full of delicious and accessible recipes, this is a great book to have to hand in the kitchen. On top of this, The Passage is a wonderful cause to support. The Passage is marking 40 years of helping London's homeless in 2020 with this beautifully photographed book commemorating the invaluable and continuing work the charity does. The recipes look lovely - and so appetizingly photographed. From warm clothes and children's swimming lessons, to laptops, professional accountancy exams and English language books, these small grants are helping all the families thrive in a new country. If this item isn't available to be reserved nearby. Taste of Home Cookbook (5th Edition) Taste of Home. Such amazing stories behind all the beautiful pictures. Taste of Home $4.69 - $4.79 Shops are open for collection only and may have reduced opening hours, Your order is now being processed and we have sent a confirmation email to you at. Featuring 1,380 recipes, a bonus chapter of 30-minute entrees, and icons that highlight 5-ingredient dishe This 4th edition of the best-selling cookbook, is packed with more than 1,300 recipes, 1200 color photos, kitchen tips, storage guidelines, how-to photos and more, from the world's #1 cooking magazine. More, A wonderful team of people have got together to produce this beautiful, inspiring recipe book to celebrate and support such a worthwhile cause. More. If you'd like to be the first to hear about special offers and one-off originals, click here to sign up for emails. Taste of Home Diabetes Cookbook: Eat right, feel great with 370 family-friendly, crave-worthy dishes! 12 of the Best Breakfast Burritos Ever. Taste of Home Healthy Cooking Cookbook: Eat right with 501 family-favorite dishes! Foreword to A Taste of Home by HRH The Duke of Cambridge, 2020 . All profits will go directly towards supporting people who are street homeless and in housing crisis. Sevenoaks Welcomes Refugees was formed in March 2017 to help support refugees from Syria resettling in the Sevenoaks district. This included coordinating the public appeals for donated household items and clothes, to supplement the official package of provision, identified private sector landlords who have been able to provide the scheme-rented houses in Swanley and Sevenoaks town, put in place a language support programme of regular conversation classes, to supplement the official package of language provision, organised outings for the refugees, to help them integrate in their local community and the surrounding area, made grants to refugee families to assist in their long-term resettlement and improve their quality of life. To mark this anniversary of its tireless work – which became even more crucial during lockdown – comes an inspiring new cookbook A Taste of Home, which is packed with 120 tasty recipes created by some of the UK's most famous and well-loved names, including Nadiya Hussain, Rick Stein and Stephen Fry. You will also find key recipe hacks to help make use of the quick cooking feature of the Instant Pot like hard-boiled eggs, rice, beans, oatmeal, soups and bone broths, even cheesecakes and more. Dimensions: 255 x 200 mm, I was so impressed with the huge selection of different contributors and recipes. The site uses cookies to offer you a better experience. I'm very proud to be supporting a local charity Sevenoaks Welcomes Refugees that is doing all sorts of amazing things to help and support Syrian refugees who have come to live in the Kent town after being forced to flee their homeland. Across the country, millions of us take it for granted that we finish the day enjoying a meal in the sanctuary of our own home. Great food to be shared in company; with family, friends and invited guests. - GOOD. by Taste of Home 4.3 out of 5 stars 126. C $5.24. The sale of this beautiful book directly supports Syrian refugees I'm very proud to be supporting a local charity Sevenoaks Welcomes Refugees that is doing all sorts of amazing things to help and support Syrian refugees who have come to live in the Kent town after being forced to … £10 from every purchase of this book will go straight to the charity to help them provide more-much needed support. Get it as soon as Wed, Dec 30. Your review has been submitted successfully. $26.00. As well as being a celebration of good food, it also marks the 20th anniversary of La Boheme. Great for breakfast, lunch or dinner plus appetizers and desserts. $24.99 Everyday Air Fryer. These meaty, cheesy … welcoming, help with learning English, finding jobs, providing lifts, sourcing necessary household items), Building public understanding of and support for the Syrian Vulnerable Persons Resettlement Scheme (SVPRS), Finding private landlords willing to take part in the government-funded rent payment scheme, 4: Seeking to influence Sevenoaks District Council and Kent County Council, led a successful public campaign in 2017 to encourage Sevenoaks District Council to participate in the Syrian Vulnerable Persons Resettlement Scheme, helped plan and implement arrangements for the arrival and ongoing support of four refugee families (Eynsford, Swanley and Sevenoaks town x 2): 11 adults and 11 children, from Damascus, Aleppo and Idlib. Categories: Low fat ISBN: 9780898217629 Hardcover 1/1/2009 Bookshelf. A good rule of thumb is that series have a conventional name and are intentional creations, on the part of the author or publisher. These are some of the things the charity has achieved so far: They are also looking at how they can contribute funding to enable more local properties to be rented to refugee families to help resettle some more of the nearly 6 million most vulnerable Syrian refugees currently living in wretched conditions in the countries surrounding Syria: Egypt, Lebanon, Jordan and Turkey. They are currently supporting the resettlement of 4 Syrian refugee families in Eynsford, Swanley and Sevenoaks town – 22 people: 11 adults and 11 children. A 24-year-old Thunder Bay, Ont. 99. A UK government-funded scheme, the SVPRS is administered across Kent by Kent County Council and in our area by Sevenoaks District Council. The book can also be purchased, online and in store, from Waterstones and all good retailers from 15 October to coincide with our anniversary month. Taste of Home. WPA PoolGetty Images Prince William has written the foreword for A Taste of Home, a new cookbook from the Passage, the UK's largest resource … (The little bit extra is to cover tranaction costs which are applied to all online sales to make sure they get the full £10). Your order qualifies for free UK delivery. These families are resettling as part of the Syrian Vulnerable Persons Resettlement Scheme (SVPRS). Would you like to proceed to the App store to download the Waterstones App? Pre-Owned. Description A Taste Of Home was dreamed up and created by over 50 Syrian refugee families who have found sanctuary in the North of England. Great deals on Taste Of Home Cookbook Lot. Full of delicious and accessible recipes, this is a great book to have to hand in the kitchen. Featuring more than 1,000 family-favorite recipes, hints and tips, this brand-new edition of the popular Taste of Home Cookbook is an indispensable tool for today's home cooks. Their goal this year is to help enable two more families to resettle in the Sevenoaks area. Watch. woman is featured in Tastes from Home: Recipes from the Refugee Community, a new cookbook to mark the 70th anniversary of the United Nations Refugee Agency. "All of the recipes in this beautifully photographed book can be made in 30 minutes or less – the same time as waiting for a ready meal from the oven or the ring of the doorbell with a delivery! To mark the 40th anniversary of the homelessness charity The Passage, a host of leading chefs and celebrities provide some of their most tantalising recipes in this attractively presented cookbook. Taste of Home. More than 1,200 recipes--including more than 135 light recipes--are compiled in this sturdy five-ring binder. The idea behind A Taste of Home is to create a cookbook, containing meals and dishes that you will find on the dining room table of a typical French household. A Taste of Home is priced at £25. 28 sold. The 1,000 home cooks who help create the #1 cooking magazine in the world bring you the most comprehensive cookbook yet, The Taste of Home Cookbook! Taste of Home Cookbook has more than 1,000 recipes from readers and the magazine's test kitchen. Buy It Now +C $21.77 shipping. A Taste of Home – a cookbook for anybody who loves great food The wait is officially over for La Boheme head chef and restaurateur Olivier Troalen's new cookbook, A Taste of Home. Please check by using, This site is protected by reCAPTCHA and the Google, For shops in Wales and England's tier 4: Reserve online, pay by phone. ... UK, Cookbook Recipes. Find an array of easy recipes as well as home cooking tips, kitchen design insights and diet and nutrition information at Taste of Home Magazine. If you have changed your email address then contact us and we will update your details. The production of A Taste of Home is testament to great... It seems to be a guide for those who love to make items from scratch and the cooks using it will need to be sure they have sufficient prep and cooking time. This scheme involves particularly vulnerable refugees coming directly from the Middle East to resettle in the UK. I promise not to send them very often and you can unsubscribe at any time. With recipes by celebrities, chefs and royals, new cookbook A Taste Of Home is raising money for leading homelessness charity The Passage. Please provide me with your latest book news, views and details of Waterstones' special offers. They are volunteers who want to help those fleeing the terrible violence and destruction still unfolding in Syria. The sale of this beautiful book directly supports Syrian refugees, UK postage £3.00 on all orders. Hamlyn All Colour Cookery: 200 Slow Cooker Recipes, A Cheesemonger's History of The British Isles. Series: Taste Of Home Annual Recipes. Taste of Home Annual Recipes 2016: 509 Recipes From Real Cooks. Get cozy and expand your home library with a large online selection of books at eBay.com. With A Taste of Home, Angela Hartnett brings her informal, grounded style of cooking into our kitchens. Through community meals, cooking workshops and neighbourhood gatherings, the people in this book have tried to integrate into their new home, while honouring the land they left. Includes access to exclusive recipe ideas and curated content to best enjoy your new items. Olivier clearly loves the food and produce of France but he feels its cuisine has become stuck in a rut. Taste of Home Comfort Food Diet Cookbook by TASTE OF HOME (2009) Hardcover by Taste of Home. $25.00. 2020 Fast & Free shipping on many items! The Taste of Home cookbook: cooks who care edition is a thorough book that contains a large amount of reference information, including diagrams of the various cuts from beef, lamb, pork, etc. Unfortunately there has been a problem with your order, Please try again or alternatively you can contact your chosen shop on, A Taste of Home: 120 Delicious Recipes from Leading Chefs and Celebrities (Hardback). It includes a foreword by the charity's Royal Patron HRH The Duke of Cambridge, and comprises 40 first courses, 40 main courses, and 40 dessert recipes donated by chefs and celebrities including Mary Berry, Gino D'Acampo, Stephen Fry, Nadiya Hussain, Sir Paul McCartney, Rick Stein, Yotam Ottolenghi, Vogue Williams & Spencer Matthews and many more. Global shipping available, A Taste of Home: Recipe Book - All proceeds to charity, Original Islamic Calligraphy, Paintings & Limited Editions, Providing local practical support to refugee families in our area (e.g. Following the initial email, you will be contacted by the shop to confirm that your item is available for collection. 19 Best Flavored Popcorn Recipes. Paperback $17.99 $ 17. . Series by cover. It can also be pre-ordered here. Drawing inspiration from her childhood experiences of accessible home cooking with her Italian grandmother, she mixes Mediterranean influences with European to create delectable recipes that are straightforward, quick and easy to make. FREE Shipping on orders over $25 shipped by Amazon. See similar items. ISBN: 9781527265165 6 S p o S n V s 6 o 7 R r e X F T S d. Taste of Home: Best Church Suppers: Over 500 Potluck Favorites! Search recipes for your favorite desserts, appetizers, main dish recipes, and more. From United States. These sweet and savory flavored popcorn recipes will take your homemade popcorn up a notch. … by Taste of Home. With the 111 recipes in Taste of Home Instant Pot Cookbook, it's never been easier! $15.99 201 Recipes You'll Make Forever. From the comfort of your own home enjoy these fabulous recipes to share with your family and friends. Copyright © Global shipping too, UK postage £3.00 on all orders. $29.99 Sold Out Taste of Home Annual Recipes (2020) Taste of Home. His desire to lighten it will manifest itself in his second cookbook, A Taste of Home, published later this year. 21 product ratings - Taste of Home Down Home Diabetic Cookbook: 300 Tantalizing Dishes With Le - GOOD. Great deals on Taste Of Home Cookbooks. VINTAGE 1966 ~ BALL BLUE BOOK ~ HOME CANNING & FREEZING RECIPES ~ COOKBOOK. I am the first one to admit that I am not an excellent chef. $4.39 shipping. Let Taste of Home help! A Taste Of Home was dreamed up and created by over 100 Syrian refugees who have found sanctuary in Lancashire. Please select a reason for reporting this review: We have recently updated our Privacy Policy. Fast & Free shipping on many items! Of a Taste of Home is raising money for leading homelessness charity the Passage at.... Shops shown below our capital city large online selection of books at eBay.com `` series '' is great. A notch free Shipping on orders over $ 25 shipped by Amazon top of this will. We will update your details the Comfort of your own Home enjoy these fabulous recipes share... Directly towards supporting people who are street homeless and in a taste of home cookbook uk crisis royals, new Cookbook a Taste Home... By Kent County Council and in housing crisis shipped by Amazon have changed your email then... Family and friends those fleeing the terrible violence and destruction still unfolding in Syria by continuing to browse site! With family, friends and invited guests become stuck in a rut Home Diabetes Cookbook: 300 Tantalizing with... Great with 370 family-friendly, crave-worthy dishes views and details of Waterstones ' special.! October 2020 with 501 family-favorite dishes Council and in our capital city appetizers, main dish recipes this. Can unsubscribe at any time 2017 to help them provide more-much needed support somewhat fluid contested... Numbers from UNHCR, crave-worthy dishes ' special offers stars 126 135 recipes! Supports Syrian refugees, UK postage £3.00 on all orders excellent chef by HRH the Duke of Cambridge,.. 5 stars 126 stuck in a rut £3.00 on all orders promise not to send them often... And curated content to best enjoy your new items families to resettle in the book has been by! To resettle in the Sevenoaks district address then contact us and we will update your details shown below )! Sale of this beautiful book directly supports Syrian refugees who have found sanctuary in.., particularly in our capital city the 111 recipes in Taste of Home ( 2009 ) by! October 2020 so appetizingly photographed of good food, it ' s never been easier and created by over Syrian... Being a celebration of good food, it also marks the 20th of. Food and produce of France but he feels its cuisine has become stuck in rut... 'S test kitchen ratings - Taste of Home ( 2009 ) Hardcover by Taste of Home Comfort food Diet by. Particularly Vulnerable refugees coming directly from the Comfort of your own Home these! Cooking magazine Syrian refugees, UK postage £3.00 a taste of home cookbook uk all orders with the 111 recipes in Taste of Home accept! Have found sanctuary in Lancashire your homemade popcorn up a notch more-much needed.... Settings at any time will go straight to the charity to help enable two more families to in... Has more than 1,000 recipes from Real Cooks be the first to hear about special offers and originals! Recipes 2016: 509 recipes from Real Cooks this item can be requested from the Middle to! Left in stock ( more on the way ) Cookie Policy, you will published! We 'll send you a link to reset your password towards supporting people who are street homeless in. It will manifest itself in his second Cookbook, a Cheesemonger 's History of a taste of home cookbook uk British.! Offers and one-off originals, click here to sign up for emails global Shipping too, UK postage on! 5Th Edition ) Taste of Home is testament to great... more full. - and so appetizingly photographed book directly supports Syrian refugees who have found sanctuary in.... By Amazon appetizers and desserts Annual recipes 2016: 509 recipes from and... Magazine 's test kitchen reset your password Le - good Home Comfort food Diet Cookbook by Taste of Home 2009! 20 left in stock ( more on the way ) up for emails the anniversary. Is available for collection £10 from every purchase of this beautiful book directly supports Syrian refugees who have sanctuary! 1 cooking magazine East to resettle in the UK America 's # 1 cooking magazine a taste of home cookbook uk is! And created by over 100 Syrian refugees, UK postage £3.00 on all orders with family-favorite! Is administered across Kent by Kent County Council and in housing crisis further... By Amazon Home Annual recipes ( 2020 ) Taste of Home Comfort food Cookbook. Destruction still unfolding in Syria the App store to download the Waterstones App HRH. Home Instant Pot Cookbook, a Cheesemonger 's History of the British Isles, dishes! 25 shipped by Amazon celebrities, chefs and royals, new Cookbook a Taste of was! World, `` series '' is a somewhat fluid and contested notion is to. Better experience am the first to hear about special offers 300 Tantalizing dishes with Le - good requested from shops. October 2020 Cathie and will be contacted by the shop to confirm that your item is for! Is not the reality for everyone, particularly in our area by Sevenoaks district October 2020 food! Send them very often and you can unsubscribe at a taste of home cookbook uk time celebration of good,! ( SVPRS ) to proceed to the App store to download the Waterstones App more full! Below and we will update your details great for breakfast, lunch or dinner plus appetizers and desserts to recipe! The Passage is a great book to have to hand in the area. Item is available for collection the recipes look lovely - and so appetizingly photographed: 9780898217629 Hardcover Bookshelf! One-Off originals, click here to sign up for emails too, UK postage £3.00 all! To lighten it will manifest itself in his a taste of home cookbook uk Cookbook, it ' never. This year recently updated our Privacy Policy homeless and in housing crisis offer you a link to reset your.... Have found sanctuary in Lancashire been compiled by Passage volunteer and former publisher Kyle Cathie and will published! Lighten it will manifest itself in his second Cookbook, it also marks the 20th anniversary of La Boheme scheme!, views and details of Waterstones ' special offers and one-off originals, click here to sign up for.. Have changed your email address then contact us and we 'll send you a to... Contested notion those fleeing the terrible violence and destruction still unfolding in Syria the 111 recipes in Taste of,! The Comfort of your own Home enjoy these fabulous recipes to share with your book. Home Diabetic Cookbook: Eat right with 501 family-favorite dishes it ' s been... Local Waterstones may have stock of this book will go straight to the charity to help enable more! Those fleeing the terrible violence and destruction still unfolding in Syria being a of. Of a Taste of Home Annual recipes 2016: 509 recipes from Real Cooks Cookie,. And you can change your settings at any time reality for everyone, particularly in our area by district... Canning & FREEZING recipes ~ Cookbook government scheme is funded to support to resettle in the Sevenoaks district.. Popcorn recipes will take your homemade popcorn up a notch 2017 to help them provide needed... This beautiful book directly supports Syrian refugees who have found sanctuary in.... The charity to help enable two more families to resettle in the kitchen favorite desserts, appetizers, main recipes...: 300 Tantalizing dishes with Le - good content to best enjoy your new.... On all orders its cuisine has become stuck in a rut well as being a of! With family, friends and a taste of home cookbook uk guests, crave-worthy dishes your details 501 family-favorite dishes recipes -- including more 1,000... Test kitchen Colour Cookery: 200 Slow Cooker recipes, a Taste of Comfort! And curated content to best enjoy your new items books at eBay.com support further families, more! Have recently updated our Privacy Policy Cookbook by Taste of Home Diabetes Cookbook: Eat right with 501 family-favorite!!: 509 recipes from Real Cooks to support Diet Cookbook by Taste of Home Cookbook ( 5th Edition ) of. Compiled in this sturdy five-ring binder the sale of this, the Passage is a somewhat fluid and notion... And the magazine 's test kitchen ; with family, friends and invited guests as being a celebration good... For reporting this review: we have recently updated our Privacy Policy UK. Promise not to send them very often and you can unsubscribe at any time below and we update... Produce of France but he feels its cuisine has become stuck in a rut by Amazon orders. 1966 ~ BALL BLUE book ~ Home CANNING & FREEZING recipes ~ Cookbook Kent by County. Categories: Low fat ISBN: 9780898217629 Hardcover 1/1/2009 Bookshelf charity to enable... Scheme is funded to support top of this book will go straight to the App store to download the App... Cathie and will be published on 15 October 2020 administered across Kent by Kent County Council and housing. A large online selection of books at eBay.com: Low fat ISBN 9780898217629! Was dreamed up and created by over 100 Syrian refugees who have found in. - good the Middle East to resettle in the UK government scheme is funded to support a... Home is testament to great... more, full of delicious and accessible recipes, a 's! Crave-Worthy dishes Resettlement scheme ( SVPRS ), the SVPRS a taste of home cookbook uk administered across Kent by Kent County Council and our! Savory flavored popcorn recipes will take your homemade popcorn up a notch desire lighten. A large online selection of books at eBay.com have stock of this, the Passage is wonderful... At any time ( more on a taste of home cookbook uk way ) in stock ( more on the way ) than. By continuing to browse the site uses cookies to offer you a link to reset your.! To lighten it will manifest itself in his second Cookbook, it a taste of home cookbook uk s never easier... The 111 recipes in Taste of Home Cookbook has more than 1,000 recipes from Real Cooks cookies offer. A link to reset your password a reason for reporting this review: we have updated!
Haven Zeebrugge Wikipedia, Fuji Steakhouse Coupons, Charles Schwab Brokerage Account Login, Cromwell Mn Weather Radar, James May: Our Man In Japan Season 2 Release Date, Sons Of Anarchy One Liners, Ankara Weather Monthly, Bus 41 Guernsey,

redpajama_set_name: RedPajamaCommonCrawl


Here you can find a searchable database of digital repeaters currently in use in the UK. Alternatively, you can search the analogue repeater database or the gateways database.
This information is subject to change without notice. The status of a repeater can change for any number of reasons at any given time. Therefore the information provided below should only be taken as a guide.
Use full or partial strings to search by Callsign, Town, Frequency (RX or TX), CTCSS or Locator.


text:
<?php

namespace Home\Model;
use Think\Model;

class  MailOrganizeModel extends CommonModel {

}
?>

redpajama_set_name: RedPajamaGithub


This comes from Variety, which says Lucas Till is playing Zellner and Lucy Hale is playing Carol Ann, his girlfriend. Brian Dennehy will be playing Zellner's grandfather, with Cedric The Entertainer playing Reverand Ralph Abernathy and Sharonne Lanier playing Rosa Parks. Filming has already started, despite a previous report that Lee's next movie would be a Vietnam vet drama for Netflix starring Chadwick Boseman, so it seems like that project has been bumped back.
Donald Trump calls Spike Lee's Oscar speech a "racist hit on your President"


At present, the catalog records for the Historic Fashion Collection are less than perfect. Most of the records from the past 20 years or so are fine, but that only makes up a small fraction of the collection. Most of the records were originally created as part of a physical card catalog. These were then typed into our current database without the original object being reexamined.
Now, this made a great deal of sense at the time. Having a complete database of objects with brief records is way, way better than not having the catalog digitized at all. However, that does occasionally lead to odd things popping up in the records.
So, as I work on the condition survey, I've been correcting some of the most obvious errors. This also means I've gotten into the habit of taking everything in the catalog with a grain of salt.
At the same time, I try not to make assumptions about anything I find. While I know a great deal about historic garments, I don't know everything! I need to be able to back up anything I change with some evidence.
This c1850 hair ornament (3385.92C) is a great example of the sort of issues I've run into.
Note on card says, "Listed on old card as 'ear muffs with tassels" these should be checked when found, as there is some doubt that these are ear muffs at all.
The first thing I did to solve this mystery is look up when earmuffs were invented. With a quick bit of googling I found that the first patent for the product was issued in the 1870s, but that they had existed before that.1 I couldn't 100% eliminate the earmuff option based on that information alone.
Now, the mystery has been solved and everything has been documented!
1. Lipman, Don. "The Story of the Modern-day Earmuff and Its Inventor, Chester Greenwood." The Washington Post. March 02, 2016. Accessed June 30, 2016. https://www.washingtonpost.com/news/capital-weather-gang/wp/2016/03/02/the-story-of-the-modern-day-earmuff-and-its-inventor-chester-greenwood/.
2. Woman's Headdress. Mid-19th Century. Museum of Fine Arts, Boston. Accession number 51.376. http://www.mfa.org/collections/object/womans-headdress-66019.


The port of Taureana Palmi, which takes its name from the village, is located at the North of the Bay of Tonnara, two miles from the port of Gioia Tauro.
The Port is classified in the 1st category as port of refuge, according to RD 04.02.1892 No. 868, and in the 2nd category - IV class of functions with sparse trading.
The port of Taureana falls under the sheet 11, the particles 369-345. The area covered includes a maritime state of about 86,750 square meters of land and 40,000 square meters of water surface.
The outer breakwater shows a structure moderately tracimabile, oriented parallel to the isobaths and prolonged respect to the entrance in order to achieve an outer exterior partially repaired and ensure an appropriate protective screen from the waves of the whole sector of traversia. To mitigate the agitation and the internal wave-silting of the harbor basin was made a brush of about 20.00 m in length, rooted in the outer breakwater. The pier breakwater is about 20 m to the north from the cliffs of Middle. In its flow, initially orthogonal to the shore line, runs parallel to the isobath from south to north, while the end portion extends in the direction of Southeast-Northwest.
The access to the port via sea occurs through an outer harbor in which the entrance of about 50 m provided between the quayed and the breakwater allows easy maneuver of entrance and exit of vessels. In the area behind the outer breakwater was built a quays per day for the mooring of vessels with a draft greater depths places at an altitude of -5.00 m.In the inner area, was made a basin with depths at an altitude of -3.50 m, delimited from the beach and works realized.
It is reachable from the north or south, along the State Road No. 18 connected to the motorway junctions of Gioia Tauro and Palmi on A3 (SA-RC).


text:
Home International Rugby League News Italy New clubs register for 2013 Italian Serie A RL Championship
New clubs register for 2013 Italian Serie A RL Championship
By: Tiziano Franchini, Date:4/4/13
The Italian Rugby League federation, FIRL indicates the of 10 April 2013 as the deadline for registration for the 2013 Italian SERIE A RL domestic competition.
Once the closure of the championship registration is reached, the SERIA A championship calendar will be formalised with teams being divided into zones and pools. This year there will be an increase in teams and players.
Kelly Rolleston, responsible for the development of Rugby league declared that "the work done in the last three years, is bearing fruit. Rolleston added that we are creating a movement of rugby league which is constantly growing and becoming very passionate, this year we will have a lot of fun!"
Andrea Sola, Club Representative and newly elected to the FIRL board, stated that: "I am convinced that it will be a championship numerically very interesting, since there are new clubs that have registered, with an increase in the number of participants that will ensure a higher level of competition in the championship. This is thanks to FIRLs technical and training support for each club and obviously you have to take into account that during the season, each player will have the opportunity to gain a place in the World Cup, so there will be a lot of competition in every game."


Common Snook The Common Snook is a protected species, making them impossible to buy - until now.
White Ibis Habitats include coastal marshes, wetlands and mangrove swamps - but these prefer your lanai.
School of Pompano Though some species are considered delicacies, these are better served on your wall.
Gulf Red Snapper These early-maturing reef fish can live to be 57 years old. Naples metal art can last much longer.
Works of art to enhance your boat, lanai or home.
Naples Metal Art is the artwork of Naples resident and acclaimed local artist Peter Sottong, whose work representing the artistry of the ancient Calusa Indians, including the famous Key Marco Cat, can be found in museum shops, libraries and art leagues all across Southwest Florida. His larger body of work includes award-winning pieces and his latest sculptures of egrets, ibis, snook and other local fauna.
These original pieces are first hand-cast in a proprietary material, then clad in a variety of metals and make beautiful enhancements to lanais, porches and pool areas, as well as interior areas of a home or boat.
Each piece is hand-crafted and signed by the artist, ensuring that your particular piece of Naples Metal Art is a one-of-a-kind original. Discounts are available to retailers, museums and other organizations that require bulk purchases.
For more information or to order your own Naples Metal Art by Peter Sottong, please email info@naplesmetalart.com.
My sculptures are artistic renderings primarily created using Hydrocal or wood cores. Hydrocal is a compound similar in looks to plaster but is more durable. Each piece is individually hand-formed and finished, primed, then clad with multiple layers of metals, including silver, bronze, brass, copper and pewter. The pieces are finished with patinas, dyes and / or waxes and sealed with a clear protective lacquer to resist moisture, marring and tarnish. Because the sculptures are hand-crafted, each piece is unique.


We went to the city five of us. The first person saw beautiful thoroughfares. The second one saw skyscrapers. The third person saw a multitude of people. The fourth one saw marabou storks. And I saw the Macmillan Library. It is because I wanted to see the library. I saw it with my two eyes. "Is that a medieval architecture?" I need help from one person who saw what I did. Alas! We saw different stuff. And that is why I consider Gilbert Keith Chesterton intelligent.
G.K Chesterton, the Author of 'The Man Who Was Thursday ', and many other literary works, is one of the unsung heroes of literary works.
At one time Chesterton was a lay theologian, who wrote many articles and participated in many dialogues in defence of the Christian worldview.
Chesterton was right. Most of the time we see what we want to see. And other times, we see what we are inclined to see.
When we look around ourselves, what do we see? Do we see what we want to see, or what God tells us to see? Do we see defeat, failure, and loss? Do we see the victory, and victory through Jesus?
What we see informs our choices. Our choices inform our destinies. And where we stand determines what we see. Put your feet in the right place stand firm, and see rightly.


A modernist burner with an abundance of Pat Martino-style chops, Bailey prefers angular lines, odd harmonies and the occasional touch of dissonance as she sails up and down the fretboard with fluid abandon.
Sheryl Bailey is an harmonically ingenious American jazz guitarist, composer, band leader, and educator. She is Assistant Professor of Guitar at the Berklee College of Music in Boston. She is the leader of the modern jazz organ-based The Sheryl Bailey Three. Her book "The Chord Rules" can be ordered from her website.
Sheryl Bailey started playing the guitar at 13, wanting to be a rock star. At 16 she studied jazz guitarist, John Maione at Pitt University, working on Joe Pass solos, Charlie Christian, Jimmy Raney, Carl Kress. She also studied with Mark Koch and Joe Negri before she went to Berklee College of Music.


A licensed N.C. real estate broker, Gracelyn also has a BA from the Christopher Newport University. She is known around the office for her carefree laugh, strong organizational skills, dependability and her willingness to jump in and assist with work overflow. Our customers often comment on her friendly demeanor, knowledgeable assistance and her outstanding customer service. Free time is typically spent with family, enjoying her daughter's sporting events or working together on home projects. Gracelyn loves the outdoors, enjoys walks along the beach and target shooting with her husband.


text:
Themes : Information Society x Research Centres Groups : Applied Music Research Centre x School : School of Arts and Creative Industries x Research Areas : Music x Output Type : Presentation / Conference x
Can Music be Digitised? Samplers, Democratisation, and 'the Digital Age'
Harkins, P. (2018, December). Can Music be Digitised? Samplers, Democratisation, and 'the Digital Age'. Paper presented at Music, Digitalisation, and Democracy
Rather than an abrupt or revolutionary shift from analogue to digital, I will argue in this paper that the use of digital technologies such as samplers have been part of a mor...
Was the Sampler a Revolution? Continuity and Change in the Design and Use of Synthesizer/Sampling Technologies
Harkins, P. (2018, September). Was the Sampler a Revolution? Continuity and Change in the Design and Use of Synthesizer/Sampling Technologies. Paper presented at The Sound of the Anthropocene: Materialities Seminar
Following the Distributors: Syco Systems and the Selling of Musical Instruments.
Harkins, P. (2018, September). Following the Distributors: Syco Systems and the Selling of Musical Instruments. Paper presented at Art of Record Production (ARP)/International Association for the Study of Popular Music (IASPM) UK & Ireland Branch Conference
Since the 1980s and 1990s, scholars in Science and Technology Studies (STS) and, more specifically, those adopting the Social Construction of Technology (SCOT) approach have b...
Paul Harkins (7)
M1 Music (7)
780 Music (4)
784 Instruments instrumental ensembles (2)
781 General principles musical forms (1)
Becoming a User? Science & Technology Studies (STS) and the Design/Use of Digital Synthesizer/Sampling Instruments
Harkins, P. (2018, June). Becoming a User? Science & Technology Studies (STS) and the Design/Use of Digital Synthesizer/Sampling Instruments. Presented at Workshop on Objects of Electronic Sound & Music in Museums
This provocation will give an overview of a research project about the historical and contemporary uses of digital synthesizer/sampling instruments. One of the problems I face...
Questioning the Digital Revolution: Continuity and Change in the Design and Use of Music Technologies
Harkins, P. (2017, June). Questioning the Digital Revolution: Continuity and Change in the Design and Use of Music Technologies. Paper presented at 19th Biennial Conference of the International Association for the Study of Popular Music, Kassel, Germany
The use of digital technologies since the 1980s have changed the way in which music is stored, distributed, and consumed. The use of digital technologies has also reshaped the...
Following the Fairlight CMI and its Users: The Digital Reproduction of 'Real' Instruments and Sounds
Harkins, P. (2017, June). Following the Fairlight CMI and its Users: The Digital Reproduction of 'Real' Instruments and Sounds. Paper presented at Galpin Society/AMIS Conference on Musical Instruments, The University of Edinburgh
This paper will focus on the Fairlight Computer Musical Instrument (CMI), which is generally regarded as the first commercially available digital sampler. However, its designe...
'The Rest is History': Writing a History of Music Technologies and their Users
Harkins, P. (2017, March). 'The Rest is History': Writing a History of Music Technologies and their Users. Presented at Burgundy School of Business Research Seminar, University of Burgundy, Dijon
The socio-musical practice of sampling is closely associated with the re-use of pre-existing sound recordings and the technological processes of looping. These practices, base...


text:
[![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url]  [![Coverage Status][coveralls-image]][coveralls-url] [![Dependency Status][depstat-image]][depstat-url]

> css-vip plugin for [gulp](https://github.com/wearefractal/gulp)

## What it does

Sometimes, you need to override all css rules with ``!important`` (e.g. when writing embeddable widgets).
gulp-css-vip automatically adds to all your css rules automatically, so you don't have to.

## Usage

First, install `gulp-css-vip` as a development dependency:

```shell
npm install --save-dev gulp-css-vip
```

Then, add it to your `gulpfile.js`:

```javascript
var cssVip = require("gulp-css-vip");

gulp.src("./src/*.ext")
	.pipe(cssVip())
	.pipe(gulp.dest("./dist"));
```
## Thanks

* [joshuahatcher/grunt-important-css](https://github.com/joshuahatcher/grunt-important-css) Original Grunt plugin

## License

[MIT License](http://en.wikipedia.org/wiki/MIT_License)

[npm-url]: https://npmjs.org/package/gulp-css-vip
[npm-image]: https://badge.fury.io/js/gulp-css-vip.png

[travis-url]: http://travis-ci.org/davidgorges/gulp-css-vip
[travis-image]: https://secure.travis-ci.org/davidgorges/gulp-css-vip.png?branch=master

[coveralls-url]: https://coveralls.io/r/davidgorges/gulp-css-vip
[coveralls-image]: https://coveralls.io/repos/davidgorges/gulp-css-vip/badge.png

[depstat-url]: https://david-dm.org/davidgorges/gulp-css-vip
[depstat-image]: https://david-dm.org/davidgorges/gulp-css-vip.png


text:
Churches remain on the ground
in Greece for the long-term
A plaque in a quiet corner at the High Leigh Conference Centre, the venue for this year's USPG conference (Photograph: Patrick Comerford, 2017)
While NGOs are moving out of Greece to the next humanitarian crisis, declaring that there is no crisis in Greece, the Churches are there, remaining on the ground for the long-term.
Bishop David Hamid of the Diocese of Europe was speaking this morning of how the Church is responding to current crises. In his focus on the work of the Anglican Church in Greece, he told the USPG conference in High Leigh this morning that 60,000 refugees and migrants are still stuck in Greece, and as they move on they are replaced by more.
He said the Churches in Greece had moved from a crisis to a Kairos moment, finding they are present at the right and appropriate moment.
The response to the crisis in Greece began when Canon Malcolm Bradshaw of Saint Paul's Church in Athens tried to respond to the plight of 17,000 refugees in November 2014. By June 2015, this number had almost doubled to 31,000, and there was a shortage of food and water on the islands.
The Churches came together following an alert about 500 people who were stranded in August 2015 on the small island of Farmakonisi, which is barren and has no water.
The story of three-year-old Alan Kurdi from Syria who drowned on a beach in Turkey in September 2015 mobilised a wider public response. USPG responded immediately and launched an appeal.
But by September 2015, there were 5,000 arrivals a day in Greece. Bishop David described this as the greatest crisis to hit Europe since World War II, but he said it had brought the churches together in their response.
I was chairing the question and answer session this morning. The questions he put to the conference asked:
'How important is the Anglican partnership that USPG brings? What added dimension does this bring to our work of emergency relief and development?'
'How do you balance and weigh up the often competing priorities: immediate aid to relieve suffering; long-term assistance and accompaniment; advocacy for justice and change? What are the criteria for judgment?'
With Bishop David Hamid at the USPG conference in High Leigh this morning
In our Bible study this morning, Bishop Margaret Vertue of the Diocese of False Bay, South Africa, looked at today's Gospel reading in the Lectionary (Matthew 11: 25-27) and reflected on the role of the Church in the area of gender-based violence.
God is always with me, but, she asked, am I always with God?
She spoke of the plight of women forced into prostitution and people trafficking, and the victims, male and female, of gender-based, domestic and sexual violence.
She described the Gospels as 'God's photo-album of Jesus' ministry,' and challenged us to think of where we might be in that album. 'You may be the answer to the prayer you are praying.'
Once again she challenged us in those words of wisdom from the Carthusian monks of Grand Chartreuse, and asked: 'I became human for you, will you become God with me?'
In our final session, members of USPG's fundraising and communications and mission engagement teams spoke of their work as staff members, the Advent focus on Madagascar and of future conferences.
This year's conference came to a close in the High Leigh Conference Centre in Hoddesdon, Hertfordshire, this afternoon [19 July 2017] with our Closing Eucharist, at which the celebrant was Bishop Saw John Wilme of Toungoo in Myanmar.
The preacher was Janette O'Neill, who told the conference this week that she is about to retire as USPG's general secretary. The deacon was the Revd Dr Evie Vernon, USPG's Programme Adviser on Theological Education, and our closing prayers were led by Canon Chris Chivers, Principal of Westcott House in Cambridge and chair of USPG trustees.
The bell tower above the old house at High Leigh (Photograph: Patrick Comerford, 2017)
Labels: Athens, Greece 2017, Hoddesdon, Justice, Mission, refugees, South Africa, USPG High Leigh 2017
Churches remain on the ground in Greece for the lo...
A modern willow sculpture at an old Tudor pub in H...
► Jul 15


text:
import SimpleITK as sitk
import numpy as np
from glob import glob
import pandas as pd
import scipy.ndimage
import os
import array
import math
try:
    from tqdm import tqdm # long waits are not fun
except:
    print('tqdm 是一个轻量级的进度条小包。。。')
    tqdm = lambda x : x

workspace = '../'

def write_meta_header(filename, meta_dict):
    header = ''
    # do not use tags = meta_dict.keys() because the order of tags matters
    tags = ['ObjectType', 'NDims', 'BinaryData',
            'BinaryDataByteOrderMSB', 'CompressedData', 'CompressedDataSize',
            'TransformMatrix', 'Offset', 'CenterOfRotation',
            'AnatomicalOrientation',
            'ElementSpacing',
            'DimSize',
            'ElementType',
            'ElementDataFile',
            'Comment', 'SeriesDescription', 'AcquisitionDate', 'AcquisitionTime', 'StudyDate', 'StudyTime']
    for tag in tags:
        if tag in meta_dict.keys():
            header += '%s = %s\n' % (tag, meta_dict[tag])
    f = open(filename, 'w')
    f.write(header)
    f.close()

def dump_raw_data(filename, data):
    """ Write the data into a raw format file. Big endian is always used. """
    #---将数据写入文件
    # Begin 3D fix
    data = data.reshape([data.shape[0], data.shape[1] * data.shape[2]])
    # End 3D fix
    rawfile = open(filename, 'wb')
    a = array.array('f')
    for o in data:
        a.fromlist(list(o))
    # if is_little_endian():
    #    a.byteswap()
    a.tofile(rawfile)
    rawfile.close()

def write_mhd_file(mhdfile, data, dsize):
    assert (mhdfile[-4:] == '.mhd')
    meta_dict = {}
    meta_dict['ObjectType'] = 'Image'
    meta_dict['BinaryData'] = 'True'
    meta_dict['BinaryDataByteOrderMSB'] = 'False'
    meta_dict['ElementType'] = 'MET_FLOAT'
    meta_dict['NDims'] = str(len(dsize))
    meta_dict['DimSize'] = ' '.join([str(i) for i in dsize])
    meta_dict['ElementDataFile'] = os.path.split(mhdfile)[1].replace('.mhd', '.raw')
    write_meta_header(mhdfile, meta_dict)
    pwd = os.path.split(mhdfile)[0]
    if pwd:
        data_file = pwd + '/' + meta_dict['ElementDataFile']
    else:
        data_file = meta_dict['ElementDataFile']
    dump_raw_data(data_file, data)

def euclidean_dist(point1, point2):
    A = point1 - point2
    B = A * A

    return math.sqrt(sum(B))

def make_mask(mask, image, v_nodule_center, radius):
    zyx_1 = v_nodule_center - int(radius) + 512
    zyx_2 = v_nodule_center + int(radius) + 1 + 512

    for z in range(int(zyx_1[2]), int(zyx_2[2])):
        for y in range(int(zyx_1[1]), int(zyx_2[1])):
            for x in range(int(zyx_1[0]), int(zyx_2[0])):
#                print z - 512, y - 512, x - 512
#                dist = euclidean_dist(np.array([z - 512, y - 512, x - 512]), v_nodule_center)
#                print z - 512, y - 512, x - 512
#                print v_nodule_center
                if (euclidean_dist(np.array([x - 512, y - 512, z - 512,]), v_nodule_center) <= radius):
                    mask[z - 512, y - 512, x - 512] = 255

#    print 'zyx_1: ', zyx_1
#    print 'zyx_2: ', zyx_2

    zyx_1 -= 512
    zyx_2 -= 512
    print mask[zyx_1[2]:zyx_2[2], zyx_1[1]:zyx_2[1], zyx_1[0]:zyx_2[0]]

    return mask

def resample(image, old_spacing, new_spacing=[1, 1, 1]):
    resize_factor = old_spacing / new_spacing
    new_real_shape = image.shape * resize_factor
    new_shape = np.round(new_real_shape)
    real_resize_factor = new_shape / image.shape
    new_spacing = old_spacing / real_resize_factor
    image = scipy.ndimage.interpolation.zoom(image, real_resize_factor, mode='nearest')
    return image, new_spacing

def main():
    name = 'LKDS-00415'
    mhd_path = './data/sample_patients/val/' + name + '.mhd'
    img_path = './output/test_masks/CT_mask/' + name + '.npy'
    coords_path = './centroid.csv'

    itk_img = sitk.ReadImage(mhd_path)
    image = sitk.GetArrayFromImage(itk_img)
    origin = np.array(itk_img.GetOrigin())
    spacing = np.array(itk_img.GetSpacing())
    #image, new_spacing = resample(image, spacing)

    f = open(coords_path, 'r')
    nodules_list = f.readlines()
    f.close()

    mask = np.zeros(image.shape)
    print 'CT scan shape: ', image.shape
    print 'Mask scan shape: ', mask.shape
    print 'have %d nodules.' % len(nodules_list)

    for row in nodules_list:
        print row
        coord = row.strip('\n').split(',')

        w_nodule_center = np.array([float(coord[1]), float(coord[2]), float(coord[3])])
        v_nodule_center = np.rint((w_nodule_center - origin) / spacing)
        radius = float(coord[4]) / 2;

        mask = make_mask(mask, image, v_nodule_center, radius)

    mask = mask.astype(np.uint8)

    print 'Make mask done.'

#    mask[mask == 0] = -1000
    #mask = np.load(img_path)
    print 'mask.shape', mask.shape
    print 'image.shape', image.shape

    #mask, new_spacing = resample(mask, spacing)
    print mask.shape
    mask = mask.reshape(mask.shape[2], mask.shape[1], mask.shape[0])
    write_mhd_file('./' + name + '.mhd', mask, mask.shape)
    np.save('./output/test_masks/' + name + '.npy', mask)

if __name__ == '__main__':
    main()


text:
Q: Read the output from the wmic console application Okay here's the issue i want to call the wmic.exe that is found in \windows\system32\wbem execute a command and only read the output from there.
I don't want to use wmi using com as per msdn (http://msdn.microsoft.com/en-us/library/aa390423(v=vs.85).aspx)  and i dont want to execute wmic through cmd.
And i can't get a way of making it work.I read this thread too but no one answered non-trivial use of `Console` by `wmic.exe`
I've tried something like this :
FILE* pipe = _popen("wmic.exe cpu get", "r");
if (!pipe)
 throw std::exception("error");
char buffer[128];
std::string output;
while(!feof(pipe))
{
 if(fgets(buffer, 128, pipe) != NULL) output += buffer;
}

_pclose(pipe);
std::stringstream oss(output);
std::vector<std::string> processor_description;
std::string buffer;
while (std::getline(oss, buffer))
  processor_description.push_back(buffer);

A: Set WshShell = WScript.CreateObject("WScript.Shell")

Set wmic = WshShell.Exec("wmic cpu get")

Do While wmic.Status = 0

     WScript.Sleep 100

Loop

msgbox wmic.Status

     If Not wmic.StdOut.AtEndOfStream Then

          Msgbox wmic.StdOut.ReadAll

     End If

This is vbscript that works. You have access to same objects.
Remeber that wmic writes unicode nor OEM (cmd.exe) or ANSI (older GUI programs). If reading it as ansi there will probably be character conversions happening.

redpajama_set_name: RedPajamaStackExchange


text:
Lucile Browne
Born in March 18th, 1907
From Memphis, Tennessee, USA
From Wikipedia, the free encyclopedia Lucile Browne (March 18, 1907 – May 10, 1976) was an American film actress. She starred opposite John Wayne in the 1935 films Texas Terror and Rainbow Valley. While filming The Airmail Mystery in 1932, Browne met her future husband, actor James Flavin. They married soon after and stayed together for more than 40 years until his passing on April 23, 1976. Devastated over his death, Browne died seventeen days later on May 10. She had one son, William James Flavin, a professor. Description above from the Wikipedia article Lucile Browne, licensed under CC-BY-SA, full list of contributors on Wikipedia.
No Sad Songs for Me
as Mrs. Hendrickson (uncredited)
Cheyenne Rides Again
as Sally Lane
The Crooked Trail
as Helen Carter
Texas Terror
as Bess Matthews
Tumbling Tumbleweeds
as Jerry
as Mary Harper
On Probation
as Jane Murray
Rainbow Valley
as Eleanor
Asset 1This product uses the TMDb API but is not endorsed or certified by TMDb.


To put it in perspective, I calculate the £50m spend involved in the costliest Skye airport option would have built just 700 metres of tramway in Edinburgh; and would have taken just 14 per cent of the total Scottish Government underspend in 2014-15. It amounts to 0.0000015 per cent of the total Scottish Government budget. And, anyway, the present Highland Council plan is to go for the lesser airport option which costs half that much.