Deep paint and other open source software tools for motion picture retouching and HDR photography with 8, 16 and 32-bit per channel color.

Wednesday, November 29, 2006

Progress on img_img

I'm debugging the CinePaint Glasgow img_img command-line tool after making some changes to the img_ppm parser classes. Nice stuff, but taking too long. Hope it saves me time working on img_sgi and img_dpx. I need to write some architecture docs and a source file manifest for img_img. I expect to finish img_ppm today.

CinePaint Press

SCALE Readies 'Non-Commercial' Open Source Conference
by Jacqueline Emigh at
November 20, 2006

Despite the proliferation of LinuxWorld and other commercial open source shows, several regional Linux organizations continue to hold their own conferences and expos. Right now, for example, a group of open sourcers in California is readying SCALE (Southern California Linux Expo) 5x, an event slated to take place in Los Angeles on February 9 to 11 of next year.

Non-profit exhibitors will include CACert, CinePaint, EFF, Fedora, Gentoo, Haiku, Inkscape, KDE, KnoppMyth, Linux Astronomy, Linux Terminal Server Project, NetBSD, OpenNMS, ReactOS, Ubuntu, Ulteo, and Wikimedia.

Cinepaint for Linux
by Alan Weller
23 November 2006

Cinepaint is a 32 bit capable photo editor for Linux. It is derived from The Gimp and uses the original GTK 1 library and therefore feels a bit snappier than the Gimp. On the version I have on Slackware it takes a long time to rescale an image therefore I do not use it at present. A new version called Glasgow is on the horizon. This will use the lightweight FLTK library and so should be efficient on resources.

Pictured Cinepaint in action with Christina Aguilera (lucky Cinepaint !).

Raster image editors: A comparative look at the GIMP and Krita
bu Nathan Willis at
November 01, 2006

With the release of Krita 1.6, it seems like a good time to compare the two big raster image editors for Linux. Coming as they do from the divergent GTK+ and KDE programming camps, it can be hard to assess the differences between the GIMP and Krita without being swayed by politics and emotion.

Adding another wrinkle to the difficult task of a direct comparison are two readily available incarnations of the GIMP with additional features. CinePaint forked from the GIMP several stable releases ago, and supports high bit-depth images and color management. If you need to retouch high dynamic range photos, neither Krita 1.6 nor the GIMP 2.2 has the magic combo of 16-bit-per-channel color and dodge/burn tools, but CinePaint does.




Post a Comment

Wednesday, November 22, 2006

Thanksgiving and CinePaint

Happy Thanksgiving. I'm thankful to be making progress on CinePaint and life in general. I appreciate all the support everyone has given me.

I had a Compaq WinXP laptop hard drive crash this week and a Linux ftp server go down. All fixed now, but lost some time. By the way, if you're running Fedora vsftpd make sure it's set to chroot in /etc/vsftpd/vsftpd.conf.

Compaq laptops are sure sweet to replace a drive in. Two screws to pop a cover off the bottom, give the drive a tug, and it pops right out. Got a new Seagate 120gb drive at Circuit City for $120. Mounted the old laptop drive in a Linux server (using a 2.5 to 3.5 IDE adapter). Although the OEM 2-year-old Fujitsu drive wouldn't boot Windows XP anymore and made chirping noises, it was good enough to allow me to copy all the data off. That particular Linux box had SUSE 10, but it gave me so much grief figuring out how to install SAMBA that it was faster to reformat into Debian 3.1 and install SWAT. The new Seagate drive has 5-year warranty which is nice.

I'm testing the new img_img PPM plug-in, which I hope to complete tomorrow (Thanksgiving). I have some work to do on the SGI plug-in after that which seems almost done, then on to the DPX plug-in. After that I want to do some debugging on Glasgow itself and roll an alpha Windows release.




Post a Comment

Sunday, November 19, 2006

CinePaint Glasgow Progress

Robin's Nov 19th update. I've brought the CinePaint blog online at Blogger and updated home page to point to it. I'm making progress on img_img. Fixed a linker bug that was messing up DLL calls to plug-ins.

Robin's Sept 23rd update. I wasn't able to do much the past month for open source. Too many interruptions with my life. Robin's Aug 11th update. Chris McKinley provided a patch for autotools so Glasgow builds on Linux again.

Robin's July 9th update. I took some time for myself and didn't work on CinePaint over the 4th holiday as I'd originally planned.

Robin's June 27th update. Below is for developers. No user-serviceable parts yet. Been working on img_img, the command-line component of Glasgow that's a little bit like GraphicsMagick 'convert'. Adding support for SGI and DPX files. It had only PPM support lately (now broken). OpenEXR and JPEG2000 (Jasper) were working in the distant past and will get added back later. Eventually all the file types now supported in CinePaint will get added in.

Changes to the types and quantity of img_img channels. Now number of channels is limited only by RAM and may be of mixed type. The mixed types are particularly important to support OpenEXR without crushing. OpenEXR may have Half, Float and U32 channels intermixed, but CinePaint Film Gimp is homogeneous to channels (all channels in a layer are either u8, u16, b16, f16, or f32 -- not mixed).
Channels in img_img have a color tag. RGB is considered a single color in nomenclature because the colors aren't in separate blocks that can be individually freed. The architecture will be able to copy (convert) from channel color RGB to planar R,G,B channels with a library call.

Here's what the types and colors are:

CHANNEL_TYPE(b16); //Binary 16-bit (HDR)
CHANNEL_TYPE(f16); //Float 16-bit (half)
CHANNEL_TYPE(f32); //Float 32-bit
CHANNEL_TYPE(f64); //Float 64-bit (double)
CHANNEL_TYPE(u8); //Unsigned 8-bit
CHANNEL_TYPE(u16);//Unsigned 16-bit
CHANNEL_TYPE(u32);//Unsigned 32-bit
CHANNEL_TYPE(u64);//Unsigned 64-bit
CHANNEL_TYPE(vec);//Vector data (not raster)

CHANNEL_COLOR(rgb); //RGB interleave
CHANNEL_COLOR(rgba);//RGBA interleave
Here's the channel structure:
struct ImgChannel
{ DL_node node; // channel's node in channel list
unsigned image; // image #, the first image is 0
unsigned layer; // layer #, the first layer is 0
ChannelType channel_type; // e.g., img_type_u8
ChannelColor channel_color; // e.g., img_color_rgb
unsigned x; // position in layer, e.g., 0
unsigned y; // position in layer, e.g., 0
unsigned width; // width in pixels, e.g., 720
unsigned height; // height in pixels, e.g., 480
unsigned bit_depth; // depth in bits, e.g., 8
ByteData data; // raster or other image data
StringData metadata;// text data about channel

An image object is a list of channels. The channel list is flat. There isn't an image or layer list in the image file container. The image # and layer # are simple attributes on the channel. The image # is for file formats that may contain more than one image.

CinePaint News
Aug 11, 2006
Version 0.21 Changes
Flipbook overhaul
HDR creation from 16-bit sources
CMS improvements
GUI improvements

July 13, 2006

Kai-Uwe Behrmann reports that post-production company TV WERK GmbH in Munich, Germany, sponsored one week of development on CinePaint. TV WERK's Markus Baburske says, "CinePaint is one of the rare tools useful for the task desired." Kai-Uwe work was on stabilising the Flipbook and implementing shortcuts to streamline the workflow.

June 1, 2006

Adding SGI and DPX support to img_img command-line converter (currently PPM only)
Fixed bug that prevented core Glasgow plug-ins from loading
Rewriting AppRc system settings class to eliminate bugs and GIMP-like plug-in path complexity
Researching Extreme Wave 3D paint tool, trying to build on Windows
CVS ChangeLog

FLTK 1.1.7

May 29, 2006: FLTK updated in CinePaint CVS to be the latest stable version. Our copy in has different VC++ project files and directory layout, but is about the same as version.

CineCalc Rounding Bug

May 29, 2006: Fixed so numbers beyond five figures don't round off in display (34,332.25 was displaying as 34,332.3).

Recent Events

  • CinePaint at LILAX

    Robin Rowe, Beverly Hills 2006.4.1

    CinePaint project leader Robin Rowe presents at HREF="">LILAX in Los Angeles.
  • CinePaint at NEXPO 2006

    Robin Rowe, Beverly Hills 2006.3.20

    CinePaint project leader Robin Rowe will be part of
    an open source software panel at the Newspaper Association of
    America NEXPO
    conference in Chicago on April 2nd. [slides.pdf]
  • CinePaint at SCALE 2006

    Robin Rowe, Beverly Hills 2006.2.14

    Thanks to the generosity of SCALE,
    CinePaint had its first booth at a tradeshow. At the conference
    I spoke for a session
    about Linux in the motion picture industry (#1 by far) and CinePaint
    (#2 after Photoshop there) [slides.pdf].


Post a Comment