Matthias Odisio
Giulio Alessandrini

Removing Haze from a Color Image Using the Near Infrared with the Wolfram Language

November 21, 2014
Matthias Odisio, Mathematica Algorithm R&D
Giulio Alessandrini, Mathematica Algorithm R&D

For most of us, taking bad pictures is incredibly easy. Band-Aid or remedy, digital post-processing can involve altering the photographed scene itself. Say you’re trekking through the mountains taking photos of the horizon, or you’re walking down the street and catch a beautiful perspective of the city, or it’s finally the right time to put the new, expensive phone camera to good use and capture the magic of this riverside… Just why do all the pictures look so bad? They’re all foggy! It’s not that you’re a bad photographer—OK, maybe you are—but that you’ve stumbled on a characteristic problem in outdoor photography: haze.

What is haze? Technically, haze is scattered light, photons bumped around by the molecules in the air and deprived of their original color, which they got by bouncing off the objects you are trying to see. The problem gets worse with distance: the more the light has to travel, the more it gets scattered around, and the more the scene takes that foggy appearance.

What can we do? What can possibly help our poor photographer? Science, of course.

Wolfram recently attended and sponsored the 2014 IEEE International Conference on Image Processing (ICIP), which ended October 30 in Paris. It was a good occasion to review the previous years’ best papers at the conference, and we noticed an interesting take on the haze problem proposed by Chen Feng, Shaojie Zhuo, Xiaopeng Zhang, Liang Shen, and Sabine Süsstrunk [1]. Let’s give their method a try and implement their “dehazing” algorithm.

The core idea behind the paper is to leverage the different susceptibilities of the light being scattered, which depend on the wavelength of the light. Light with a larger wavelength, such as red light, is more likely to travel around the dust, the smog, and all the other particles present in the air than shorter wavelength colors, like green or blue. Therefore, the red channel in an image carries better information about the non-hazy content of the scene.

But what if we could go even further? What prevents us from using the part of the spectrum slightly beyond the visible light? Nothing really—save for the fact we need an infrared camera.

Provided we are well equipped, we can then use the four channels of data (near infrared, red, green, and blue) to estimate the haze color and distribution and proceed to remove it from our image.

RGB, IR removal


Emily Suess

2014 Wolfram Innovator Award Winners

November 20, 2014 — Emily Suess, Technical Writer, Technical Communications and Strategy Group

Now in its fourth year, the Wolfram Innovator Awards are an established tradition and one of our favorite parts of the annual Wolfram Technology Conference. This year, Stephen Wolfram presented seven individuals with the award. Join us in celebrating the innovative ways the winners are using Wolfram technologies to advance their industries and fields of research.

Wolfram Innovator Award


Posted in: Wolfram News

Wolfram Blog

Fractal Fun: Tweet-a-Program Mandelbrot Code Challenge

November 17, 2014 — Wolfram Blog

This week Wolfram will be celebrating Benoit Mandelbrot‘s birthday and his contributions to mathematics by holding a Tweet-a-Program challenge. In honor of Mandelbrot, tweet us your favorite fractal-themed lines of Wolfram Language code. Then, as with our other challenges, we’ll use the Wolfram Language to randomly select winning tweets (along with a few of our favorites) to pin, retweet, and share with our followers. If you win, we’ll send you a free Wolfram T-shirt!

In Tweet-a-Program’s first few exciting months, we’ve already seen a number of awesome fractal examples like these:

First fractal image


Christopher Carlson

Announcing the Winners of the 2014 One-Liner Competition

November 10, 2014 — Christopher Carlson, Senior User Interface Developer, User Interfaces

This year’s Wolfram Technology Conference once again included the One-Liner Competition, an opportunity for some of the world’s most talented Wolfram Language developers to show us the amazing things you can do with tiny pieces of Wolfram Language code.

In previous years, One-Liner submissions were allowed 140 characters and 2D typesetting constructs. This year, in the spirit of Tweet-a-Program, we limited entries to 128-character, tweetable Wolfram Language programs. That’s right: we challenged them to write a useful or entertaining program that fits in a single tweet.

And the participants rose to the occasion. Entries were blind-judged by a panel of Wolfram Research developers, who awarded two honorable mentions and first, second, and third prizes.

One honorable mention went to Michael Sollami for his “Mariner Valley Flyby,” which takes you on a flight through the terrain of the Mariner Valley on Mars. The judges were greatly impressed by the idea and the effect. Unfortunately, a small glitch in the program is visible at the start of the output, due to an error in the code. Since Michael’s submission is right up against the 128-character limit, it would have taken some clever tweaking to fix it.

Mariner Valley Flyby

Mariner Valley Flyby


Leonardo Laguna Ruiz
Johan Rhodin

Using Arduinos as SystemModeler Components

November 7, 2014
Leonardo Laguna Ruiz, Software Engineer
Johan Rhodin, Kernel Developer

With the new, free ModelPlug library for Wolfram SystemModeler, you can connect Arduino boards to simulations in SystemModeler. Arduinos interface easily with input and output components, so you can integrate them into SystemModeler models, for example, to operate lights, run servos, and monitor sensors, switches, and potentiometers. With the ModelPlug library, you can freely mix hardware and software components in your simulations and use the Arduino as a data acquisition board.

If you want to follow along, you can download a trial of SystemModeler. It’s also available with a student license, or you can buy a home-use license. All hardware used in this blog post can be bought for less than $50.

Set of icons


Posted in: SystemModeler

Vitaliy Kaurov

Modeling a Pandemic like Ebola with the Wolfram Language

November 4, 2014 — Vitaliy Kaurov, Technical Communication & Strategy

Data is critical for an objective outlook, but bare data is not a forecast. Scientific models are necessary to predict pandemics, terrorist attacks, natural disasters, market crashes, and other complex aspects of our world. One of the tools for combating the ongoing and tragic Ebola outbreak is to make computer models of the virus’s possible spread. By understanding where and how quickly the outbreak is likely to appear, policy makers can put into place effective measures to slow transmissions and ultimately bring the epidemic to a halt. Our goal here is to show how to set up a mathematical model that depicts a global spread of a pandemic, using real-world data. The model would apply to any pandemic, but we will sometimes mention and use current Ebola outbreak data to put the simulation into perspective. The results should not be taken as a realistic quantitative projection of current Ebola pandemic.

Ebola animation


Wolfram Blog

Wolfram Technology Conference 2014

October 31, 2014 — Wolfram Blog

Wolfram technology users from around the world gathered in Champaign, Illinois, our headquarters, October 21–24, for another successful Wolfram Technology Conference. Attendees got access to the latest information about our emerging technologies and gained insights from colleagues who shared innovative ways of using Wolfram technologies.


The conference kicked off with a keynote by Stephen Wolfram, and then rolled right into the other 125 scheduled talks. Also featured were a connected devices playground, “Meet-Ups,” social/networking events, small group meetings, roundtable discussions, and tours of Wolfram and the Blue Waters supercomputer at the University of Illinois.


Posted in: Wolfram News

Wolfram Blog

Calling All Goblins: Tweet-a-Program Halloween Code Challenge

October 27, 2014 — Wolfram Blog

Halloween is quickly approaching, and to help you gear up for trick-or-treating, costume parties, and pumpkin carving, we’re issuing another Tweet-a-Program Code Challenge! This time, instead of spaceships and planets, we want you to tweet us your spookiest Halloween-themed lines of Wolfram Language code. We’ll then use the Wolfram Language to randomly select three winning tweets (and a few of our favorites) to pin, retweet, and share with our followers. Winners will also be awarded a free Wolfram T-shirt!

Take some inspiration from these examples, while you come up with your creepy codes:

Tweet-a-Program skull

Tweet-a-Program Halloween


Wolfram Blog

Wolfram Data Summit 2014

October 22, 2014 — Wolfram Blog

This year’s Wolfram Data Summit brought together innovators in data science, creators of connected devices, and leaders of major data repositories for two days of high-level discussion about challenges and opportunities facing the worldwide data community.

This annual Summit offers an exclusive group of thought leaders an opportunity to meet and share insights into new and ongoing projects. But in light of the high caliber and exceptionally broad interest of this year’s presentations—and for the first time ever—we are sharing videos of the Summit presentations with the public, including the keynote from Stephen Wolfram, CEO of Wolfram Research and creator of Wolfram|Alpha.


Posted in: Wolfram News

Ed Pegg Jr

Martin Gardner’s 100th Birthday

October 21, 2014 — Ed Pegg Jr, Editor, Wolfram Demonstrations Project

For today’s magic show:
A century ago,
Martin Gardner was born in Oklahoma.
He philosophized for his diploma.
He wrote on Hex and Tic-Tac-Toe.
The Icosian game and polyomino.
Flexagons from paper trim,
Samuel Loyd, the game of Nim.
Digital roots and Soma stairs,
mazes, logic, magic squares.
Squaring squares, the golden Phi.
Solved the spider and the fly.
Packing circles (with corrections),
ellipses, pi, and conic sections.
Martin GardnerPenrose Tilings and Wieringa Roofs
Tiling with PentominosHamiltonian Tours on Polyhedra