AUTOMATED EMBROIDERY STITCHING

Abstract: A method for embroidering includes receiving a digitized representation of an image, determining grain structures for a plurality of locations (10, 20, 30, 40) in the digitized representations, the plurality of locations (10, 20, 30, 40) including a first location (10) and a second location (20), embroidering a representation of the first location (10) using cross stitch patterns, when a grain structure for the first location (10) indicates a bi-directional grain structure, and embroidering a representation of the first location (10) using uni-directional stitch patterns, when the grain structure for the first location (10) indicates a uni-directional grain structure.

Description: AUTOMATED EMBROIDERY STITCHING CROSS-REFERENCES TO RELATED APPLICATIONS This application claims priority to U.S. Serial No. 60/081,333 filed April 10, 1998, incorporated by reference herein, for all purposes. BACKGROUND OF THE INVENTION With the advent of computer digitizers and embroidery machines, users of embroidery machines and embroidery software have become more conscious of the need to reduce the time, labor, cost and user experience and expertise needed to convert images into embroidery stitch sequences. An embroidery machine is a device which can accept as input a series of movements and other actions (e.g., X/Y move, color change, thread trim, eic.) which correspond to a stitch sequence and sew color stitches onto fabric in an orderly fashion. Before the use of computer software for assistance with generating stitch sequences for input to embroidery machines, a user needed to simulate the process used by hand embroiderers and sewing machine operators. In particular, the user needed visually to select various spots for receiving distinctive color and then to approximate those desired colored spots laying down series of stitch segments and sequencing the series of stitches. This process is extremely time-consuming and requires great experience. Up to several hundred thousands of stitches or more are required to represent an image. Because of the need to use many different colored thread to cover many different areas many times, and the need to improve the embroidery machine's productivity, there is an additional requirement to organize the overall stitch sequence in an efficient way so as to minimize machine-stop events such as colored thread change and thread trim. Typically, several days of labor are required to describe manually a single, ordinary image as an adequate embroidery stitch sequence. Since the days of purely-manual stitch sequence construction, some workers have used computer digitization software to perform a tedious step-by-step task of inputting information from an image into a computer. These techniques involve the use of digitizer tablets or computer monitor screens for detailed step-by-step digitizing tracing or selecting of distinctive borders from different areas of an image to identify the borders. Conventionally, a user must select these border edges in sequence to inform a computer that certain border curves can form a region. This process is still time consuming and inconvenient. Once regions are identified, simple computer software can be used to aid in generating certain types of stitch sequences for filling in the regions in a rudimentary manner. Edge detecting algorithms are sometimes used to automate the process of edge identification from a computer image file. However, the edges detected by these approaches are usually broken and therefore do not form a closed region ready for stitch generation. These broken edges conventionally need to be corrected manually before individual embroidery stitches can be computed from these regions' borders and be placed within these regions following the user's instruction. One approach to generate these embroidery stitch sequences is to divide the image into many smaller but fairly uniform colored regions if such regions can be found, and then according to the individual geometry of these regions, to pick different style of machine thread sequence to lay threads such that these regions are covered. The threads generated in each region are in a very orderly way and almost parallel to neighboring threads. There are several problems associated with this approach. One problem is that the stitches generated in this way are too orderly and lack the fine appearance from most of the images. Secondly, very few images available today can be divided into regions of similar color in an obvious way, and thirdly, even for a simple images with clear borders of uniform colored regions, it may have hundreds of smaller regions that need to be inputted into computer for stitch generation, which is very labor- intensive and time-consuming both in digitizing along the regions' borders and in selecting each of these small region's borders to form the region. Many images (e.g., photographs) are represented by bitmaps of a vast amount of different colored pixels distributed in a very mixed and complex manner. There is no art today to automatically convert an arbitrary image bitmap into a series of embroidery stitches in an efficient manner. The only existing approach for generating embroidery stitches from this type of image is to hand-lay individual stitch threads, one by one, locally in reference to the local details of image. Since this approach needs significant experience and vast amounts of labor for each task, it is not generally practical in the machine embroidery industry. The stitches resulting from such hand-placement and hand/sequencing usually have no fixed order, appear to be very random, and frequently cross one another, to the detriment of embroidery machine efficiency and in direct contrast to the types of stitches currently capable of being generated automatically or with machine assistance. Images exist today in the form of photos, paintings, artworks, prints, fabrics, or even computer files. The methods to convert such images to bitmap data are well-known arts. A bitmap is an N by M points of color pixel data, either residing in a computer's volatile memory (e.g., random access memory, or RAM) or nonvolatile memory (e.g., hard disk). Bitmaps on one extreme could be highly organized with a single color repeated in every pixel. Bitmaps on the other extreme could be completely random in pixel color, shade, and distribution. Thus, one can say that images as bitmaps exist in nearly infinite possibilities. The existing efforts to automate or partially automate stitch generation achieve only a limited degree of success, and for only a very limited range of image complexity/randomness. Improved methods and systems are needed for automatic and/or machine- assisted embroidery stitch generation from an image. In particular, such improved methods and systems should reduce needed time and human labor, especially skilled labor, during the stitch-sequence generation phase. Furthermore, the stitch sequences generated from such improved methods and systems should allow for efficient stitching by embroidery machines. In addition, such improved methods and systems should be operable for a vastly greater range of image types. SUMMARY OF THE INVENTION An automated image processing method and system for generating a representation of an input image. One application is for reducing time and labor for constructing, e.g., computer embroidery stitches from an input image. According to another embodiment, a method for embroidering includes receiving a digitized representation of an image, determining a plurality of regions of the image in response to the digitized representation, and determining a geometric index for each region in the plurality of regions of the image. The method also includes determining a region type associated with each regions from the plurality of regions in response to the geometric index for each region, the region types including a first region type and a second region type, embroidering representations of regions from the plurality of regions associated with the first region type; and thereafter embroidering representations of regions from the plurality of regions associated with the second region type. According to an embodiment of the present embodiment, a method for embroidering includes receiving a digitized representation of an image, determining grain structures for a plurality of locations in the digitized representation, and the plurality of locations including a first location and a second location. The method also includes embroidering a representation of the first location using cross stitch patterns, when a grain structure for the first location indicates a bi-directional grain structure, and embroidering a representation of the first location using uni-directional stitch patterns, when the grain structure for the first location indicates a uni-directional grain structure. According to another embodiment, an article of manufacture having embroidery sewn thereon uses one of the methods described above. According to another embodiment, an embroidery system includes a processor, and a processor readable memory. The processor readable memory includes code that directs the processor to retrieve a digitized representation of an image, and code that directs the processor to determine a plurality of regions of the image in response to the digitized representation of the image. The memory also includes code that directs the processor to determine a geometric index for each region in the plurality of regions, code that directs the processor to determine a region type associated with each region from the plurality of regions in response to the geometric index for each region, the region types including a first region type and a second region type, code that directs the processor to direct embroidering representations of regions from the plurality of regions associated with the first region type, and code that directs the processor to direct embroidering representations of regions from the plurality of regions associated with the second region type after the representations of regions from the plurality of regions associated with the first region type. According to another embodiment, a computer program product for a computer system including a processor comprises code configured to direct the processor to receive a digitized representation of an image, and code configured to direct the processor to determine grain structures for a plurality of locations in the digitized representation, the plurality of locations including a first location and a second location. The computer program product also includes code configured to direct the processor to direct embroidering of a representation of the first location using cross stitch patterns, when a grain structure for the first location indicates a bi-directional grain structure, and code configured to direct the processor to direct embroidering of a representation of the first location using uni-directional stitch patterns, when the grain structure for the first location indicates a uni-directional grain structure. The codes reside on a tangible media. BRIEF DESCRIPTION OF THE DRAWINGS In order to more fully understand the present invention, reference is made to the accompanying drawings . FIGS. 1A and IB illustrate example input images. FIG. 2 is a flowchart of a method according to a specific embodiment of the present invention. FIGS. 3A-3C illustrate samples of different types of regions in coexistence. FIGS. 4A-4C illustrate samples of different types of machined stitches. FIG. 5 illustrates an example of subdivided type 2 regions. DESCRIPTION OF THE SPECIFIC EMBODIMENTS A specific embodiment of the present invention is directed to a method for automatic computer embroidery stitch generation from an image, for reducing the time and color required to digitize an image. For best results, input images should be clear and large with fine resolution for a meaningful representation with embroidery stitches. FIGS. 1 A and IB illustrate example input images. In FIG. 1 A, there is shown a cartoon-like image with qualitatively different features labeled 10, 20, 30, and 40 which, as described below, variously correspond to Type 1, Type 2, and Type 3 image regions. In FIG. IB, there is shown a photograph-like image that also includes cartoon- type elements (bold text). FIG. IB shows a scene with people in a boat, and textured water splashing all about. Any other photograph that shows detailed variety in color, texture, pattern, orientation, etc, such as of a cat, would also have made a fine example picture. FIG. 2 is a flowchart of a method according to a specific embodiment of the present invention. FIG. 2 includes steps 50, 60, 70, 80, 90, 100, 1 10, 120, 130, 140, 150, 160, and 170. FIGS. 3A-3C illustrate samples of different types of regions in coexistence. FIG. 3 A includes a Type 3 region 200, a Type 2 region 180, and a Type 1 region 2Ϊ0 within a Type 1 region 190. FIG. 3B includes a Type 3 region 230 over and intercepting a Type 2 region 220 and over and intercepting a Type 1 region 240. FIG. 3B also includes a Type 2 region (220) intercepting a Type 1 region (240). FIG. 3C includes a region 250 that is then uncoupled into a Type 1 region 270 and a Type 2 region 280. FIGS. 4A-4C illustrate samples of different types of machined stitches. FIG. 4A illustrates running stitches, which are suitable for Type 3 regions. FIG. 4B illustrates zigzag stitches, which are suitable for Type 2 regions. FIG. 4C illustrates various filled stitches, which are suitable for Type 1 regions. FIG. 5 illustrates an example of Type 2 regions which have been further subdivided into smaller regions. THE NATURE OF AN IMAGE OR REGION In general, an image can be as simple as a cartoon drawing (FIG. 1A ) or as complicated as mixture of artwork and photos (FIG. IB). According to the present invention, the complexity/randomness, or "nature", or "composition," of an input image or regions within the input image is automatically determined. This is shown in Step 50 of FIG. 2 for the specific embodiment. According to the present invention, separate methods appropriate to each level of complexity/randomness are employed. In the specific embodiment of FIG. 2, two levels of complexity/randomness are handled by two branches of method steps, namely Steps 60-130 and Steps 140-170. For determining the nature of an input image (e.g., Step 50), measurement entropy which is used in the study of deterministic chaos can be adopted. See Reference [2]. A large class of images result from photographing 3-dimensional real objects such as people, animals, plants, and scenery. These images are composed of mixtures of light signals from large numbers of randomly oriented surfaces which emit, reflect, absorb, and transparently or translucently transmit colors. In such images, the elements seem random but actually all have something in common, e.g. a same lighting source, a same nature of material in certain area(s), etc. The theory of deterministic chaos can be adopted. The specific embodiment take as its starting point, an image to be analyzed for finding the inherent properties of different regions, in order to apply pertinent ways to generate computer stitches. In the specific embodiment, an image can be divide into chosen small regular regions for determining its properties, according to, e.g., known image processing techniques. If there is enough similarity in neighboring regions, they can be grouped into larger regions for further processing. If certain region exhibits regularity, technique revealed later in this paper can be used to extract simple images out. Consider each smaller region. According to definition of measurement entropy for nonlinear dynamic system, the K entropy is the most important measure of chaotic system, it measures the average rate of loss of information, if K is 0, then the system is fully deterministic; if K is infinity, then the system is completely random. Otherwise, the system is deterministic chaos. According to definition: K = L ei→mO L /,i->m■*>- t.— — J, i .[ t M where and (,, 2 ,--- π ) is when after the state space was reconstructed into n dimensional space with unit length of£" , and when time between , to t was divided into n intervals, the joint probability of its state falling into these grids. For image processing, the data can be viewed as the information from a dynamic system in different stages. Following Reference [3]. Approximate entropy is an efficient way to compute for measurement entropy. Typically, the data making up a time series { (/,.)}, = 1,---,N, are of lower dimension than the actual dynamics. After the state space reconstruction using the delay vector of embedding dimension M, the series of M dimension vectors are: X(\),X(2),--X(N-(M-\)L) where X(i) = x(i),x(i + L),---x(i + (M-\)L); i = \,2,---,N-(M - 1)1 define as delay vector. Ν is the total sampling point count and L is the sampling interval count. Define the distance between vector X(i) and X(j) as: d[X(i), X(j) ^x(\ x(i + (k - \)L) - x(j + (k - \)L) \) - k = \,2,- M Define: C A/ (/") = x (the total numbers count of J's for varying J, N - A + 1 under the condition of d[X(i), X(j)] ≤ r) and: N-M+i Φ Λ ' ( / -) = ∑ lnC,(r) N - + l M Approximate entropy ApEn(M , r, N) can be defined as ApEn(M,r, N) =Φ A ' (r) -Φ A/+1 (r) Values of M, r, Ν and L can be chosen to adjust the sensitivity for detecting different image natures, where M=2, r=0 to 15, Ν=500 to 1000, L=l, can yield satisfactory results for common image types. In other embodiments of the invention, other ways to approximate entropy may be used. The above expression is used to evaluate the local nature of images ranging from the simple cartoon artwork to complicated photos. For example, values of the expression may be compared with predetermined threshold value(s), and values to one side of a threshold would indicate one nature and values to the other side would indicate another nature. Once the nature of image is identified for many sub-areas of the image (Step 50 of FIG. 2), methods from the specific embodiment of the present invention, e.g., macroscopic stitch generation or microscopic stitch generation, can be applied to designated area of image for automatic stitch generation. MACROSCOPIC STITCH GENERATION In Step 60, the cartoon-like or simple artwork type of image is partitioned into regions of fairly uniform color, and a border is determined for each region. For cartoon-like or simple artwork type of image, well-known techniques such as the quantification of each image pixel based on RGB or UVW space is used to assign a quantified number to each pixel. Examples of such well-known image processing technique is discussed in Reference [1]. The result of such calculation assigns a quantified number to each pixel. Scanned samples of already embroidered work can be processed by this same method. For every pixel in the image, compare the quantified number with that of all adjacent pixels. If the difference of this number is small enough, based, e.g., on comparison with a predetermined threshold, one can say that their color are similar and can be merged into a same region. This process is repeated until all the pixels are used and all the regions are formed. It is relatively easy to find all the pixels on the border of each region and therefore each region has pixels on the border and pixels not on border. In Step 70, a metric (or multiple metrics, in other embodiments) is computed for each region that is indicative of its geometric quality. From this metric, the each region can be classified according to a geometry classification system. In the specific embodiment, the metric measures the "thinness" of a region's shape. One can perform the pixel count P B for border pixels and the pixel count P A interior area pixel including border pixel for each region. A geometry index I can be formally defined as, e.g., 1 B This is a preferred formulation of the geometry index I. The higher the index, the more "thin" is the region, and the lower the index, the more "thick," or "full," is the region. Other metrics for geometry indices may be used to determine "thinness." For example, any expression that tends to get larger (or smaller) as P B exceeds P A would have some utility. For example: p B The macroscopic approach of the specific embodiment takes each region's geometry index I as its starting point. From these indices I, the regions are classified into some number of geometry types, e.g., by comparison with threshold values, along with other considerations. The threshold may be predetermined by testing the specific system in question with a variety of input and finding the values that give good performance. With illustrative reference to FIG. l A: 1. Regions labeled 10 (type 3) are thin curve-like region with very high index I value; 2. Regions labeled 20 (type 2) are thicker in local width compared with region type 3, therefore moderately high index I value; and Regions labeled 30 (type 1 ) are relatively large area and with similar dimension when measured on two perpendicular axes, the value of index I is small; and 3. A region labeled 40 (type 4) has pixels on the exterior edge of the image and upon further analysis may be recognized as background region. FIG. 1A is an example of just one simple image for embodying the present invention. It will be readily apparent to one of ordinary skill in the art that a vast number of images are suitable for use in conjunction with the present invention. More specifically as non-exhaustively illustrated in FIG. 3, the first 3 types of regions can be nested or intersected or separated with each other in many ways and in lots of images; any combination of two types of regions mentioned previously are also considered suitable for the present invention. For ease of future of operation, some region can be split into 2 or more different Type 2 or Type I regions, judging by the geometry difference in different portions of this region. If all region fc colors add up to exceed allowable colors from the designated embroidery machines, similar colored regions can be forced to have a same color, to thereby reduce the overall number of colors used. In the specific embodiment, if local coexistence of Type 3 of area (thin curve-like) with Type 1 or Type 2 of areas, Type 3 area is always embroidered last and overlaid on previously embroidered Type 1 or Type 2 areas. In Step80 of the specific embodiment of present invention, all Type 3 regions are extracted first and are fitted with spline curves. In later steps of stitch generation, these curves will be organized and embroidered last such that they can be overlaid on previously embroidered Type 1 and/or Type 2 areas. A representation of actual embroidery stitch for Type 3 areas is called running stitches is shown as 290 in FIG. 4 A. The pixels belonging to extracted Type 3 area, i.e., the void can be changed to the color number of adjacent region'spixels, be ready for next round of operation. In the specific embodiment, slight color variations are allowed within Type 1 and/or Type 2 regions. The techniques to be cited later in this paper can be used to obtain detailed image grain structures and orientations shading distribution directly from the original input image, which has not been quantized into regions each of uniform color. This image nature information is then saved and later is used for stitch generation within these areas. This is a powerful feature which greatly adds to the quality of the output embroidery for many types of input images. In Step 90. once all the Type 3 regions were identified and extracted, the next step in the specific embodiment is to operate on Type 2. Many pairs of spline curves are derived and fitted across all local width (FIG. 5), each Type 2 region is divided into many 4 sided sub-regions 320. Once these 4 sided sub-regions are adjusted along the border to reasonable geometry, zigzag or satin stitches (F1G.4B) 300 are generated for each sub-region, and hence for the whole Type 2 region, according to known methods in the art. In the specific embodiment of this invention, the following criteria can be used to evaluate a Type 2 region: 1. The area of this region is relatively small. 2. The geometry index I is relatively large. 3. The region is completely fit into other region. 4. The region is in between two or more regions of the same color. If the subjected Type 2 region satisfies most of these criteria, this region can be set as an option to be extracted out and later be overlaid as stitches on top of stitches previously embroidered from other regions. In that case, the pixels which used to be in this Type 2 region (i.e., the void) can be changed to the color of adjacent regions. Thus, there is a step of determining whether the Type 2 region should be overlaid on top of other stitches. In the case of a Type 2 region is in between the border of 2 or more Type I regions of same color, if this Type 2 region is extracted out for generating overlaid stitches, the present invention takes these bordering Type 1 regions and group them into one Type 1 region. In the next Steps 110 and 120 embroidery stitches within each of the Type 1 regions (F1G.4C) 310 are computed. With or without the use of previously computed image composition ("image nature") information, Type 1 region may have one or more Type 2 regions embedded within. In Step 130, the specific embodiment provides a means to find the image information composition and be used as a reference for generating embroidery stitches directory from the border of this region. The specific embodiment of this invention can find its application in automatic stitch generation from a scanned sample of actual embroidery work. The local image grain directions described later, in conjunctions with the finding of regions and borders can be adopted. As to the region of Type 4 (background region) 40, it is usually optionally omitted and need not be of concerned. If there is a need to also generate stitches for any or all of this type of region, the method used is identical to those described previously for Type 1 or Type 2 regions. MICROSCOPIC STITCH GENERATION As stated previously, a large fraction of the images in the form of computer bitmaps are taken from photos of complicated 3-D objects. Using the method described previously, bitmaps can be found as deterministic chaos, in this case, both the pixels distribution and edge extraction are very fragmentary and it is very difficult to use it to generate embroidery stitches. Even if some of the images can be approximated by identifying regions for stitch generation by the method stated previously, the resulting stitches could appear too orderly and plain. The specific embodiment of present invention use a method to link local adjacent pixels for forming the embroidery stitches directly, without the need to find borders of region containing these local pixels. Using a high resolution computer monitor as an example, each pixel is about .25 mm, comparable to embroidery thread width, between 4 and 20 pixels could be linked to a line segment, which is comparable to the machine embroidery stitch length, commonly between 1mm to 5mm. Thus the automatic steps needed are to find the distribution, stitch length and sequence for all different colored stitch segments. This is a difficult problem and has likely not been previously unexplored. Image Grain Structure Determination In Step 140, the image grain structure is determined. Applying the well-known technique of two-dimensional DFT, Reference [1], A 2-dimensional discrete Fourier transform (DFT) of a sampled 2-D signal h (k t ,k 2 ) is given by = DFT{h{k x ) where nι = 0, 1, 2, , N-l and n 2 = 0,l, 2, , N-l In discretized form, k|,k 2 is the location number of local pixels; in continuous form, using u, υ instead of ni, n 2 , define a power H(u, υ) as: for slowing down the decreasing of spectra in increasing frequencies. Repeatedly apply DFT to predetermined locations of images over its adjacent region, T(u, υ) values are now computed for each predetermined location point within this image. Transform T(u, υ) into the polar coordinates of (r, φ) Define where means, for each r value, one can find H value around the circular path of fixed r. Similarly, define where means, for each φ value, one can find H value along the r direction. One can now investigate the curve of T(φ) VS. φ and find number of wave peak, denote it as N. Following result can be recorded: a. if N is equal to 1 or 2, then it is clear that there is Uni. Or bi-directional grain structure around this point. In this case, the grain directions can be easily determined; b. if T(r) is constant, then it indicates that there is no directional grain existing at this point; c. if T(r) fluctuates, it indicates that images near this point are very fragmentary and spotty; and d. finally, if N is changing rapidly from point to point in a small region of image, it indicates that there is a pattern in this region and one can repeatedly use the same technique of DFT over a refined grid to find detail of this pattern. The specific embodiment of present invention utilizes previous findings as in a, b, c and d, for reference to derive the pixel linking and line forming process in the following manners. Case a: local pixels are linked parallel to the local grain direction found previously and it also means that parallel stitches are created for Uni. -directional grain and cross stitches are generated for bi-directional grain. Case b: local pixels are linked parallel to a fixed given direction. The result could either be one direction stitches or bi-directional stitches. Case c: local least square method are adopted, for pixels distributed in local (x, y) random stitches could be found. Case d: pixels will be linked to closely follow the details of patterns. Each line segment can be made short (using fewer pixel) or long (using more pixels) according to the local color intensity of these pixels. Thus, shorter stitches have more dense stitching needle points can contribute to darker shade and, longer stitches have fewer needle points can contribute to lighter shade. In the specific embodiment of this invention, a large number of individual same colored short line segments in the same area can be connected together by tie-in pairs of most closely situated end points from each line segment 150. Many of the as-tied end points can be merged into one point if the distance between them is too small. This line linking process is continued until the current end point can not find a nearest end point with acceptable distance. This process can temporally be hold and the already connected line segments can form a group 160. The process is continued until all the line segments are used in forming many groups. One note worth taken is that the starting and end point of any group of lines can be switched or made to coincide as one point (in this case, one extra underlay line of stitch is generated under this group of lines. ) This property of changeable starting and ending point in a group of lines is very important as it provides more flexible ways to connect group of lines. Interactive test could be used to find the right sequence of connecting all various group of lines from different color, such that the occurrence of long exposed connecting line between groups are minimized 170. The embroidery field can sometimes still be considered as an art and without any fixed and unique way for stitch preparation. The system and method described herein can process a large class of input images. For certain images, a better final result can be achieved after making slight modification to either the stitch sequence generated by the specific embodiment or to the image itself (for reprocessing by the present invention). The invention has now been explained with reference to specific embodiments. The present invention relates to methods and systems for deriving information from images and generating command sequences from such information for creating stylized renditions of those images. A particular application is to machine embroidery wherein the present invention generates embroidery stitch sequences and optionally operates an embroidery machine using the generated stitch sequences as an input. Other embodiments will be apparent to those of ordinary skill in the art in view of the foregoing description. For example, the "stitch sequences" could also correspond to a generic line-art representation of images, which have aesthetic appeal even when printed on other media or when displayed on a computer display. It is envisioned herein that the present invention will find its implementation in a software program on a computer-readable storage medium within a computer system, wherein the computer system may be coupled to send its output to an embroidery machine and which computer system may form a part of an automated embroidery system. Such an embodiment is therefore to be considered within the scope of the present invention. Other embodiments are described in the attached appendicies. The scope of the invention is therefore indicated by the appended claims rather than the foregoing description and all changes that come within the meaning and range of equivalents thereof are intended to be considered as being embraced within their scope. It will be appreciated by those skilled in this particular an that the present invention can be embodied in other specific forms without depaπing from the spirit or essential characteristics thereof. High Performance and Ease of Use AutoStitch represents a new generation in embroidery software and is designed for users that need high performance and of operation Furthermore, an expanded version with even more professional stitch techniques will be released soon AutoStitch incorporates the latest technology on 1 Intelligent image processing and automatic stitch generation True 32-bιt and Wιndows®NT J Object based system architecture Overall Features Automatic scanner input with image enhancement Multiple methods of image insertion and editing Dual view for image processing and stitch generation Automatic image anaJvsis for stitch tvpe and stitch region generation and sequencing Advanced CAD natural input Convenient and powerful editing tools Object based 32 bit design for Window s®95 and Windows® NT Area list for manual sequence change, iew and operation control True 3D virtual reaiitv viewing Ability to automaticalK convert millions of clipan and thousands of fonts into embroidery stitch Photo realistic 3-D image rendering Summary of Features Input methods Teτt Input Almost all of the available True 1 ype tonts can be automatically utilised bv AutoStitch -- simply type vour desired phrase in image Input Most clean image files, such as clipart can be inserted and utilised Input from Scanners With the use of a scanner, many of the artwork, embroidery sample, or photo can also be utilised bv AutoStitch (initial image enhancement or manual image editing using Paintbrush® or Adobe Photoshop® may be required). C UAAD I innppuutt Proprietary advanced natural input methods for creating designs. Automatic Stitch Advanced edge detection and auto outline. Region formulation Search for sequence Texture or groove mapping in complex fill Shading * Auto underlay Stitch Types Running Stitch Complex Fill Motif Fill Column Stitch Jagged Stitch Gradual Stitch Tatami Stitch Satin Stitch Zigzag Stitch 3-D Wrap ' Svstem Setting Stitch compensation Fabric compensation Hoop compensation Stitch length Editing Control Area list playback View and editing control for each area * Sequence change by drag and placement Operation control between each embroidery area Display • True 3D - Cap and Shirt Input methods AutoStitch offers four methods to insert design, they are Text Input, Image File Input , Input from Scanner and CAD Input. Text Input This option allows you to insert all available true type fonts For example, insert the text: AutoStitch 1 . 3. new 4. Click OK. 5 6. Choose font si/c. The default font size is 1.00 7. Choose bold if desired 8. Choose italic if desired Figure 3-2 9. Tvpc in AutoStitch 10. Click OK. Svslcm will generate the actual stιιch( Figure 3-3) Figure 3-3 Inserting an Image File This Option allows vou 10 insert the existed Bmp file 1 Click the Insert button- < ir»«t 2 Click the Image File button .— ■a r- 3 The New Design dialog (Figure 3- 1 ) will appear on the screen This just happens on the first time sou insert the image 4 Choose or input the name and the path of the design in the New Design dialog Figure 3-4 5 Λ 1 S ' ) The system will display the image in the Picture View Figure 3-5 Window and calculate the outline for the image automaticalK' and display it in the Stitch View Window For example: To insert a image of tractor, the screen will look like Figure 30 Depending on individual computer this step mav take many seconds Inserting from the scanner You may i p*nd mnuiat oj vnm on & Oo yw» «rert n liter 17 Figure 3-6 1 Click on Insert button < ι>>»«'« £J° 2. Click on Scanner button st«nn«r 3 Pick up the area which \ou wanted after the Mfl'.T, TΓTHΓTP scanner previewed 174 4 Finish ihe scan process in Figure 3-7 5 Click on Yes in the AutoStitch dialog (Figure 3-6) if sou want to Oner the bmp 6 Click on Continue in the dialog bo\ (Figure 3-7) Inserting an edited existing design (Not available yet 1 ) CAD Input (Not available yet 1 ) Automatic Stitch Most advanced edae detection and auto outline After the system has displayed the image's outline, you can use this command to build the stitch of the image The following are the steps of the operation 1 Click on the image 2 Click on the Generate button ° « ~™" Then the screen will look like the figure 3-S Depending on individual computer t is step may take many seconds. ou mav nonce that there is no digitizing required up to now For companion other system might need manv times and more effort to digitize and generate stitch data for this example Showiπg the 3D view 1 Select the desired design 2 Click the button' ao vι.« to display the Preview dialog box (Figure 3-9) 3 Choose the color of the background 4 Choose or input the pattern Figure 3-9 5 Choose the thread type 6 Adjust the bnghtness 7 Adjust the position of the light (two ways) • Click left-mouse-button at the desired position the preview window • Input the coordinate of the desired position directly Figure 3-10 8 Click OK. 9 Use left mouse key and mouse move to rotate the cap , or use control+left mouse key and move mouse up / down to zoom out / in Then the screen will look like the figure 3- 10 A u t o Stit c h User Manual Rotate Mirror Layer - forward and backward Group Align Zoom Running indicator Minimum System Requirements The minimum system requirements for your computer to run AutoStitch are: • 8MB hard disk space to install AutoStitch and better to have 30MB free disk space to run AutoStitch Pentium processor 32MB of RAM A monitor and video card capable of displaying 1024x768. 256 color resolution A windows-compatible mouse Microsoft® Windows® 95, Windows NT Parallel port for security dongle Change the system color palette to High Color or True Color. To improve the overall AutoStitch performance, you may want to consider upgrading your system hardware, e Pentium II, Pentium PRO processor. Dynamic Picture's Oxygen graphic card, large screen monitor, etc The AutoStitch system is not designed for use on Windows 3.x operating systems. Optional equipment Color-scanner Color-pπnter Not ready yet Paintbrush® is rcuislcr product of Microsoll Window s®95 and Win ows® NT Photoshop® is register product ot ' Adobc® Exploring AutoStitch TM Installing AutoStitch I Click on the Start button. Click Run Then the Run dialog box (Figurel-1) appears BBHfHBHHIHIBIIBIHHKzI i3 Type Iris name 01 a program, tσtder or document, end VVtadσwt will open t lorycu FiffUre 1- 1 Open |o seτup ~ \ OK 2 Type the dπve letter, followed by a colon( ) and a backslash ( \ ), and the word Setup For example A:\Sctup 3 Follow the instructions on your screen Click Next to continue the setup process 4 Click on Browse to choose the Destination Folder if you want to make change (the default directory is C \AutoStitch) 5 Click on Next 6 Type in the Program Folder and choose the Existing Folder 7 Click on Next and waiting 8 Click on Finish to complete setup Creatin i gfc a shortcut If you wish to create a shoπcut to the AutoStitch program on your Windows 95 desktop, follow the steps below 1 Right-click your mouse in an open area of the desktop 2 Scroll to New, then select Shortcut 3 Enter the path for the AutoStitch program in the Command line field, and click Next 4 Enter a name for the shoπcut such as "AutoStitch" and click Finish A new icon will be created on your Windows 95 desktop Double-click on the new icon to run the AutoStitch program Technical Service If you encounter any problems while installing or using this product, please contact your Softfoundry representativ e Starting AutoStitch Double click AutoStitch to start The following screen appears when AutoStitch is starte You can run AutoStitch program clicking on the Start button . selecting Run, and then cntcπng the path to the AutoSutch program click OK to run the program If created a shortcut, double-click on the shortcut s icon to run the program The application window (Figure 2-1) will be The Apphcauon window is a reference screen designed to displav information about the AutoStitch program Figure 2-1 The Layout Window After the Application screen has been displaced (usually, just a few seconds), the window appears on die screen (Figure 2-2) It includes two windows arc Picture Window and Design Window The Picture Window will show die inserted object, and the result of the operation will be shown in the Design V. indow Within this window, there arc menus, a standard bar, an edit bar. and a status bar The funcuons of the menus and buttons arc coxcrcd in Chapter 5 of this manual Figure 2-2 Objects Based Concept For AutoStitch. the concept of Ob j ect" refers to a font, a shape, a line, a stitch, or an area And. in AutoStitch, cvcrvihing is ob j ect based, all of these objects have ihcir own individual properties and operating or editing methods the entire editing process deals onlv with these objects This gι\cs users ot AutoStitch the powerful ability to edit combine Lhcm like one builds blocks Furthermore the all the ob j ects automaticalK and allows the user to edit the whole as a separate object The following tutorial show you how — — . -- to modify stitches in various ways. '"* ϊ Change Properties of the Stitch α d SMcfHM ' V/ - ''? %' I, ..,.., ,.^j l.^„,,' ! 1 Right click your mouse on the area of the image which you want to change 1 « 1 =—- 1 - • 1 2. Click on the Propeπies button »— <-« , then system will apply the Stitch Properties dialog box (Figure 3-1 1 ). 3 Do the specific changes in the Stitch Propeπies dialog Figure 3-11 box (Tie off, Underlay, Split and Border). 4 Click on the Generate button «~»ι« to rebuild the stitches for the image. ΪOII can change the unit of the stitch by using the Unit command in the Option menu Changing stitch mode 1. Right click your mouse on the region of the image which you want to change. ( Use control of right mouse key for more regions) Click on the Stitch Mode button «»>«., then system will apply the Stitch Mode dialog box (Figure 3-12) Change stitch type II . I" Choose work range Choose stitch type. Click complex till values button to change Tatami Values. Offset Fraction Random Factor Choose Use as Default option if desired. Click on OK Click on Column Stitch values to change Column Values of Spacing Choose the Auto Spacing On and input the rate of random 77je default is Off. Figure 3-12 Choose Use as Default if desired Click on OK Change Motif Fill Choose Use Motif Fill if desired . 77K.' default is without mottf-βll. Click on the Generate button G —> « > to rebuild the stitches for the image. You can change the unit of the stitch by using the Unit command in the Option menu S'ote: Now. AutoStitch can change ihe properties or stttch mode of area only one by one. I t means tha t uhen you have changed one are 's properties or stitch mode, you must do rebuilding for once , t hen you can change another area 's. Editing the Image If tmd one or many areas of the generated sutch do not meet your requirement. may use the technique in t his section to touch-up image for stitch gcncrauon again I Double click on the picture in the 'Picture view' window ( the left window), then the window will look like the following(Figure 3- 13): Figure 3-13 2 Editing what you desired on the picture 3 Click out of the picture in the ' Picture view' window to finish the editing and begin to rebuild the outline of the picture Wait for the appearance of the outline in the 'Stitch view' window (the right window) Or 5 Press on Esc or click out of the image box in the 'Stitch View' window to cancel your editing S'ote: 1. Ωie s\ stem will not make the rebuilding υf the outline or stitch after you cancel the editing, but all the change will still appear on the picture. 2. If you had chosen the Auto Build ( in the Option menu ), system will rebuild the outline of the image automatically after you make the change on the picture. If you hcn-en 't chosen this func t ion then you must click Generate button to rebuild the image s outline. Adding BMP Editor You can also invoke more advanced image processing software such as Adobe Photoshop® for editing task , hold down the control button, and double click left mouse key The detail step of this operation is like the following 1 Hold down Ctrl button and double click the left mouse key 77ιe/ι the screen will look like the following (Figure 3-1 -I) *<MIIMU»i*l<> Figure 3-14 2. Click on Add. Then there will be a Browse Files dialog box ( Figure 3-15) on the screen. Figure 3-15 3. Input or choose the desired EXE file name into the Browse Files dialog box, and click on OK. 4. Click on the file's name in the Add Bitmap Editor dialog box (Figure 3-16), and click on Use button Figure 3-16 u- 1 — 1 Then you can easily run the editing programme you added 5 At last, you must do the save if you want to rebuild the image. Changing the Stitch Sequence Use this function to change the stitch sequence of the area. The details of the option steps are like the following 1 Choose the Area List command in the View Menu Figure 3-17 2 Click on the desired area in the Area List window. (Figure 3- 17) 3 Hold down the Ctrl key and then click on the desired areas to select several areas meanwhile J 4 If you want select several continuous areas, please • Click on the first desired area in the Area List. • Hold down the Shift key and then click on the last desired area in the Area List. 5. Click to put the selected area to the start of the area list. 6. Click to put the selected area above the previous area. 7. Click to put the selected area below the next area. 8. Click to put the selected area to the end of the area list. 9. Close the Area List window. When you selected the area in the Area List window, ihe relative area will flash on the Stitch Vteλv window. Whatever change you make, the system will automatically find the nearest distance and add Change Color or Trim if needed between two adjoining areas. asic Features Getting help Choose Help Contents to display help information Loading a file ( not available yet) This option allow you to load a existed image file 1. 2. 3 4 5 Click on Open Saving the design Use this option to save the design 1 Use the File menu 2. Choose Save command Or 3 Click on Save button s«»« Then system will generate two files in the directory you created when you first time inseπ the text or image. They are * exp, and '.bmp. * exp is a melco exp file, you can open it in EDSI11 to edit stitches * bmp is a bitmap file which contains the information of a stitch color list, you can change the color palette in EDS11I one by one according to this color list Zoom Option Zoom in / out 1 Click the buπon <-... or ■« 2 Click on the ob j ect or select the area needed to enlarge or reduce 3 Left-click \our mouse each click will enlarge or reduce the design by 25% of the current size 4 Right-click vour mouse to cancel the zoom function and return to the selecting status Note Die maximum enlargement scale Mill be 32 and the minimum shrinkage scale will be 10 Last Zoom Click Last Zoom button "**— to regenerate the last zoom size chosen pπor to the current view Zoom All To enlarge the design to full view window 1 Use the Zoom menu 2 Choose Zoom nil command Natural Size Recover the design to the natural size 1 Use the Zoom menu 2 Choose the Natural size command Note An object must be selected before it can be resized Size information is dtspla\ed in the slants bar as changes are made Using the ruler Use the ruler to measure the distance between two optional points in the view window 1 Click the Ruler button n ""■'•' 2 Click and hold with the left mouse-button, and drag along the height or width of the design 3 The dimension will be shown on the status bar 4 Right-click your mouse to cancel this function Moving the design Click and hold on the design, then drag it where >ou wish in the Stitch View window Changing the center 1 Click on the Pan button Pjn 2. Click in the Stitch View Window at the point which desired to be the center of the window Deleting stitches in some desired area 1 Click on the desired area to select it 2. Press the Delete button on the keyboard Changing the unit of system 1 Use the Option menu 2. Choose the Unit command 3 Choose mm or inch Setting the length 1. Use the Option menu 2. Choose the Settings command, system will apply the Settings dialog box (Figure 3- 1 1) 3 Write the length in the bland of Min Length and Max Length. ( The default mm length is 0 -4 mm or 0 02 inch, the default max length is 4 mm or 0.16 inch.) Figure 4-2 4 Click OK. Resizing an Object 1 Use the left mouse key to click on any border point and move this point, you can see the size of object changed accordingly 2 This operation will automatically change the total number of stitches and maintain the same stitch density Running Indicator AutoStitch offers a running indicator to show user the current state of svstem • When the green light is on, all the system is in a leisure state. It means the computer has ended its calculation process and is ready for users to operate. • When the red light is on, the computer is calculating and processing figures, the red light will flash in normal conditions. • If the red light doesn't flash, it means the system has been locked. 5. Menus and Buttons Menus The menu bar is located on the top of the window. There are five menu items on the menu bar: File Edit View f ile £dK iew Zoom 0_ρtiσn tJelp Zoom Option Help File Menu New Creates an empty layout window Figure 5-1 Save (Not available yet!) Allows you to save a new design or changes to an existing design. If the design has not been saved before, the Save as dialog box (Figure 5-2) will appear and prompt you for a file name It is wise to save your work often Save as Displays the Save As dialog box (Figure 5-2). It prompts you for information to save your current design as a new file, or a second copy of an existing file. If you change a design, you may want to keep both the original and the modified versions. Each must have a unique name. 1. Choose or input the path of the file. 2. Choose or input file name. 3. Choose file type 4. Click Save. Figure 5-2 Print Prints the current view. The Print dialog box (Figure 5-3) will |>>nnt Setup HE3 appear if you use this command. 1. Choose or input the propeπies of the ■3 ϊropertβe 1 . printer. 2. Choose Print to file if desired. 3. Edit the print range. d r 4. Input the number of the copy you need. 5. Click OK Figure 5-3 Print Preview Click Print Preview, the picture below (Figure S ) will display how a document will look when printed. Use the print preview toolbar to make changes before you print. Figure 5-4 Print Setup Prompts you for printer information Clicking on Setup in the dialog box allows you to change or update information about the selected printer. Display the Print Setup dialog box Print •"■'!«! (Figure 5-5) BT3 Eropαααs | 1 Choose or input the properties of the printer. 2. Choose or input the paper size. On«ntαfeoι. • - 3. Choose or input the paper ^J source J 4 Choose the orientation of the paper. QIC 5 Click OK Figure 5-5 Recent file Displays the last several opened designs. Exit Terminates Autostitch and returns you to the Windows Program Manager after giving you an oppoπunity to save any open files Edit Menu Undo Undoes the last modification to the selected object Cut Deletes the selected object and moves it to the clipboard. Copy Copies the selected object to the clipboard Paste Pastes an ob j ect from the clipboard ( There must be a compatible object on the clipboard) View Menu Status Bar Displays or hides the status bar. θ¥ Pos 83 . " -4 Ratio: f 3054 " ~ NLJM All kinds of information about operations will be displayed in the Status Bar. Area List Displays or hides the Area List (It lists all single area of the image.) Zoom Menu Natural Size Recover the image to the natural size Zoom All Zoom the image to the full Stitch View Window Option Menu Unit Change the unit (mm or inch) of system Settings... Set the length of stitches The default min length is 0 4 mm or 0 02 inch, the max length is 4 mm or 0 16 Auto Build Do the choice of building the outline of the design automatically or not when inseπ the image or save the editing for the image ( the default is auto build) Help Menu Help Topics Allow you to select a help topic from the list About AutoStitch. Display the version number and copyright information for the AutoStitch software program. Buttons AutoStitch includes two Toolbars: Standard Bar and Edit Bar Standard Bar New New Creates a new dcsiαn Load Load Loads an existing design Save Save an opened document, using the same file name. Print Print Prints a document. Undo Undo Reverses certain commands or deletes the last entry you typed. The command doesn ' t allow to use if cannot undo the previous action. Pan Pan Chances the ccnlcr of the application window Ruler Ruler Displav s the ruler in the Stitch View window Find Find Find the specific sutch Last Zoom Regenerate the last zoom size chosen pπor to the current view. Zoom in Zooms in on the design. 2M in O.T Zoom out Zooms out on the design. αeacratβ Generate Creates the stitch for the design. 3D. View. 3D View Shows the design on a cap by 3D mode Edl Std i Edit Stitch Edits the stitch of the dcsien Effect Toolbar (Not av ailable \ct ) Edit Bar nnsert Shows the Insert Toolbar Edit/Sat Shows the Edit/Set Toolbar < Allan Shows the Align Toolbar Changes die properties of die object StΛ_ HoJe Changes the stitch mode of the object. Insert Toolbar TT. Font Inserts the TT Font text Image File Inserts the image file Scanner Inserts the design from the scanner Dasiqn Inserts the edited existing design <Sh ape Inserts a line, rectangle. and am free shape Edit / Set Toolbar Rotates the design clockwise / counter clockwise b\ 90 degrees. 180 dcarccs or frcclv < Flips the design hoπzontalK or \ crticalh L *V«r ' Assembles selected objects into a single object, or disassemble a grouped object into individual objects. AUTOSTITCH QUICK REFERENCE To Enlarge the Design to the Full Window 1. Click on Zoom menu. 2 Choose Zoom All command. To Recover the Design into the Nature Size 1. Click on Zoom menu. 2 Choose the Nature Size command. Last Zoom 1. Click on the image. 2. Click on the Last Zoom button. To Change the Unit of the Ruler 1. Click on Option. 2. Click on Unit. 3 Click on Inch or mm. To Change the Properties of the Design 1. Right-click the mouse on the design to select the area. 2. Click on Propeπies button. 3. Make the desired setups. 4 Click on OK. To Change Stitch Mode I . Right-click the mouse on the design to select the area. Click on Stitch Mode buπon. Make the desired changes. Click on OK. Exit the AutoStitch 1 Click on File. 2 Click on Exit.

Claims: WHAT S CLAIMED S: 1. A method for embroidering comprises: -> receiving a digitized representation of an image; 3 determining grain structures for a plurality of locations in the digitized 4 representation, the plurality of locations including a first location and a second location; 5 embroidering a representation of the first location using cross stitch 6 patterns, when a grain structure for the first location indicates a bi-directional grain 7 structure; and 8 embroidering a representation of the first location using uni-directional 9 stitch patterns, when the grain structure for the first location indicates a uni-directional 0 grain structure. 1 2. The method of claim 1 further comprising: 2 embroidering a representation of the first location using pre-determined fill 3 patterns, when the grain structure for the first location indicates a reduced directional 4 grain structure. 1 3. The method of claim 1 wherein embroidering the representation of 2 the first location using uni-directional stitch patterns, comprises: 3 determining a stitch length for the representation of the first location, in 4 response to a color intensity at the first location; and 5 embroidering the representation of the first location using stitches having 6 the stitch length. 1 4. The method of claim 1 further comprising: 2 embroidering a representation of the second location using uni-directional 3 stitch patterns, a direction for the uni-directional stitch patterns associated with the first 4 location different from a direction for the uni-directional stitch patterns associated with 5 the second location. 1 5. The method of claim 1 wherein the image is a photograph. 1 6. The method of claim 1 wherein determining grain structures for a 2 plurality of locations in the digitized representation comprises using a discrete Fourier 3 transform. 7. A method for embroidering comprises: receiving a digitized representation of an image; determining a plurality of regions of the image in response to the digitized representation, determining a geometric index for each region in the plurality of regions of the image; determining a region type associated with each regions from the plurality of regions in response to the geometric index for each region, the region types including a first region type and a second region type; embroidering representations of regions from the plurality of regions associated with the first region type; and thereafter embroidering representations of regions from the plurality of regions associated with the second region type. 8. The method of claim 7 wherein determining region types associated with regions from the plurality of regions includes determining a region associated with a first region type; the method further comprising: segmenting the region associated with the first region type into a first region associated with the first region type and a second region associated with the second region type. 9. The method of claim 7 wherein determining the geometric index comprises determining a relative thickness indicator for each region in the plurality of regions of the image; and determining the region type associated with each regions from the plurality of regions is in response to the relative thicknesses indicator of each regions in the plurality of regions. 10. The method of claim 7 wherein the representations of regions from the plurality of regions associated with the second region type are overlaid over representations of regions from the plurality of regions associated with the first region type. 1 1. The method of claim 7 wherein embroidering representations of regions from the plurality of regions associated with the first region type comprises: determining a grain structure for a location in a region associated with the first region type; embroidering a representation of the location of the region using uni- directional stitch patterns, when the grain structure for the location indicates a uni- directional grain structure. 12. The method of claim 11 wherein embroidering the representation of the location using uni-directional stitch patterns, comprises: determining a stitch length for the representation of the first location, in response to a color intensity at the first location; and embroidering the representation of the first location using stitches having the stitch length. 13. A computer program product for a computer system including a processor comprises: code configured to direct the processor to receive a digitized representation of an image; code configured to direct the processor to determine grain structures for a plurality of locations in the digitized representation, the plurality of locations including a first location and a second location; code configured to direct the processor to direct embroidering of a representation of the first location using cross stitch patterns, when a grain structure for the first location indicates a bi-directional grain structure; and code configured to direct the processor to direct embroidering of a representation of the first location using uni-directional stitch patterns, when the grain structure for the first location indicates a uni-directional grain structure; wherein the codes reside on a tangible media. 14. The computer program product of claim 13 further comprising: code configured to direct the processor to direct embroidering of a representation of the first location using pre-determined fill patterns, when the grain structure for the first location indicates a reduced directional grain structure. 15. The computer program product of claim 13 wherein the code configured to direct the processor to direct embroidering of the representation of the first location using uni-directional stitch patterns, comprises: code configured to direct the processor to determine a stitch length for the representation of the first location, in response to a color intensity at the first location; and code configured to direct the processor to direct embroidering of the representation of the first location using stitches having the stitch length. 16. The computer program product of claim 13 further comprising: code configured to direct the processor to direct embroidering of a representation of the second location using uni-directional stitch patterns, a direction for the uni-directional stitch patterns associated with the first location different from a direction for the uni-directional stitch patterns associated with the second location. 17. The computer program product of claim 13 wherein the image is a photograph. 18. The computer program product of claim 13 wherein code configured to direct the processor to determine grain structures for a plurality of locations in the digitized representation comprises code configured to direct the processor to execute a discrete Fourier transform. 19. An embroidery system including: a processor; and a processor readable memory comprising: code that directs the processor to retrieve a digitized representation of an image; code that directs the processor to determine a plurality of regions of the image in response to the digitized representation of the image; code that directs the processor to determine a geometric index for each region in the plurality of regions; code that directs the processor to determine a region type associated with each region from the plurality of regions in response to the geometric index for each region, the region types including a first region type and a second region type; code that directs the processor to direct embroidering representations of regions from the plurality of regions associated with the first region type; and code that directs the processor to direct embroidering representations of regions from the plurality of regions associated with the second region type after the representations of regions from the plurality of regions associated with the first region type. 20. The embroidery system of claim 19 wherein the code that directs the processor to determine region types associated with regions from the plurality of regions includes code that directs the processor to determine a region associated with a first region type; the processor readable memory further comprising: code that directs the processor to segment the region associated with the first region type into a first region associated with the first region type and a second region associated with the second region type. 21. The embroidery system of claim 19 wherein the code that directs the processor to determine a geometric index for each region in the plurality of regions of the image comprises code that directs the processor to determine a relative thickness index for each region in the plurality of regions; and the code that directs the processor to determine a region type associated with each region from the plurality of regions is in response to the relative thickness index of each regions from the plurality of regions. 22. The embroidery system of claim 19 wherein the representations of regions from the plurality of regions associated with the second region type are overlaid over representations of regions from the plurality of regions associated with the first region type. 23. The embroidery system of claim 19 wherein the code that directs the processor to direct embroidering of representations of regions from the plurality of regions associated with the first region type comprises: code that directs the processor to determine a grain structure for a location in a region associated with the first region type; and code that directs the processor to direct embroidering of a representation of the location of the region using uni-directional stitch patterns, when the grain structure for the location indicates a uni-directional grain structure. 24. The embroidery system of claim 23 wherein the code that directs the processor to direct embroidering of the representation of the location using uni- directional stitch patterns, comprises: code that directs the processor to determine a stitch length for the representation of the first location, in response to a color intensity at the first location; and code that directs the processor to direct embroidering of the representation of the first location using stitches having the stitch length. 25. A article of manufacture having embroidery embroidered thereon using the method described in claim 1. 26. A article of manufacture having embroidery embroidered thereon using the method described in claim 7.

Inventors: WANG OLIVER K L, WANG, OLIVER, K., L.
Applicants: SOFTFOUNDRY INC, WANG OLIVER K L, SOFTFOUNDRY, INC., WANG, OLIVER, K., L.
Application year: 1999
Main classification: D05C3
IPC codes: D05B19