Exploring Programmable Self-Assembly in Non-DNA Based Molecular Computing

Total Page:16

File Type:pdf, Size:1020Kb

Exploring Programmable Self-Assembly in Non-DNA Based Molecular Computing Exploring Programmable Self-Assembly in Non-DNA based Molecular Computing Germ´anTerrazas∗ Hector Zenil y Natalio Krasnogor z The final publication is available at link.springer.com DOI: 10.1007/s11047-013-9397-2 Abstract of how the objects and the environment that con- tains them can be designed in such a way that the Self-assembly is a phenomenon observed in na- final outcome of the self-assembling process is a ture at all scales where autonomous entities build specific pre-ordained one. As surveyed in Pelesko complex structures, without external influences (2007), this problem is usually addressed through nor centralised master plan. Modelling such enti- very sophisticated heuristics methods as, in lieu ties and programming correct interactions among of the NP-hardness (in some cases even undecid- them is crucial for controlling the manufacture ability) of the most relevant backward problems, of desired complex structures at the molecular exact analytical solutions are very rarely achiev- and supramolecular scale. This work focuses able. The third problem, that of the yield of a self- on a programmability model for non DNA-based assembly process, is related to the estimation and molecules and complex behaviour analysis of their control of how many of the intended target self- self-assembled conformations. In particular, we assembled objects one can expect from a partic- look into modelling, programming and simulation ular self-assembling system (this problem is ubiq- of porphyrin molecules self-assembly and apply uitous in the chemical sciences). The observation Kolgomorov complexity-based techniques to clas- that \self-assembly and computation are linked by sify and assess simulation results in terms of in- the study of mathematical tiling" (Rothemund, formation content. The analysis focuses on phase 2000) has produced a step change in the way transition, clustering, variability and parameter the forward, yield and, more significantly, the discovery which as a whole pave the way to the backward problems in molecular self-assembly are notion of complex systems programmability. dealt with. More specifically, Mao et al(2000); Soloveichik and Winfree(2005); Winfree(1996); 1 Introduction Winfree et al(1998) have shown that universal computation can be carried out by self-assembling Self-assembly research and practice (Krasnogor discrete DNA tiles in a 2D plane and, by utiliz- et al, 2008) (regardless of the scale at which it ing the power of universal computation, complex operates) often encounters three key problems (a) DNA-based patterns have been implemented in the forward problem, (b) the backward problem the lab through a clever programming of the DNA (also known as the designability problem) and tiles. Indeed, linking self-assembly and computa- (c) the yield problem (Pelesko, 2007). The for- tion provides a powerful new approach to address- ward problem is concerned with trying to predict ing profound questions about the controllability what the final product of the self-assembly pro- of complex physico-chemical nanosystems. We arXiv:1309.6449v1 [cs.CC] 25 Sep 2013 cess would be, given a set of objects, environ- could ask, for example (Adleman et al, 2001, 2002; mental conditions and the natural laws (physi- Rothemund and Winfree, 2000; Soloveichik and cal, chemical, biological) that are prevalent at a Winfree, 2005) what are the least complex molec- given specific scale. Usually the forward problem ular tiling motifs which may be exploited in the is addressed through the use of simulations and programming of self-assembly 2D lattices with spe- mathematical models. The backward problem, cific geometries? It was shown in Adleman et al the most difficult of the three, addresses the issue (2001, 2002) that answering this question might, in some cases, be a computationally undecidable ∗Institute of Advanced Manufacturing, Faculty of En- gineering, University of Nottingham, UK. E-mail: Ger- query while in other cases it might give rise to NP- [email protected] hard problems, thus it is strongly suspected that yKroto Research Institute, Behavioural and Evolution- exact polynomial time deterministic algorithms do ary Theory Lab, Department of Computer Science Univer- not exist for these problems. It is important to sity of Sheffield, UK. E-mail: [email protected] zSchool of Computing Science and Centre for Bacte- remark that the idea is not necessarily to use self- rial Cell Biology, Newcastle University, UK. E-mail: Na- assembly for computational purposes (as in DNA [email protected] ( ) 1 computing) but, rather, the other way around: to gram for computing such object by a universal use computation in such a way as to program nano Turing machine (Chaitin, 1969). In other words, tiles so they self-assemble, with exquisite detail, this method characterises the complexity of an into specific patterns. That is, computation em- object by the length of its shortest description, bedded in the tiles design allows for an enhanced that is, the minimum number of symbols needed control of the self-assembling entities; this remark- for a computer program to reproduce such object. able formal connection between self-assembly and Kolmogorov complexity is an uncomputable func- computation is the subject of our work. tion and one of its approximations is implemented We have demonstrated that a combination of by lossless compression algorithms. Such approx- experiments, modelling and evolutionary compu- imation has been applied to study the qualitative tation can automatically program idealized mod- dynamical properties of cellular automata (Zenil, els of discrete self-assembly tiling systems (Ter- 2010), classification of cellular automata (Dubacq razas et al, 2005, 2007a) and also self-organising et al, 2001), classification of biological sequences gold nanoparticle assemblies (Siepmann et al, (Ferragina et al, 2007) and data mining (Keogh 2007) in such a way that they achieve specific et al, 2007), to name but a few. An important re- self-assembled conformations. In one of our stud- sult of Kolmogorov complexity is the Normalised ies we concentrated on a system that consisted Compression Distance (Li et al, 2004) which is of so called Wang tiles. Wang tiles live in a 2- a measure of similarity between two given objects dimensional world and can freely move in this 2D in terms of information. The information distance space. When two tiles collide, the glue type of the between two objects is defined as the amount of colliding sides is used to decide whether the tiles information required to compute one object given should stick to each other or bounce back. Given a the other. This metric has been applied to dif- set of glue types with their characteristic strengths ferent purposes in a wide range of research fields and a given temperature, we were able to solve such as pattern recognition, data mining, cluster- the backward problem and provide answers to ing, evolutionary design and classification (Cili- the question of what is the (optimal) family of brasi and Vit´anyi, 2005; Siepmann et al, 2006; tiles that will self-assemble into a specific spatio- Terrazas et al, 2007b; Vit´anyi, 2012), and also em- temporal pattern? We have also shown (Siepmann ployed as a base for defining information distance et al, 2006, 2007; Terrazas et al, 2005, 2007b) that between multiple objects (Vit´anyi, 2011). it is possible to evolve the parameters of a cellular automata-based Monte Carlo model to coerce a specific spatio-temporal pattern closely matching observed nanoscience experiments imaged with an atomic force microscope while substantially In this work, we introduce a simple mathe- speeding-up the process of nanoscanning (Wool- matical model that captures relevant porphyrin ley et al, 2011). In contrast to work mentioned molecules dynamics and blends with a classic previously, here we focus on extensive simulations stochastic algorithm into a self-assembly simu- of non DNA-based molecules deposited on a suit- lation system. The behaviour of this system ably processed solid substrate and on complex is mainly governed by programmable porphyrin behaviour analysis. Indeed, outside DNA-based molecules, the different instances of which give rise systems (Rothemund and Winfree(2000); Solove- to an extensive variety of morphologically com- ichik and Winfree(2005); Winfree and Bekbola- plex self-assembled structures where some of these tov(2003)), analogues of programmable molecu- closely match supramolecular conformations ob- lar tiling of complex self-assembling patterns have served in porphyrin molecules deposited onto a yet to be systematically studied and this paper is A(111) solid processed gold substrate. Our aim a first step in that direction. For a survey of self- is to characterise qualitative traits of the com- assembly systems at various scales and under var- plex behaviour captured by our system, i.e. the ious physical embodiments please refer to Krasno- resulting self-assembled aggregates, in terms of gor et al(2008). Kolmogorov complexity and information distance. Different approaches have been employed for Next section introduces the porphyrin molecules the characterisation, quantification and classifi- programmability model followed by a full descrip- cation of complex behaviour. Kolmogorov com- tion of our self-assembly simulation system, de- plexity (Kolmogorov, 1965) is the mathematical scription of experiments and simulation results. measure of randomness that together with some Then, the characterisation of the system follows metric variations is well equipped to tell apart focusing on phase transition, clustering, variabil- structure from simplicity as a measure of infor- ity, parameter discovery, orthogonality and fin- mation. The Kolmogorov complexity of a given ishes with an introduction to the notion of com- object is defined as the length of the shortest pro- plex system programmability. 2 (a) (b) Fig. 1: Correspondence between a Wang tile and a double cross-over, antiparallel, odd-spacing (DAO) molecule where tile labels map to sticky ends of unique DNA sequence (a). Self-assembly of molecular units into two-dimensional lattice by means of programmed Watson-Crick complementary sticky ends (b).
Recommended publications
  • Combinatorial Optimization Problems in Internet Applications
    Poznań University of Technology Institute of Computing Science Combinatorial optimization problems in Internet applications Doctoral thesis Jakub Marszałkowski Supervisor: prof. dr hab. inż. Maciej Drozdowski Poznań, 2017 Contents 1 Introduction 4 1.1 Motivation . 4 1.2 Scope and Puropose . 5 1.3 Methodology . 6 1.4 Common webpage-related factors . 10 1.5 Outline of the Thesis . 11 2 Layout Partitioning for Advertisements Fit 13 2.1 Website’s Layouts and Ad Placement . 13 2.2 Problem Formulation . 16 2.3 Objective Functions . 19 2.3.1 Max Ad Number Function . 20 2.3.2 Max Most Difficult to Pack Ad Unit Function . 20 2.3.3 Min Single Ad Waste . 20 2.4 Solution Method . 21 2.4.1 Combining Ad Units . 22 2.4.2 Valid Column Widths List . 23 2.4.3 Browsing Layouts . 24 2.4.4 Selecting Final Results . 25 2.4.5 Example For a Small Instance . 25 2.5 Benchmarks . 27 2.5.1 Data Sets . 27 2.5.2 Webmaster Survey . 27 2.6 Computational Experiments . 29 2.6.1 Input Parameters . 29 2.6.2 Execution Times . 31 2.6.3 Layout Partitioning Results and Discussion . 31 2.7 Conclusions . 35 3 Tag Cloud Construction 37 3.1 Tag Clouds . 37 3.2 Problem Analysis and Related Work Survey . 38 3.2.1 Tag cloud taxonomy . 38 3.2.2 Related work . 40 3.2.3 Tag Cloud Usability Studies . 42 3.2.4 Tag Clouds for the Web . 43 3.2.5 Client Side . 44 3.2.6 Analysis of Packing Problem Properties .
    [Show full text]
  • Web Design for Developers
    What Readers Are Saying About Web Design for Developers This is the book I wish I had had when I started to build my first web- site. It covers web development from A to Z and will answer many of your questions while improving the quality of the sites you produce. Shae Murphy CTO, Social Brokerage As a web developer, I thought I knew HTML and CSS. This book helped me understand that even though I may know the basics, there’s more to web design than changing font colors and adding margins. Mike Weber Web application developer If you’re ready to step into the wonderful world of web design, this book explains the key concepts clearly and effectively. The comfortable, fun writing style makes this book as enjoyable as it is enlightening. Jeff Cohen Founder, Purple Workshops This book has something for everyone, from novice to experienced designers. As a developer, I found it extremely helpful for my day-to- day work, causing me to think before just putting content on a page. Chris Johnson Solutions developer From conception to launch, Mr. Hogan offers a complete experience and expertly navigates his audience though every phase of develop- ment. Anyone from beginners to seasoned veterans will gain valuable insight from this polished work that is much more than a technical guide. Neal Rudnik Web and multimedia production manager, Aspect This book arms application developers with the knowledge to help blur the line that some companies place between a design team and a development team. After all, just because someone is a “coder” doesn’t mean he or she can’t create an attractive and usable site.
    [Show full text]
  • Pagedout 001 Beta1.Pdf
    Paged Out! is what happens when a technical reviewer sees too many 20-page long programming articles in a short period of time. Though that's only part of the story. The idea of an experimental zine focusing on very short articles spawned in my mind around a year ago and was slowly — almost unconsciously Paged Out! Institute — developing in my head until early 2019, when I finally decided https://pagedout.institute/ that this whole thing might actually work (even given my chronic lack of time). Project Lead Why short articles in the first place, you ask? They are faster to Gynvael Coldwind read, faster to write, faster to review, and it's fully acceptable to write a one-pager on this one cool trick you just used in a project / exploit. Furthermore, as is the case with various forms Executive Assistant of constraint programming and code golfing, I believe adding Arashi Coldwind some limitations might push one to conjure up interesting tricks while constructing the article (especially if the author has DTP Programmer almost full control of the article's layout) and also, hopefully, foxtrot_charlie increase the knowledge-to-space ratio. Giving authors freedom to arrange the layout as they please has DTP Advisor interesting consequences by itself. First of all, we can totally tusiak_charlie dodge a standard DTP process – after all, we get PDFs that already use the final layouts and can be merged into an issue with just a set of scripts (therefore our Institute has a DTP Lead Reviewers Programmer instead of a DTP Artist). Secondly, well, every Mateusz "j00ru" Jurczyk article looks distinctly different — this is the reason I say our KrzaQ project is "experimental" — because nobody can predict whether this artistic chaos of a magazine will get accepted by our technical community.
    [Show full text]
  • Stupanj Kompresije I Utjecaj Na Kvalitetu Webp Formata Slike
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE SVEUČILIŠTE U ZAGREBU GRAFIČKI FAKULTET JOSIP MIJIĆ STUPANJ KOMPRESIJE I UTJECAJ NA KVALITETU WEBP FORMATA SLIKE DIPLOMSKI RAD Zagreb, 2014 godina JOSIP MIJIĆ STUPANJ KOMPRESIJE I UTJECAJ NA KVALITETU WEBP FORMATA SLIKE DIPLOMSKI RAD Mentor: Student: Doc.dr.sc Ante Poljičak Josip Mijić Zagreb, 2014 godina 2 Rješenje o odobrenju teme diplomskog rada 3 Sažetak U ovom diplomskom radu se upoznaje i analizira novi format za kompresiju slike Webp. Webp je format za kompresiju slika i fotografija koji je nedavno razvila kompanija Google kako bi dodatno ubrzao učitavanje slikovnih sadržaja s interneta, te samim time uvelike smanjio promet na internetu. Prema istraživanjima koje je proveo Google slike i fotografija predstavljaju 65% današnjeg prometa na internetu stoga i malo poboljšanje stupnja kompresije, uz zadržavanje jednake kvalitete slike može osigurati velike uštede prilikom slanja ili pohranjivanja slikovnih informacija [1]. Webp spada u grupu formata sa gubitkom kvalitete (engl. lossy) format kao što je i JPEG. Za veću kompresiju u odnosu na JPEG format, WebP format koristi kompresiju zasnovanu na VP8 kodnom sustavu, open-source rješenju za sažimanje videa u formatu WebM. Osim detaljne analize Webp formata, u radu će se obraditi i JPEG, kao najrašireniji format za kompresiju slike. Također, teoretski će biti obrađene i mjere za objektivnu kvalitetu slike, prvenstveno PSNR – omjer vršnog signala i šuma (engl. Peak Signal to Noise Ratio). U eksperimentalnom dijelu rada provesti će se usporedba Jpeg i Webp formata sa stajališta sposobnosti sažimanja slika i utjecaja na kvalitetu slike. Ključne riječi: JPEG, WEBP, kompresija, slika, fotografija 4 Sadržaj Sažetak .........................................................................................................................................
    [Show full text]
  • PNG - Wikipedia, the Free Encyclopedia Page 1 of 8 PNG
    PNG - Wikipedia, the free encyclopedia Page 1 of 8 PNG From Wikipedia, the free encyclopedia PNG (Portable Network Graphics) Portable Network Graphics is a bitmap image format that File extension: .png employs lossless data compression. MIME type: image/png PNG was created to both improve Developed by: W3C upon and replace the GIF format with Type of format: Image file formats an image file format that does not require a patent license to use. PNG is officially pronounced as "ping" (/pɪŋ/ in IPA), but it is often just spelled out — possibly to avoid confusion with the network tool ping. PNG is supported by the libpng reference library, a platform- independent library that contains C functions for handling PNG images. PNG files nearly always use the file extension PNG or png and are assigned the MIME media type A PNG image with an 8-bit image/png (approved on October transparency channel (top). The same 14, 1996). image is overlaid onto a checkered background (bottom). Contents 1 History and development 2 Technical details 2.1 File header 2.2 "Chunks" within the file 2.2.1 Essential chunks 2.2.2 Metadata chunks 2.3 Color depth 2.4 Transparency of image 2.5 Compression 2.6 Interlacing 2.7 Animation 3 Technical comparison with GIF 4 Bitmap graphics editor support for PNG 5 Web browser support for PNG 6 File size and optimization software 7 Comparison with JPEG 8 Comparison with TIFF 9 See also 10 External links 10.1 libpng.org 10.2 W3C 10.3 Others 10.4 Internet Explorer incompatibility http://en.wikipedia.org/wiki/PNG 30/07/2006 PNG - Wikipedia, the free encyclopedia Page 2 of 8 History and development The motivation for creating the PNG format came in early 1995, after Unisys announced that it would be enforcing software patents on the LZW data compression algorithm used in the GIF format (the acronym PNG was originally recursive, standing for "PNG's Not GIF").
    [Show full text]
  • Storagetek Tape Analytics Licensing Information User Manual, Release 2.1 E59803-02 Copyright © 2015, Oracle And/Or Its Affiliates
    1[StorageTek] Tape Analytics Licensing Information User Manual Release 2.1 E59803-02 June 2015 StorageTek Tape Analytics Licensing Information User Manual, Release 2.1 E59803-02 Copyright © 2015, Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • LCH-Png-Chapter.Pdf
    1 Overview PNG, the Portable Network Graphics format, is a robust, extensible, general-purpose and patent-free image format. In this chapter we briefly describe the events that led to its creation in early 1995 and how the resulting design decisions affect its compression. Then we examine PNG’s compression engine, the deflate algorithm, quickly touch on the zlib stream format, and discuss some of the tunable settings of its most popular implementation. Since PNG’s compression filters are not only critical to its efficiency but also one of its more unusual features, we spend some time describing how they work, including several examples. Then, because PNG is a practical kind of a format, we give some practical rules of thumb on how to optimize its compression, followed by some “real-world” comparisons with GIF, TIFF and gzip. Finally we cover some of the compression-related aspects of MNG, PNG’s animated cousin, and wrap up with pointers to other sources for further reading. 2 Historical Background Image formats are all about design decisions, and such decisions often can be understood only in an historical context. This is particularly true of PNG, which was created during—and as part of—the “Wild West” days of the Web. Though PNG’s genesis was at the beginning of 1995, its roots go back much further, to the seminal compression papers by Abraham Lempel and Jacob Ziv in 1977 and 1978.[?, ?] The algorithms described in those papers, commonly referred to as “LZ77” and “LZ78” for obvious reasons,[?] spawned a whole host of refinements.
    [Show full text]
  • Gwyddion-User-Guide-En.Pdf
    Gwyddion user guide Petr Klapetek, David Necas,ˇ and Christopher Anderson This guide is a work in progress. ii Gwyddion user guide Copyright © 2004–2007, 2009–2021 Petr Klapetek, David Necas,ˇ Christopher Anderson Permission is granted to copy, distribute and/or modify this document under the terms of either • The GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License. • The GNU General Public License, Version 2 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled GNU General Public License. Contents iii Contents 1 Introduction 1 1.1 Motivation . .1 1.2 Licensing . .1 2 Installation 2 2.1 Linux/Unix Packages . .2 2.2 MS Windows Packages . .2 Uninstallation . .2 Registry keys . .3 Missing features . .3 Enabling pygwy . .3 3 Getting Started 4 3.1 Main Window . .4 3.2 Data Browser . .5 Controlling the Browser . .6 Images.........................................................6 Graphs.........................................................6 Spectra . .6 Volume ........................................................6 XYZ..........................................................6 3.3 Managing Files . .6 File Loading . .7 File Merging . .8 File Saving . .8 Document History . .8 3.4 Data Window . .9 3.5 Graph Window . .9 3.6 Tools.......................................................... 10 3.7 False Color Mapping . 11 Color Range Tool . 12 Color Gradient Editor . 13 3.8 Presentations and Masks . 13 Presentations . 13 Masks......................................................... 14 3.9 Selections . 14 Selection Manager . 15 3.10 OpenGL 3D Data Display .
    [Show full text]
  • MBS PNG Plugin.Pdf
    MBS PNG Plugin Documentation Christian Schmitz July 16, 2017 2 0.1 Introduction This is the PDF version of the documentation for the Xojo (Real Studio) Plug-in from Monkeybread Software Germany. Plugin part: MBS PNG Plugin 0.2 Content • 1 List of all topics 3 • 2 List of all classes 9 • 3 List of all global methods 11 • 4 All items in this plugin 13 • 7 List of Questions in the FAQ 55 • 8 The FAQ 65 Chapter 1 List of Topics • 6 PNG 27 { 4.1.1 class Folderitem 13 ∗ 4.1.3 OpenAsPNGMBS(gamma as single = 0.0, AllowDamaged as Boolean = false) as PNG- PictureMBS 13 ∗ 4.1.4 SaveAs8BitAlphaPNGMBS(pic as picture, colors() as color, alphas() as Integer, gamma as single = 0.0) as boolean 14 ∗ 4.1.5 SaveAs8BitAlphaPNGMBS(pic as picture, colors() as color, alphas() as Integer, gamma as single, Interlace as Boolean, FilterType as Integer) as boolean 14 ∗ 4.1.6 SaveAs8BitPNGMBS(pic as picture, colors() as color, gamma as single = 0.0) as boolean 15 ∗ 4.1.7 SaveAs8BitPNGMBS(pic as picture, colors() as color, gamma as single, Interlace as Boolean, FilterType as Integer) as boolean 16 ∗ 4.1.8 SaveAsPNGMBS(pic as picture, gamma as single = 0.0) as boolean 16 ∗ 4.1.9 SaveAsPNGMBS(pic as picture, gamma as single, Interlace as Boolean, FilterType as Integer) as boolean 17 ∗ 4.1.10 SaveAsPNGMBS(pic as picture, mask as picture, gamma as single = 0.0) as boolean 18 ∗ 4.1.11 SaveAsPNGMBS(pic as picture, mask as picture, gamma as single, Interlace as Boolean, FilterType as Integer) as boolean 19 { 6.1 Globals 27 ∗ 6.1.1 PictureToPNGStringMBS(pic as picture, gamma as single = 0.0) as string 27 ∗ 6.1.2 PictureToPNGStringMBS(pic as picture, gamma as single, Interlace as Boolean, Filter- Type as Integer) as string 27 ∗ 6.1.3 PictureToPNGStringMBS(pic as picture, mask as picture, gamma as single = 0.0) as string 28 ∗ 6.1.4 PictureToPNGStringMBS(pic as picture, mask as picture, gamma as single, Interlace as Boolean, FilterType as Integer) as string 29 ∗ 6.1.5 PNGStringToPictureMBS(data as string, gamma as single = 0.0, AllowDamaged as boolean = false) as picture 30 3 4 CHAPTER 1.
    [Show full text]
  • Portable Network Graphics
    PORTABLE NETWORK GRAPHICS Original article you can find here http://pmt.sourceforge.net/pngcrush/ [DOWNLOAD] [CHANGELOG] Pngcrush är en optimerare för PNG (Portable Network Graphics) filer. Man kan köra den från en kommandorad i ett MSDOS fönster, samt från en UNIX eller LINUX kommandorad. Först och främst använder man den för att reducera storlek på PNG IDAT dataströmmen tack olika sorters kompimeringsgrader och filter för PNG. Man kan också använda den inom eliminering av oönskade underordnade bitar eller tilläggning av vissa bitar inklusive gAMA, tRNS, iCCP, och textbitar. I fall pngcrush är statiskt kopplad till en zlib kod, anses den vara försäkrad mot den zlib-1.1.3 "double-free" buggen tack möjligheten att både define och underkänna varje "double-free" försök. Pngcrush genererar ett så kallade "Decompression Error" meddelande och underkänner filen. Pngcrush är en tillgänglig resurs som får användas, modifieras och omfördelas av vem som helst, och man behöver inte betala skatter för att göra det. Licensen som finns i pngcrush.c filen liknar den som finns i libpng filen, png.h, men är inte samma sak. Källkoden för pngcrush är här. och binära programfiler, som är skapade av frivilliga tredje parter och kan vara ouppdaterade, är här. Pngcrush använder libpng och zlib, som finns i denna källa för pngcrush distribution. Man har modifierad de två sista lite grann: • libpng's pngconf.h är modifierad för att "#include pngcrush.h" som används o för att "#define out" delar av biblioteket man inte använder o # define PNG_SETJMP_NOT_SUPPORTED o # define PNG_ABORT() o för att utöka IDAT buffert storlek, och • zlib är modifierad för att sätta TOO_FAR macro på 32767 i deflate.c Om du vill, kan du kompilera bara pngcrush.c från pngcrush källan och köra den med libpng och zlib som man hittar på PNG webbplats, www.libpng.org/pub/png/.
    [Show full text]
  • View the Index
    INDEX Symbols and Numbers patterns in, 196 shapes in, 200 ; (semicolon) selecting in, 78, 81, 200 in command line calls, 504 styling in, 202, 208, 212 in CSS properties, 88, 140, 482 3D boxes, 199, 205–212 : (colon) applying path effects to, 252 in command line calls, 504 converting to in CSS properties, 87, 482 groups of paths, 200, 206, 211, 458 in element and attribute names, 476 guides, 119–120 / (slash), in XML, 474 creating, 200, 207 ... (ellipsis) as drawing aid, 431–435 as stroke marker, 168 editing handles of, 200, 207, 209–211 in text, 332 opacity of, 211 • (bullet), in text, 332 perspective of, 207–209, 485 ‘...’ (curly single quotes), in text, 332 selecting, 200, 206, 211 "..." (double quotes) sides of, 205, 211 in command line calls, 504 snapping, 210, 433 in XML, 475 styling, 201–202, 208, 211–212 “...” (curly double quotes), in text, 332 tessellation with, 457–459 «...» (double guillemets), in text, 332 tweaking, 212 © (copyright sign), in text, 332 ungrouping, 211 ® (registered sign), in text, 332 unmerging, 208 ™ (trademark sign), in text, 332 vanishing points of, 207–209, 432–433 # (hash mark), in SVG, 87, 483 z-order of, 211 × (multiplication sign), in text, 332 See also shapes <...> (angle brackets), in XML, 474 3D effects, 287 = (equal sign) 3D Polyhedron extension, 406 in command line options, 498 3D software, 6, 206 in XML, 475 7-Zip file archiver, 18 – (en dash), — (em dash), in text, 332 3D Box tool, 6, 14, 24, 206, 431–435 A controls bar of, 201 Angle fields, 207 About dialog, 18, 206 New/Change label, 201 accelerated
    [Show full text]
  • Portable Network Graphics
    PORTABLE NETWORK GRAPHICS Original article you can find here http://pmt.sourceforge.net/pngcrush/ [DOWNLOAD] [CHANGELOG] Pngcrush es un optimizador de archivos PNG (Portable Network Graphics). Se puede ejecutar desde una línea de comandos de una ventana de MS-DOS, o desde una línea de comandos UNIX o LINUX. Su propósito principal es reducir el tamaño de la corriente de datos PNG IDAT probando varios niveles de compresión y métodos de filtro PNG. También se puede utilizar para quitar fragmentos auxiliares no deseados, o añadir ciertos fragmentos incluyendo gAMA, tRNS, iCCP, y fragmentos de texto. Cuando Pngcrush está estáticamente acoplado al código suministrado zlib, se entiende como inmune al bug zlib-1.1.3 "double-free", ya que por defecto detecta y rechaza cualquier intento de "double-free". Simplemente genera el mensaje "Error de descompresión" y rechaza el archivo. Pngcrush es una fuente abierta y puede ser utilizada, modificada y redistribuida por cualquier persona sin tener que pagar una cuota. La licencia, incrustada en el archivo pngcrush.c, es equivalente pero no idéntica a la licencia libpng encontrada en el archivo libpng png.h. El código de la fuente para pngcrush está aquí y los ejecutables binarios, hechos por voluntarios de terceros y los que no siempre están actualizados, están aquí. Pngcrush utiliza libpng y zlib, los cuales están incluidos en esta distribución de la fuente pngcrush. Están ligeramente modificados: - pngconf.h de libpng está modificado a "#include pngcrush.h" que se utiliza para "#define out" las partes no utilizadas de la biblioteca #define PNG_SETJMP_NOT_SUPPORTED #define PNG_ABORT () para configurar el tamaño del búfer IDAT en un valor más grande, y - zlib está modificado para establecer el macro TOO_FAR a 32.767 en deflate.c Si lo prefieres, puedes compilar solamente pngcrush.c de la distribución de la fuente pngcrush y ejecutarlo con los valores libpng y zlib, que se puede encontrar en la página web de PNG, www.libpng.org/pub/png/.
    [Show full text]