WOLFRAM

Computation & Analysis

Seeing Skin with Mathematica

Detecting skin in images can be quite useful: it is one of the primary steps for various sophisticated systems aimed at detecting people, recognizing gestures, detecting faces, content-based filtering, and more. In spite of this host of applications, when I decided to develop a skin detector, my main motivation lay elsewhere. The research and development department I work in at Wolfram Research just underwent a gentle reorganization. With my colleagues who work on probability and statistics becoming closer neighbors, I felt like developing a small application that would make use of both Mathematica's image processing and statistics features; skin detection just came to my mind. Skin tones and appearances vary, and so do flavors of skin detectors. The detector I wanted to develop is based on probabilistic models of pixel colors. For each pixel of an image given as input, the skin detector provides a probability that the pixel color belongs to a skin region.
Education & Academic

Announcing Wolfram Finance Platform 2 with Report Generation

Last year we released Wolfram Finance Platform, beginning a new chapter in the way the financial world uses Wolfram technologies. Today we're pleased to announce Wolfram Finance Platform 2, which expands and improves the groundwork begun by our first version. One set of new capabilities that Finance Platform 2 introduces is a major enhancement to the way financial analysis is deployed: automated report generation. Report Generation allows you to create documents quickly and easily using Wolfram Finance Platform documents. Since Report Generation is built on Finance Platform's Computable Document Format interface, it's easy to add it into your normal workflow. Data for the report can come from a variety of sources, such as the result of a computation, a database query, or Finance Platform's integrated computation data source or integrated market data streams. Portfolio performance, risk analyses, and market/economic outlook are just a few of the applications that can take advantage of Report Generation.
Education & Academic

After 100 Years, Ramanujan Gap Filled

A century ago, Srinivasa Ramanujan and G. H. Hardy started a famous correspondence about mathematics so amazing that Hardy described it as “scarcely possible to believe.” On May 1, 1913, Ramanujan was given a permanent position at the University of Cambridge. Five years and a day later, he became a Fellow of the Royal Society, then the most prestigious scientific group in the world at that time. In 1919 Ramanujan was deathly ill while on a long ride back to India, from February 27 to March 13 on the steamship Nagoya. All he had was a pen and pad of paper (no Mathematica at that time), and he wanted to write down his equations before he died. He claimed to have solutions for a particular function, but only had time to write down a few before moving on to other areas of mathematics. He wrote the following incomplete equation with 14 others, only 3 of them solved. Within months, he passed away, probably from hepatic amoebiasis. His final notebook was sent by the University of Madras to G. H. Hardy, who in turn gave it to mathematician G. N. Watson. When Watson died in 1965, the college chancellor found the notebook in his office while looking through papers scheduled to be incinerated. George Andrews rediscovered the notebook in 1976, and it was finally published in 1987. Bruce Berndt and Andrews wrote about Ramanujan's Lost Notebook in a series of books (
Design & Visualization

Gigapixel Images in Mathematica

Professional cameras offer a resolution of 50 megapixels and more. In addition, projects like GigaPan allow one to create gigapixel panoramas with billions of pixels. How can we process these images on a desktop computer with 8 GB of RAM? One of Mathematica 9's new and exciting features is out-of-core image processing. What does the out-of-core term really mean? It is a way to process very large images that are too big to fit into main memory. Let's say we have a machine with 8 GB of RAM, and let's assume that Mathematica can use up to 7.2 GB of that memory (the remaining 0.8 GB will be used by the operating system). Freshly started, Mathematica 9 on Windows 8 takes up about 200 MB of memory, so the kernel can use about 7 GB of RAM. What is the maximal size of the image that we can load into the kernel (we don't want to visualize it at this point)? If we assume that the image is in the RGB color space and a single byte encoding, then the following formula gives a maximal width (and height) of an image that can be loaded at once into the memory:
Announcements & Events

Sooner or Later: Computable Academic Data

Next month I'm on a discussion panel at The Now and Future of Data Publishing symposium in Oxford, UK. I'm expecting this to be a good day and, if you're in the area, I recommend you think about coming along (it's free!). We're very interested in academic data. Over the past 20 years or so, publishers have changed in some big ways, such as shifting from print to online or adopting new open access business models. But one thing they haven't fully tackled yet is how to handle the increasingly large amounts of data coming out of academic research.
Best of Blog

Data Science of the Facebook World

More than a million people have now used our Wolfram|Alpha Personal Analytics for Facebook. And as part of our latest update, in addition to collecting some anonymized statistics, we launched a Data Donor program that allows people to contribute detailed data to us for research purposes. A few weeks ago we decided to start analyzing […]

Computation & Analysis

Exploding Art: da Vinci Code of Another Sort

What does programming have to do with a passion for the arts and history? Well, if you turn education into a game and add a bit of coding, then you can easily end up in the realm of a modern paradigm called, fancily, "gamification." Though gamification is a very wide concept based on game use in non-game contexts (design, security, marketing, even protein folding, you name it), at heart it is very simple: play, have fun, and get things done. I may have oversimplified things here for the sake of a rhyme, but if you bear with my lengthy prelude, we may just see a simple case of turning passion into software. My obsession with diagrams and simple line drawings began almost unnoticeably in the winter of 2003 in New York City after attending an exhibition at The Metropolitan Museum of Art: "the first comprehensive survey of Leonardo da Vinci's drawings ever presented in America." You may think it'd be a drag---crowds marching very slowly in a single long line coiling through the exhibition hallways. But perception of time transforms when you stare at 500-year-old craft. I think it was then that it started to dawn on me what special value a first sketch has. A first act when an idea, something very subjective, evasive, living solely inside one's mind, materializes as a solid reality, now perceivable by another human being. Imagine it happened ages ago. Wouldn't you be curious what was going on at that moment in time, what got frozen in this piece of craft in front of you?
Announcements & Events

Seats Are Available for the Wolfram Virtual Conference Spring 2013

The Wolfram Virtual Conference Spring 2013 brings together in one event many popular topics featuring the latest in Wolfram technologies. Join us on April 16, 1–4:30pm US EDT (5–8:30pm GMT), for this free online conference that offers presentations for a wide range of interests, showing you how to get the most out of Mathematica, the Computable Document Format, Wolfram SystemModeler, and Wolfram|Alpha.
Education & Academic

From Close to Perfect—A Triangle Problem

RootApproximant can turn an approximate solution into a perfect solution, such as for a square divided into fifty 45°-60°-75° triangles. A square can be divided into triangles, for example by connecting opposite corners. It's possible to divide a square into seven similar but differently sized triangles or ten acute isosceles triangles. Classic puzzles involve cutting a square into eight acute triangles, or twenty 1 - 2 - √5 triangles. The last image uses 45°-60°-75° triangles, but one triangle has a flaw. It's easy to divide a square with similar right triangles. Can a square be divided into similar non-right triangles? In his paper "Tilings of Polygons with Similar Triangles" (Combinatorica, 10(3), 1990 pp. 281–306), Laczkovich proved exactly three triangles provided solutions, with angles 22.5°-45°-122.5°, 15°-45°-120°, and 45°-60°-75°. I read his paper to try to make an image for the 45°-60°-75° case, but his construction was complex, and seemed to require thousands of triangles, so I tried to find my own solutions. All my attempts had flaws, such as the last image above, so I made a contest out of it: $200, minus a dollar for every triangle in the solution.