Color Modes

履歴

自分の命と、命への愛にかけて誓います。私は決して、他人のために生きません。そして、他人に私の人生のために生きるよう求めることもありません。―― アイン・ランド著「アトラス・シュルッグド」よりジョン・ゴルツ

ImageMagickは、デュポン社の私の上司であるDavid Pensak博士から、同時に256色しか表示できないモニターにコンピューターで生成された画像を表示するという依頼がきっかけで始まりました。

1987年当時、24ビットのトゥルーカラー画像を表示できるモニターは珍しく、非常に高価でした。デュポン社には多くの化学者や生物学者いましたが、相談できるコンピューター科学者はほとんどいませんでした。そこで、私はUsenetに助けを求め、24ビット画像を256色に減色するアルゴリズムのリクエストを投稿しました。USC情報科学研究所のPaul Raveling氏が、解決策だけでなく、すでにソースコードがあり、USCのFTPサイトから入手できるものを提供してくれました。その後数年間にわたり、デュポン社での仕事中に遭遇したその他の厄介なコンピューターサイエンスの問題についても、頻繁に助けを得る機会がありました。最終的に、Usenetの知識豊富な皆さんから受けた助けに感謝の気持ちを表したいと思うようになりました。そこで、私が開発した画像処理ツールを世界に向けて自由に公開し、他の人々が私の努力の恩恵を受けられるようにすることにしました。

1990年当時、自由に利用できる画像処理ツールはほとんどありませんでしたので、熱心な歓迎を受けると予想していました。リリースされる前に、Pensak博士はデュポンの経営陣に、貴重な知的財産とみなされる可能性のあるものを提供することに納得してもらわなければなりませんでした。彼らは、ImageMagickが化学的または生物学的なものではなかったので、その企業にとっての価値を理解していなかったため、単に同意したのではないかと思います。いずれにせよ、ImageMagick Studio LLCに著作権が移転されなければ、ImageMagickは今日存在していませんでした。ImageMagickは1990年8月1日にUsenetのcomp.archivesグループに投稿されました。

ImageMagickのリリース後、機能強化のリクエスト、バグの報告、またはソースベースへの貢献が時々ありました。90年代半ばに、これらの努力の集大成としてImageMagick 4.2.9をリリースしました。当時、私はImageMagickは完成したと思っていました。世界中の何千人ものユーザーによって利用されており、「Linux」と呼ばれる無料で配布されている新しいオペレーティングシステムの一部としてさえ登場していました。

ImageMagickの次世代バージョンであるバージョン5は、Bob Friesenhahn氏が私に連絡し、ユーザーが他の言語やスクリプトから画像処理アルゴリズムを活用できるようにアプリケーションプログラミングインターフェースを改善することを提案したことから始まりました。Bob氏は、Magick++と呼ばれるImageMagickのC++ラッパーも作成し、モジュールローダー機能、自動ファイル識別、テストスイートなどの機能強化にも貢献し始めました。その間、このプロジェクトはGlenn Randers-Pehrson氏、William Radcliffe氏、Leonard Rosenthol氏など、他の注目すべき貢献者も加わりました。今やImageMagickは数万人のユーザーによって利用されており、新しいリリースによって既存のAPI呼び出しやスクリプトが壊れると、彼らは不満を漏らしていました。グループの他のメンバーはAPIとコマンドラインを固定したいと考えていましたが、私はImageMagickはまだ私が想像していたものには程遠いと思っていました。Bob氏と他のメンバーはImageMagickのフォークを作成し、私はImageMagickの開発を続けました。

私は長く一人で働くことはありませんでした。Anthony Thyssen氏がImageMagickコマンドラインプログラムの欠陥について私に連絡してきました。彼は、複数画像を扱う場合、コマンドラインが分かりにくいことを指摘しました。彼は、コマンドラインを扱うための秩序正しく明確に定義された方法を提案し、これがImageMagickバージョン6になりました。彼の努力は彼のウェブページImageMagickの使用例で詳しく説明されています。彼のサイトを熟読することを強くお勧めします。彼は、私自身も知らなかった方法でImageMagickの力を示しています。

もう一人の注目すべき貢献者であるFred Weinhaus氏は、幾何学的変換、ぼかし、シャープ化、エッジ強調、ノイズ除去、カラー操作を行う多数のコマンドラインスクリプトを提供しています。Glenn Randers-Pehrson氏は私たちのPNGの専門家で、他に貴重な貢献をしています。Dirk Lemstra氏は、Windows環境下でImageMagickをより堅牢にするための多数の改善を行い、現在も行なっており、.NETラッパーであるMagick.NETを配布しています。

ImageMagickの設計は進化的なプロセスであり、設計と実装の努力は、他の進歩に影響を与え、導く役割を果たしています。ImageMagickバージョン7では、バージョン6の実装から得られた教訓に基づいて設計を改善しました。ImageMagickはもともと、X WindowsサーバーにRGB画像を表示するために設計されました。時が経つにつれて、RGBA画像、そしてCMYKおよびCMYKA画像形式へのサポートを拡張しました。ImageMagickバージョン7では、任意の数のピクセルチャネルを持つ任意の色空間へのサポートを拡張します。さらに、ImageMagick 7はピクセルチャネルを浮動小数点数として格納することで、帯域外値(負の値など)を許可し、丸め誤差を削減します。

クリスティ
ImageMagick主任アーキテクト