日記

2002年2月28日

漫画描くヒマ明らかにありません。ものすごくごめんなさい。 表紙の断片だけでもなんとかします。うまくすれば一枚くらいは 描けるかもしれませんが、望み薄いです。 というわけで追いコン本に何か描くことも不可能です。 修論書かないと卒業できません。

ホタテを買ってきて蒸して食った。おいしい。 非常食モードなので、ミューズリ3キロと、乾しぶどう2キロ、それに なつめやし1キロを買ってきた。おいしい。 これで生きる。

2002年2月27日

KANON第3話。おかしい。おもしろい。気がする。絵もきれいだった。動きも おかしくなかった。そしてそんなことはどうでもよく、話もまともだし、 演出もまともだし、テンポもおかしくなかった。気がする。 きちんと30分のアニメだった。なんか微妙に仕草とかかわいくていい気もする。 舞の叫び声がなんかガッカリだったが、別にいいや。 真琴の表情がなんか不自然だったが、別にいいや。 栞の声が言われてみるといまひとつかわいくないが、別にいいや。 こうなってくると最初の第二話の印象が ああだったことがますますおかしい。 接触時間と印象がこうもきれいに比例するとなると、やはり最初のは こちらの問題であって品質の問題ではなかったのではないか。 たまたま機嫌悪かったとか、そんなんじゃなかろうか。 ともかく、続けて見よう。

double a[b]で落ちた。bは14万。うちでは動くのに研究室のwindows機では落ちた。 直前と直後にcout文を入れたからたぶん間違いない。 実際、これをdouble* a = new double[b]にしたら落ちなくなった。 スタックにデカいものを置くのはいけないことらしい。 とりあえずこれからはデカいものはヒープに置くことにする。 このへんがどうなってるのかを知るにはOSがメモリをどうしてるかとか、 コンパイラが何やってるかとかを知らねばならないが、今はヒマがない。 厄介事が片づいたら勉強することにする。それくらいわからんとダメっぽい。 Cがむつかしいというのはそういうこともあってのことなのだろう。

桂名君に毒天を見せた。それにしても改めて見ると本当にどうしようもない。 あの外しっぷりにどう反応すればいいのか。4コマ漫画で さらりと去っていく分にはいいが、時間の束縛が加わると さらりとは流せなくなる。どう考えても無茶だ。 しかしそれはそれとして、もはやそんなことはどうでもいいのである。

2002年2月26日

明日中に修論の下書きを持ってこいとのこと。これくらい無理だと開き直ってしまう。 「プログラムが完成しました!今までとはケタ違いの性能です!」 というセリフで全てをゴマかすことにする。 だが、もちろん、そのセリフは本当じゃないといけない。

なお、修論なんて一文字も書いてない。

うおお、菓子の甘さは柿の甘さを超えてはならぬッ。 このミューズリは菓子でもないくせに柿より甘い。

また統計の本を買ってきた。怪しい統計量を自分で作るよりも やはり先人に従った方がいい。共分散がおどろくほど性能のいい統計量であることに 今感動している。しかし、こいつは直線相関しか検出できないので 頼りすぎると痛い目を見る。

2002年2月25日

しっぽラジオ。本当に拙い。筋書きがないわけはないが、あるにしてはひどすぎる。 しかしそれが腹立たしくないのは何故だ。 ところで、もしかして長谷川静香が外すのは筋書き通りなのではないかという 気がしてきた。もしそうだとしてもかわいそうなことに変わりはないのだが。

助詞一つ余計についているがためによからぬ想像ができてしまうことがある。 書く方の意図がそこに込められていると断言するには弱いが、 かといって何の意図もないとするのも不自然だ。 そしてそういう時には何らかのうれしくない意図が裏にあるのでは、としか 考えられないものである。また、 その意図をこちらに伝えるために自覚的にその助詞をつけたのか、 あるいは思っていることがその助詞の形を取って無意識に出てしまったのか の判別もできず不安になる。こういう時は考えないのが一番だが。

エミールの前書きを読んだ直後に「断定的な口調で物を言うのはいいか」 みたいな話を読んでしまった。悪いもいいもあるものか。 ただ、今まで生きてきた経験から言って、断定は厄介事の種になる。 考えを述べる全ての発言には等しく「思う」が省略されているのであって 論理的には必要ないはずなのだが、 いろいろあって「思う」がついていた方がいいことが多いのである。 「思う」がついていることに対しては怒らない、 というのは一種社会のしくみであって、ツッコミを入れるのも無茶だし面倒だ。 「忙しい」に対してツッコミを入れてはいけないのと同じである。 「思う」をつけると謙虚で真面目でいい人みたいな印象を与えるのも事実で、 その印象を得るためだけに「思う」をつけるのも悪いこととは言えまい。

2002年2月24日

追い出しコンパ。いい時間。

KANON第一話。驚くほど普通。何一つ辛くない。 出来がいいといって讃える要素は何一つないが、 とりたてて出来が悪いとこきおろす要素もみつからない。 凡庸でなんの取り柄もないが、 まあこんなもんだろという感じである。 だいたい元がアレなのだし仕方あるまい。 声がかわいい分むしろプラスと言ってもいい。 しかし、すると第二話のあの辛さはなんだったのだろう。 すでに慣れただけなのか、 実際に第一話と第二話では出来が違うのか。 違うと思いたい。

シスプリDVD版の変更点を調べているサイト。 バトンは回るのだろうか。直した結果シスプリは普通のアニメに ランクアップするかもしれないが、ド肝を抜くほど作画がひどいアニメ という称号は失うことになる。確かに自分でDVDを買うとするならば 直してくれねば困るが、他人が買うのを眺めているだけなら 直さない方がおもしろい。複雑な気分である。

ジャンプで買ったミューズリ。吐くほど甘い。 甘さ以外の味もしない。あの二種類以外にまともなものは存在しないのか。

そういやゆうべ深夜に見てたtrick2とかいうドラマ。 変な演出が評判という話だ。 確かに技法には見るべき点もあるが、冗談だけで作ったものに用はない。 冗談のコレクションにはもう飽きた。

私はほとんどの場合かわいそうなキャラにしか魅かれない。 かわいそうでない人は私の存在など関係なくきちんと幸せに生きていけるのであって、 つまりどうでも良い。ONEにせよKANONにせよどいつもこいつも放っておいたら 死んでしまいそうで、とても放っておけないのである。 Airなんかは究極で、観鈴とか絶対こいつには近づきたくないと思いつつも 放っておいたら本当に死んでしまうので放っておけない。 そして、放っておかなくても死んでしまうからといって 放っておいていいやということにはならないのがミソである。 同情しているのが気持ちいいのかなんなのか、とにかく分析すれば とてもおもしろくない結論がでそうな動機によって、キャラあるいはゲームを 好きになっているらしい。

しかし、これには例外がある。とらハだ。あれはどいつもこいつも 確かに円満に幸せではないが、どいつもこいつも人間ができていて、 美しく一生懸命に生きてゆける。私など関わる余地はないし、 彼女らは私のごとき人間は必要としない。ブ厚いガラスの向こうから 素晴らしい世界を眺めることしかできない。そういうわけで、 とらハの場合はほとんどあこがれに近い。キャラ個人のみならず、 ああいう空間にもあこがれがある。思えば昔「ここはグリーンウッド」を読んで あこがれたものだ。

自分が信じたいことを言ってくれるものを誉めるのは、 他人を誉めるということによって自分を正当化しようとするイヤらしい行為だ。 しかし、程度の差こそあれ何かを誉める時にはそうならざるを得ない。 せめて程度の激しい時には慎しむようにせねばなるまい。 あまり度が過ぎると言葉遊びにしかならなくなる。 最近偏見によって嫌うのは、理解しようという努力の末好きになるより よほど自然でまっとうなことなのではないかという気がしてきた。 それが他人をさいなまなければむしろ健康さの現れとすら言ってはいいのではないか。

シスプリのラジオが最近どうでもいい。聞くのが辛い。 誰かゲストでも来ない限り聞く気もしないが、聞くまでわからんのでつけている。 この辛さが何に起因しているのかはよくわからない。

2002年2月23日

同じようなことを考えてソフトを作った人がいるらしい。 が、1700万する。私が作る意味は十分にあるということだ。

「ソフィーの世界」。自分にとってあたりまえでないことを 考え出すことに驚くのに比べて、 自分にとってあたりまえのことを考え出すことに驚くことははるかに高度だ。 それがあたりまえでない状態というものを 想像しなければならないからである。

ルソー「エミール」途中まで。この人はいい人だ。 こんなに素直で潔癖な人がどうやって生きることができるだろう。

たとえときにわたしが断定的な口調で語るとしても、 それは読者に押しつけるためではない。自分で考えた通りに語るためだ。 自分がすこしも疑っていないことを、どうして疑問の形で述べることができよう。

読者にそれをわかれと言うのは本当にムチャな話だ。しかし、 そのことをすら覚悟しているのならばよかろう。 この「よかろう」と言うのは「止めることはできまい」という意味であって、 道徳に照らして良いとか悪いとか言うのとは話が違う。

本来なら借りてる本を持ってくべきだったのだが、すっかり忘れてしまった。 夜中はヒマだし寝てしまうと寝坊しそうだったので、 book offで100円で仕入れて読んでいたのである。

2002年2月22日

例会に行こうと思っていたが、研究室で引きとめられて行けなかった。 しかもその最初の1時間近くはAOEが終わるまで待たされていただけだ。 その後はプログラムを書かされた。これも今までなまけたツケが 回ってきたということだろう。仕方あるまい。

アカン。全てがダメに思えてきた。 どう考えても今やってることをきちんと整理して形にするには 数ヶ月かかる。まだ思いつきにすぎないのだ。 だから数時間単位でコロコロ変わる。 しかし、他の人は私が何をやっているのか知らないので、 私がそういう危うい状態にあることを知らない。 全てがにわか仕込みだ。 理研行ったら何か手が見つかるかもしれない。

調子に乗った時と鬱になった時のこの落差はどうにかならんものか。

理研及び会社行ってきます。23日はがんばって帰ってきますが、 間にあわなかったらごめんなさい。何があっても抜けてきます。

今日のチップ

  時間がない。CELファイルの解釈は前に書いたので、 CELに似たフォーマットで出力して前のを流用して評価。 結果、元のとほとんど変わらんものを作ることができた。 どちらで解析しても結果には大差がない。 強度が小さいところはより小さく、大きいところはより大きく 出る傾向が微妙に強いから、コントラストは上がっている。 特に明るい区画の隣の区画で影響を受けにくくなった。 ほとんど練ってない状態でこれだから、さらに改良できる 可能性は十分にある。だが、ひとまずそっちは置いておいて その後の統計処理をやらないといけない。最終段階では別の方式のDNAチップ と共用にしたいので、フォーマットを揃える必要がある。 全く同じプログラムを用いていないと異なる方式のチップで 同一の結果が得られたことを証明するのがむつかしいからだ。

  範囲を4×4から6×6にしたところ、元のプログラムの出力と ほとんど同じものが得られた。 当然とは言えきちんとこうなるのを確認できるとうれしい。 ところで、これは母集団の平均値を推定する問題である。 ということは、平均値の標準偏差が小さいほど推定の精度が高いと言える。 中央極限定理により、標準偏差s、平均値mの母集団から n個取ってきて平均する操作を何回もやると、 その平均値の分布は標準偏差がs/sqrt(n)、平均値がmの正規分布に近似できる。 nが小さければt分布で近似すれば良い。 ということは、評価値としてはただの標準偏差よりも、 標準偏差/sqrt(ピクセル数)の方が適していることになる。 小標本の際にはさらにこれにtをかける方が良い。tは自由度、つまり ピクセル数の関数であり、ピクセル数が小さいほどtが大きくなる。 つまり、ピクセル数が小さいほど評価値が大きくなって、採用されにくくなる。 この方法に従って さまざまなサイズでこの値が最小になるようなデータの取り方を探せば さらに良いデータとなることが予想される。たとえば 大標本として扱うならばsqrt(36)はsqrt(16)の1.5倍 大きいので、もし6×6ドット採用して4×4の時に比べて標準偏差が 1.5倍以上にならなかったならば6×6の方が優れているということができる。 確かにこれならピクセル数が小さい時にはよほど標準偏差が小さくないと 採用されないので、ある程度のピクセルが確保され、直感的にも妥当くさい。 さらに小標本だとするならばtの値を考慮するのでさらに差は広がる。 例として有意水準95%を取れば、 6ドット平方の時には1.684、4ドット平方の時には1.746となる。 評価値は1.684/6×標準偏差と1.746/4×標準偏差となり、 係数は0.28と0.44となる。この比は1.57となるから、つまり 4×4の時の1.57倍の範囲に標準偏差が収まるならば6×6の方が優れていると言える。 小標本にすることで若干小さなピクセル数が採用されにくくなっているわけだ。 なお、極端な話これが2ピクセルとかになると6.314/sqrt(2)となって、 値が4.5とかになる。36ピクセルの時の値が0.28だから、この比は実に16倍。 つまり、16倍の標準偏差までなら6×6の方が有意だということになる。 実際にはデジタルデータの場合同じ色を持つピクセルが数ドットくらいはある 可能性があり、2ドットとかだと標準偏差が0になって採択される可能性があるため 常識的な範囲で下限を設ける必要がある。

2002年2月21日

明日理研行ってきます。

今日のチップ

  ソースに書いたこと全部やってから落ちるってのはどういうことなのだろう。 メモリの後始末をしている途中に何かが起こっているのだろうか。 どうしたものだろう。

  前もってメモリを確保してから関数に渡したら落ちなくなった。 が、使い勝手が悪くなった。一体何が起こっていたのだろう。 デストラクタがおかしかったのか。しかし二度解放したわけでもないし、 解放を忘れたところで落ちやせんだろう。わからない。

  affymetrixの区画分けが再現できた。なるほどこういうことか。 しかしアカンわこれ。座標に端数が出た時に単純な四捨五入をしたのでは 当然ある所でガクンと範囲が狭くなる。 区画によって使うドット数が36ドットだったり30ドットだったりする のは標準偏差を見て削っているのではなく、ただそうやって範囲が狭まっただけだ。 534*8=4272だが、だいたい4266ドットくらいしか幅がないわけで、 つまり一区画の幅はほとんどの場合8、たまに7、ということになる。 外周は無視するようになっているらしく、8×8だと36ドット、8×7だと 30ドットとなるわけだ。実に単純である。さて、これをどう改良するか。

  基本的には隣がはみ出してくるのと、局地的なゴミの影響さえ除ければいい。 区画全域を覆うようなゴミの検出はこの段階ではできないので、 数ドット異常な数値が出たものだけを除ければ良い。 そして、それでかつある程度のドット数を確保したい。そうすると 単純に外周2ドット幅を捨てる、というのでは16ドットしか残らず良くないし、 たまたま8×7になったところではわずか12ドットしか残らない。 単純にバラつきのみによっておかしいドットをはじかねばならないだろう。 だが、正規分布になるという仮定のものに有意水準で検定すると 実際のバラツキがあまりに大きいためにほとんどのドットがはじかれてしまう。 相当に基準を甘く取らねばならない。

  試しにとある区画でやってみたところ、有意水準0.005と相当甘くしたにも かかわらず、64ドット中6ドットしか残らなかった。バカな。 そんなにバラつくのか。確かに右と下の区画が死ぬほど明るい区画で 微妙にはみ出しているので無理もなさそうな気はするが。

  よく考えたら人間の目は明るさには対数的に反応する。 一見暗く見えるが、ひょっとしてものすごくはみ出してたりするんじゃないだろうか。 そう思ってレベル補正をハデにかけてみたところ、ものすごくはみ出していた。 人間にわからんだけだ。これなら6ドットも無理もない。隣に区画のない 左上の方6ドットしか使い物にならない。なお、極端に明るい区画の隣の場合、 中心部まで侵食されてしまって全く使い物にならない。 スキャナの性能にも問題があるようだ。レーザが狙った場所だけに きちんと当たっていないらしい。これで大丈夫なのか本当に。 微妙に不安になってきた。

  均一っぽいところでも8ドットくらいしか通らなかった。やはり厳しすぎるのだ。 はじく閾値はドット数の平方根に比例して狭くなるので、ドットが 少なくなるまで削られてしまう。評価をもっと甘くしなくてはダメだ。

  大間違い。ドット数の平方根で割るのは平均値の分散だった。モノまんまなんだから 割っちゃダメじゃないか。というわけで、修正。

  DATヘッダに新発見。スキャナのゲインらしきものを発見。 前のに書き加えておく。

  うまくいかない。区画境界認識の精度が悪すぎる。そんなものに 値を左右される方式はそもそも間違っている。 だいたい解像度が低すぎるのだが、言ってもどうにもならん。 こうなれば試行錯誤方式しかない。区画認識はアタリ程度に用いて、 範囲内で一番標準偏差/平均値が低くなるような 領域を選択する。8×8領域内において5×5の領域の取り方は 4×4で16通り。全て試す。速度のことは後で考えればいい。

  アカン。はみ出しから逃げるように遠ざかるかと思ったら、積極的に はみ出しに近づく場合がある。あんまりにもはみ出しすぎてるために そっちの方が均一なのだ。やはり波形を見ねばならんのか。

2002年2月20日

ついにKANONを見ることに成功した。が、KANONってこんなんだったっけ。 確かにこんなだった気がするが、本当にこんなだったか。 とりあえず、話の筋はまんまだ。セリフとかもたぶんほとんどまんまだ。 背景とかも本当にまんまだ。しかし、 とてつもなくうさんくさい。ものすごくにわかいい話くさい。 何故だ。このしらじらしさはなんだ。私の心がKANONから離れてしまっただけなのか。 元からこんなだった気もするし、何かが違っているような気もする。わからん。

とりあえず品質が高くないのは確かだろう。 絵もキャラデザがああなのはともかく、動きまでおかしいのはどういうことか。 関数がなめらかでないどころか不連続だ。 不自然になめらかに動く車やら雪の結晶やらも気持ち悪い。 やけに歩くのが速かったりするのもまた気持ち悪い。 そしてなによりも、演出がイヤだ。 表情の崩し型がイヤだ。ドア開ける時の効果がイヤだ。 回想シーンの型にはまったいい話演出もイヤだ。 あからさますぎる香里の不機嫌シーンもイヤだ。 木にぶつかるあゆのシーンの間とか構図もイヤだ。エンディングなんて空に顔である。 あの金魚みたいな顔が横にたくさん並んでるとあまりにもおかしい。 見終わって何があったかいまひとつ思い出せない。薄い。薄すぎる。

一通り吐き出したらすっきりした。 とりあえず、愛は量だ。もう数話見てみんことにはなんとも言えん。 つまるところ、舞が出てこんことにはなんとも言えん。 気に食わないところがどうでもよく思えるまで見続けないと評価のしようがない。 これは評価できなくなるまで評価しない、ということなわけで何かおかしいが、 それで悪いことはなかろう。これがクソアニメであるという結論よりは、 舞がかわいいから良し、という結論の方がよほど建設的だからである。 しかし、来週忘れてる確率はけっこう高い。

思い出すだにカッター。ゲームやっててあのシーンでカッターに気づいた人 なんてほとんどいまい。そうであれば、あんなに強調していいはずがない。 ああいうのは伏線とは言わん。ネタバレというのだ。

第一話見せれー。

今日のチップ

  例外ってオブジェクトやんか。それコンストラクタだろ。 だからカッコがついてる。ということは、コンストラクタとして 指定した関数が実行されるわけで、つまりエラー が起こった関数から引数を渡せる。 たとえば第一引数に関数名、第二引数に原因になった値を指定して 投げると、それらを表示してから死ぬ、というようにもできる。 値はいろいろなので、ストリームに出力 できるように<<演算子を定義した型ならなんでもいいように 例外用クラスをテンプレートにしておけばいい。 すげえC++。

  スチューデントt計算関数を作るのは面倒くさいので表にしたのだが、 150個の数値を手で入れるのにはえらく疲れた。 今のところ範囲外が来ると即死(例外throw)。範囲外が来たら計算するようにできると かっこいいんだが、使う側からすれば特定の数字の時は速いのに 別の時は遅いというのは解せないと思うので、素直に死ぬ方がよかろう。 計算する関数は別にすべきだ。書かないが。なお、tの逆関数は 解析的には求められない代物なので、確率と自由度からtを求める計算は どうしても繰り返しによる近似計算になる。遅すぎて使用に耐えない。

  バカな。stringをcharにしたら読み取りが2秒とかになった。stringってのは 10倍以上遅いのか。大量にやる時には到底使えん。memなんとか関数を多用してて ああ面倒くさいという感じだが、その価値はあった。 アルゴリズムだけでは性能は得られない。 ともかく、こんなに速いならバイナリで保存しておくなんて面倒なマネはせず いちいち読みこんでも良さそうだ。できるファイルは少ないほどいい。

  画像数値化。あまりにもバラつきすぎだ。 このままバカ正直に標準偏差で有意水準検定を やったらほとんどのドットは消えてなくなる。 範囲の分母が自由度の平方根であるため、 ドットが60もあるとかなり範囲が狭くなる。 範囲が狭いから、当然はじかれやすい。 少々考えないといけない。

2002年2月19日

写真を見せてもらったのだが、ちばちえみは本当に美人だった。 複数枚あるのでたまたまというわけでもないっぽい。

たまに物欲が爆発する。別にそれを買ってどうなるものでもないんだが、 金を使うという行為が無性に恋しくなるのだ。 というわけで買いましたしっぽDVD。毒天等見たい方は言ってください。貸します。 にしてもついている人形がよくできている。 机の上に立たせておくとなにかまた一段階上の世界に入れた気がして複雑。 もう部屋に貼ってあるポスターには慣れたのだが。 しかし、寮行ったら貼れんよなこんなもの。同居人を嫌がらせるのはよくない。

川澄綾子のアルバムが出るらしい。全曲作詩作曲を自分でやり、加えて ピアノソロ曲まで入っているらしい。どうも音楽大学卒業らしい。 シティーハンターの第三期の主題歌のことをふと思い出した。

修論発表おしまい。つつがなく。

a+b+cなんていう単純な式のくせに奥が深い。 a+bをどっかに保存してからそれとcを足さねばならんわけで、 つまり無駄があるのだ。a+=b;a+=cと分けて書くのが速度的には正しいらしい。 たぶん、たいがいの場合は勝手にしてくれるんだろうとは思うが。 ただ、aとかbとかが組み込み型じゃなくて自分で作ったクラスになっても それが働くかどうかは謎。頼らず自分で考えた方が無難だろう。 インライン化と補助クラスをうまく使えば勝手にそう変換されるように 自力で書くこともできそうだが、面倒くさすぎる。

実行回数の多い関数はインライン化したい。しかし、別のファイルに なってるとインライン化できず、インクルードせねばならない。 結局クラス定義の中に書いてしまうことになって、hファイルがどでかくなる。 仕方ねえ。しかし、そんな姑息な高速化の前にもっとできることがあるだろう とも思う。アルゴリズムが最適かどうかの方がずっと大切だ。

今日のチップ

  各段階で信頼区間検定を行ってはじいていく、という方針で行くことにした。 まず画像から数値へ変換するところで、区画内の36ドットに対して 標準偏差を計算し、n=36でt検定を行って信頼区間を決定する。 その信頼区間から漏れるドットが出てきたら、 それを除いて再び検定を行う。3個はじかれればn=33だ。 そうやって区間に全部入るまで繰り返す。感覚的に16ドットを切ったら その区画は廃棄して良かろう。 次に同じ区画について複数のチップで統計を取り、同様に信頼区間を決定し、 外れたものをはじく。はじいた区画は記録しておき、 後にそのチップの再現性を評価するのに用いる。 次にそれらの結果から同じ遺伝子に属する 区画の平均値と標準偏差を合計する。 区画間のスケールの違いを考慮すると、ここは相乗平均の方が良いかもしれない。 そのあたりは後で試して決める必要がある。最後に異条件間で 平均値の差のt検定を行い、信頼区間を決定する。 この信頼区間は今までと違ってはじくためのものではなく差を検出するためのものだ。 信頼区間から漏れるということは、それらが同一のものではないということであり、 つまり差があるということになる。統計学用語で言えば、 帰無仮説を棄却できる。信頼区間の端で差あるいは比がどれくらいになるかを 計算し、それをもって変化の程度とすれば良い。たとえば 95%以上の確率で何倍に活性化している、というような直感的な情報が 得られる。これで完全にストーリーができた。 間に人間が意見をさしはさむ余地はないわけで、であれば画像から 一気に処理してしまって良い。ならばCで書ける。さようならexcel。 君は単なるビューアだ。

  区画認識を自前で書かねばならない。4頂点を求めてから、 それらを通る上下2辺の式を求めて、それらを区画数で分割し、 その分割点どうしを結ぶ式を求めて、さらにそれを縦の分割数で分割する。 それが区画の境界であり、間に含まれたドットを見ていけば良い。 その間に含まれる最大の正方形から始めれば間違いではないだろう。 区画境界を認識するより区画の中心を認識した方が後が楽なので、 最初に指定する4点を4隅の区画の中心に据えると良いかもしれない。 デバグ用に分割点や直線をあまったチャネルに書きこんでBMP出力 できるようにしておこう。プレゼンにも使える。 とにかくここで注意すべきは浮動小数点誤差だ。逆に言えば、 それ以外には何もむつかしいことはない。 最初の頂点の検出が精度を大きく左右するが、失敗しても はじかれるドットが増えるだけで、プラスマイナス1ドット程度であれば 最終的な結果にはほとんど影響しないものと思われる。 最初は頂点をコマンドラインで与えてもよかろう。 また、区画の数は座標⇔遺伝子対応表(.CDF)に書いてあるので、 そこから読めば良い。すでにCDFの情報を構造体に読みこむ関数は作ってある。 CDFの情報をバイナリとして保存しておけばいちいちテキストを読まずに済むので お得だ。処理は28万区画あるのでそこそこかかるかもしれないが、 一発で解析が片づくと思えば10分くらいまでは許容範囲である。

  本来ならはじかれたドットを記録して評価に用いたいところだが、 1点につきshort2つが必要であり、最悪4200x4200x4×実験数 ビット程度必要になる恐れがある。 さすがに無茶なので、28万区画について採用されたドットの数だけ書くことにしよう。 1区画あたりのドット数はせいぜい64以下なので、charで良い。 また、比較する際に異なった区画がはじかれていては正確な比較にならないので、 どのチップのどの区画がはじかれたかを記録したいが、 これも28万×実験数個のビットがあればいいので、大した問題ではない。 どんなにたくさん実験をやったとてたかだか数メガだ。 この段階では読みこんだ画像はもうメモリから消しているはずで、 問題にもなるまい。 最初は面倒なので1バイト使ってしまってもよかろう。

  これで輝度データとその標準偏差、それにはじかれた区画やドットの情報が得られた。 とりあえず必要な有意水準(90%とか)に対応するtの値さえ計算できればいい。 本当なら積分計算がいるところだが、面倒なので主要な自由度と確率に 対してのtの値の表をまんま返せばよかろう。n(標本数)>30なら ほとんど通常のz(標準正規分布)と変わらないので、そちらで近似すればいい。 確率にしても90%、95%、99%以外を使うとも思えない。3つで十分だ。

  プログラムは3ついる。まず個々の画像を読んで各区画のはじかれたドット数、 各区画の輝度、標準偏差を出力するプログラム。 区画数×17バイト+ヘッダのファイルができる。28万区画で約4.5MBだ。 次がそれらを統合して遺伝子ごとの総合的な輝度と標準偏差、それに各実験において はじかれた区画を出力するプログラム。 遺伝子数×16バイト+区画数×実験数×1ビット。28万区画の9335遺伝子の5実験で 320KB強となる。 そしてそのデータを複数 比較して、各遺伝子についての変化を評価するプログラムだ。 比較に使用した区画数、平均輝度、標準偏差、必要な有意水準の端における比、 を各遺伝子について出力する。これはテキストで良い。 この後はexcelで眺めるだけだからだ。 なお、複数といっても2つに限定だが、実験というのは2つづつ比べるのが常道なので それは問題ではない。一般化してANOVA(分散分析)もできないことはないが、 研究者が欲するのは2条件の比較だけだろう。

  また、第一プログラムの出力を使って、ある実験とある実験の距離がどの程度かを 評価するプログラムを書くと再現性を評価するのに便利だ。 5実験あればそれぞれについて他の4実験との距離を調べ、その距離を5実験それぞれに ついて和あるいは積をとれば、特に外れた実験がどれかがすぐわかる。 これは重心からの距離を測定しているのと等しい。もちろん そのような方法をとらなくても外れた実験の区画ははじかれるのでわかるのだが、 一つでもはじかれた区画は比較には使わないため、あまりはじかれる区画が多くなると 使える区画が減って比較の精度が落ちるし、 下手をすれば全区画が使えなくなって比較そのものが 不可能になる。前もってそのような実験そのものをはじいておいた方が良い。

  なお、出力形式はヘッダの後は配列丸写しのバイナリでいい。 高度なことをやるとメモリ配置がどうなってるのかわからなくなるので、 全部組み込み型の配列で表現しておけばよかろう。 エンディアンが問題になるが、それは勘弁だ。どうせ浮動小数点の表現なんて 互換性ないんだろうし、同じ機械で3つのプロセスはやってもらいたい。 せめてファイルのヘッダにエンディアンと浮動小数点形式を判定するための ものを入れておくことにしよう。 また、それらのファイルについてはそれぞれ テキストへのコンバータを用意しておく。 このへんのことは全体を一つのプログラムにしてしまえば考えなくていいのだが、 コマンドラインに指定するものの数が莫大になるし、途中で止まった時に イヤなことになる。おそらく1枚あたり数分はかかるだろうからだ。 最終的にはコマンドラインに渡すものを全部リストにしてファイルに書いておいて それを読むことができるようにすればいいし、 GUIをつけてもいい。それぞれのプログラムのmain関数が コマンドラインオプションの解釈くらいしかしていなければ そういう改造をしたくなった時にも楽だろうと思う。 オレ以外の人間がやることだろうが。

  さて、えらそうに考えてはみたが、自分なんか勘違いして調子に乗ってんちゃうん、 という気分が拭い難い。3日でこれを作って理研にサンプルを持っていき、 向こうの先生に評価してもらおう。認められれば良し。そうでなくても良しだ。 「ごめんなさい、ボク何もわかってませんでした」と泣いてあやまれば済む。 もし使ってくれるとなれば初心者卒業という気分になれる。 もっとも、比べる対象があまりにカスなだけで自分がすぐれているわけでもないんだが。

  久しぶりに自分がすべきことを見つけた。 さっさと済ませて遊びたいのはやまやまだが、修論上がったからいいや、 という気分にはなりそうにない。 気分的には修論なんて書いてる場合じゃないんだがなはっきり言って。 もっと早くこうなってりゃ間違いなく博士行ってたのに。 世の中うまくいかないものだ。

2002年2月18日

修論発表でケチョンケチョンにけなされる夢。 それも内容と関係ないところで。責められ方が異様にリアルでイヤだった。 終わってボスに慰められるあたりとか、最悪。舌先三寸を身につける前の 自分のまま今に至っていたら、本当にああいう状態になっていたかもしれない。 私がベラベラしゃべるようになったのはここ数年のことなのだ。

高校の体育の授業がなぜか屋上で行われていて、やけに柵が低いので恐くて逃げ出す夢。

あと一個夢を見たんだが思い出せない。上の二つを書いてる間に忘れた。もったいない。 しかしやはり強烈な夢は今でも思い出す。幼稚園のころ見てその後5年以上にわたって さいなまれた悪夢があるのだが、思い出すとやはり恐い。恐いという感覚しかなくて どう恐いのかよくわからないが、恐いものは恐い。

プログラムしながら力尽きては気がつく、というのを繰り返すものだから 何回も夢を見る。

明日は修論発表。

健康診断に行ってきた。会社の入社書類として必要だからだ。 そしてやっぱり聴力で引っかかった。毎度毎度時間を食うのが困る。 説明も面倒くさい。

Visual Basicの略称はビジュベーらしい。なんかいやだ。 しかし、ホアルバとか君望とかはじるすとかも考えたらたいがいひどい。

2002年2月17日

23日はアニ同の追い出しコンパなのだが、会社に呼ばれた。 そう長くはかかるまい。たぶん間に合う。

自分のプログラミングのスキルがどの程度なのかを知りたいという欲求に駆られる。 とりあえず何かを作ってバラまかねば始まらない。

HxとP以外のHTML要素を使わなくなって久しい。Aすら滅多に使わない。 最近はIEやらnetscapeどころかw3mですら確認していないので、 本当にどうでもいい。vi以外で自分のコンテンツを見ていない状態だ。 見栄えというのは本当に面倒なものである。 これは研究発表にも言えることで、ちゃんと書くなんて面倒くさくて仕方がないのだが、 修論の場合は用語やらレイアウトやらのつまらん事につっこみを入れる 先生がゴマンといるらしいので特に注意せねばならない。 修論発表は言うたら卒業試験なので、きちんとした態度やらなにやらも問題に されるのだと言う。ちなみに背広で発表せんとアカンらしい。 でまあそれはいいのだが、問題はOHPを作る道具だ。 図表が多すぎる上にwindowsにはTexをインストールしていないので、 パワーポイント+エクセル+フォトショップ+ワードの数式エディタという状態なのだが、 あまりに能率が悪い。このofficeの使いにくさはなんだ。勝手にいろいろしてくれ すぎるし、自動セーブ中など頻繁に操作不能な時間ができるし、重い。 なにやらオブジェクト指向でかっこいいのは確かだが、 使いやすさとは少々別の話だ。

ところで、操作不能時間に入力したキーが動き始めてからまとめて実行されて かなり恐い。動き始めてから気が変わって別のことをしたくなっても、 すでに入力されたものを処理するのにいっぱいいっぱいで話を聞いてくれないのだ。 画像ソフトとか特に。止まってる間何も押さなければいいのはわかってはいるんだが。

クラリスドローの書類をクラリスワークスで開けないのはどうかと思うが。 なんかいろいろ経緯があったんだろうがそれにしたってひどい。

電話が配線の山に埋もれていて引っかかるので、しょっちゅう受話機が外れてます。 受話機が軽くてコード一本引っかかっただけでとれてしまうんです。 うちの電話して留守電でないのに出ない時はたいがいそれです。 ごめんなさい。TAがカチカチ鳴るのでかかってきているのはわかるのですが、 受話機を取っても話せないのでなす術もありません。 そしてもちろん発信元番号検知機能なんてないので どなたからかもわかりません。17日22時ごろにもありました。ごめんなさい。 うー何かのお誘いだったらどうしよう。行ける状態じゃないけど誘われたら行くのに。

ふぶき。バカすぎ。古屋徹最高。 むしろ星矢にしか聞こえねえ。 なんでいまさらゲームセンターあらしネタですか。

みやむーのラジオ。バカすぎ。力が抜ける。

4人組の新曲。無理です。一人を除いて。

この手のものが耐え難い心境になる時がある。今日はそうだ。 シスプリラジオが辛い。

おかしい。しっぽラジオは辛くねえ。むしろ微笑ましい。拙いのは気にならないのか。 ところで大沢千秋、普通にしゃべってても声ムチャクチャかわいいやんか。 調べたら若かった。といっても若いどころか幼い奴等とは違って普通に若い だけだが。 で、その幼い奴等。コスプレして握手会とか言うな。いかん。それはいかん。 私が勝手にあわててどうなるもんでもないが、 この子ら本当に大丈夫なのか。そういう世界に生きているのだから 当然ではあるが、どうにも心配になる。それにしても一人だけ著しく弱い 長谷川静香が憐れでならない。全体に作りがぎこちないのがこの番組の 特徴ではあるが、長谷川静香のぎこちなさは異次元だ。 比べて清水茅衣の強いこと強いこと。 もう聞いてらんない。とか言いながら楽しく聞いている。

今日のチップ

  標準偏差がデカくて使いたくないデータがあるのだが、 単純に削ればその遺伝子の蛍光強度が下がってしまう。 もちろん平均を取る時の分母も減らすのだが、 同じ遺伝子の中でも区画によってまるで絶対値が 違うので、デカいものを削ればそれだけデカい影響が出る。 やはり、可能な限り標準偏差が大きくならないように数値化をし、 削るのはよほどの時に限るようにすべきだ。 チップが複数枚あればおかしな区画の害も軽減される。 やはり画像からいじらねばならんらしいが、 明日までには間にあわんのでとりあえず危険な区画を削る 関数を足すことにする。しかし、一定以上で削る、 というアルゴリズムだとその「一定」を決めねばならなくなって 面倒くさい。いっそ、「標準偏差/平均値」で割るってのはどうだろう。 標準偏差がデカいほど寄与が減る。が、これだとたまたま偶然標準偏差が 著しく小さかった時にものすごく寄与がデカくなってマズいしそもそも 1以上になるのがイヤらしい。ここは(1-標準偏差/平均値)をかけるのが良かろう。 マイナスは0とする。で分母はそれの合計を用いれば良い。

  平均を1とすれば標準偏差0.5のデータの寄与は0のデータの半分になる。 0と0.5なら分母は1.5、妥当だろう。 全部0.5なら分母も全部半分になるので変化はない。たぶん妥当だ。 各区画のRNAへの親和性が既知であればそれで正規化できるが、 それを知るには多数のチップのデータが必要だし、 かけるRNAが違えば当然変わってくるから実はそう簡単でもない。 それにあまりここでややこしい理屈を使うと うさんくささだけが上がる結果にもなりかねない。 統計処理はできるだけシンプルである方が使う方が安心できていいのである。 というわけで単純に平均するのが良かろう。 そして、分母/区画数を再現性の指標とすれば良い。

  16区画あって分母が9ってなんやねん。標準偏差の平均が0.5近いってか。 平均100だったらプラスマイナス50くらいズレてるってことだぞ。 50と150ってまるで違うやんか。ゴミデータ決定。

  多段階でデータを整理していく際、どこまで前のデータをもったまま次へ 行くかが問題になる。理想的には完全に前の段階のデータを捨てて次へ行くのを 繰り返す方が処理が楽なのだが、当然誤差は大きくなる。 これはわかりやすく言えば、割り算をして小数点以下を切り捨てる、 という操作をセットとして何回も行うことに似ている。 切り捨てないと割り算が面倒くさくなるが、切り捨てることの誤差が無視できない 時には切り捨てるわけにはいかない。 画像、区画輝度、各遺伝子転写量、複数実験データ統合、という順に 進めるとするならば、各段階で情報が減っていくのは避けられない。 画像から直接最終的な集計をすれば最も誤差が少ないが、 その方法を考えるのも大変だし計算機資源もバカにならない。 やはりそれぞれの段階でベストを尽しつつ前の情報は捨ててしまうのが 正しい選択だろう。よって、その「ベストを尽す」の内容が問題になる。 今日は区画輝度から先でベストを尽すべく努力をしてみた。 しかし画像から区画輝度の変換に関してはまるでベストが尽されていないわけで、 これを放置しては後々までたたられる。明日明後日あたりでやらざるを得まい。 発表の後だが。

2002年2月16日

はじめてのおるすばん。道場の帰りにニャが押しかけてきて 半ば無理矢理起動。8割方音声を聞いて3ターン(6日)。 その手のことへのこだわりは確かに大したもので 次から次へとロクでもないシチュエーションになる。 描写も異様に細い。エロテキストとしてはハイレベルなのだろうたぶん。 それにしてもこいつらは全員頭がおかしいわけだが、 このおかしさは世界の要請を満たすための必要十分なおかしさなので あまりすごいとは思わない。好き好き大好きのおかしさはそれとは 少々違っていたように思う。そういうわけで、問題はこのエロシーンに 欲情できるかどうかという極めて単純な問題に帰着する。 いいや、もう。わからんでもないが、私は今それどころではない。 ところで、大人しい方の声がやけに強烈だった。 普通は普通だが、その手のシーンになるとなにやら圧倒される。 爆笑に転じるか転じないかギリギリの危ういすごさだ。 薬やってないかあんた。

昨日は散打の日。

気分を害する電話。白々しい文句を並び立てた末、脈なしと見たのかガチャン。

IBMもバイオ情報学に参入するつもりらしい。オレにも参加させろという気になる。 最近調子に乗っているようだ。ふと気がついたら プログラムを書くことがまるで苦にならなくなっていたのが気持ちいいのである。 オブジェクト指向というのは実に理にかなっている。

visual Basicってかなり遅いんじゃないだろうか。 何十万個の標準偏差計算が1秒もたたないで終わるのを見ていると、 たかが6000個ごときであれだけかかるVisual Basicは一体どうなっているのかと いう気がしてくる。と思ったが、よく考えたらexcelは表示というかなり面倒な 作業をしているわけで、そりゃ遅いのも当然だ。

今日のチップ

  区画クラスのメンバ。doubleを実験回数個と、double3つにbool一つ、そしてlong1つ。 実験回数は5回とすれば、69バイト。それが28万個。18MB。のはずなのに、 80MB近くメモリを食う。vectorが何重にもなっててコンストラクタで サイズ指定してないもんだから、そんなことになってしまったのだろう。 これではメモリが保たん。ポインタにしてコンストラクタで配列として 確保するしかない。そう思ってフラットな配列にして階層構造をなくした結果、 メモリ使用量が劇的に減った上に何倍も速くなった。 確実に把握できる範囲であれば原始的な方法を使った方が良いということか。 やはり最も原始的な方法で処理できる複雑さの上限をできるだけ上げておく 必要がある。ポインタと配列だけでゴリゴリやる手法にも 十分に精通していなければならない。

  stringクラスを使う以上やむを得ないのかこの速度は。 char*にしてしまうとfindが使えなくなってイヤすぎるのでこれで我慢する。

  どの区画がどの遺伝子に対応したプローブか書いた表(YG_S98.CDF)。 これまたテキストで20MBある。これがいいのか悪いのかはわからないが、 わかりやすいことには感謝すべきだろう。ただし、読みこみは 相当に遅くなるような気がする。

  CDFを読みこんでCELファイルの情報と統合することができた。 が、遅い。読みこんだ結果をバイナリで保存するフォーマットが欲しい。 が、stringがメモリ内でどうなっているかわからんので無理くさい。残念。 ともかく次は遺伝子ごとにまとめて転写量の計算を行う。ここまで行けば excelに持っていける。そうなればラクチンだ。

  何もなくて当然蛍光強度が0であるはずの場所に平均して300程度の蛍光が 見られる。つまり、バックグラウンドがこれくらいあるということだ。 そして、その何もない場所でもかなり変動がある。ひどいのは1000を越える。 間違いなく隣の明るいのが漏れた結果であろう。そういうわけでDATから読まねば 真に有用なデータは得られない。しかし、今は時間がないのでこれは放置だ。 とりあえずバックグラウンドをこいつらの平均として考えることにする。 事実上500以下の値を持つ遺伝子は ゴミだということがこれで証明された。DATから自前でやればこれをいくらか 軽減できるだろう。待っていろ。

2002年2月15日

CELファイルから読み出して、簡単な正規化(平均値)をかけるところまではできた。 が、遅い。28万行を読みこむところが死ぬほど遅い。 行をフィールドに分割する関数が吐くほど遅い。 stringクラスのreplaceやらfindで手抜きしてるからだ。 昔おもしろがって作った奴だから仕方ないが、ともかくも書き直さねば使用に耐えん。

同じチップを複数回スキャンしてできた複数枚の画像から作られた 区画輝度ファイル(CEL) に関して統計をとったところ、平均して平均値の8%程度の標準偏差が検出された。 元は同じものなのにだ。ちなみに独立に同じ実験を二回行った場合には これが10%になる。2%しかかわらねえ。ほとんどスキャンとそれに伴う 数値化の誤差じゃねえか。スキャナの性能に問題があるとも思えないから、 つまり最初の画像→輝度の変換がすでにタコだということなのである。 スキャンによる蛍光物質の破壊があるにせよ、その効果は 全区画に対して均等にかかるはずであるから、 分散にはほとんど影響しないはずである。 蛍光物質の減衰は時間に対しては指数的に減衰するが、その率は 元の量に比例する。よって、単純な正規化で十分なはずなのだ。

明らかに明るい区画の隣の暗い区画は分散がデカい。はみ出してんの 検出できてねえこのプログラム。消えろ。帰れ。いなくなれ。 そこから自分で書かねばならんではないか。やはりDATから直接やらねば ならんらしい。わかった。土日で上げてやる。

隣からはみ出す効果なんて、使う範囲を狭めれば軽減できるじゃないか。 8×8ドットのうちだいたい36ドット、少なくとも30ドットを使っているようだが、 別に16くらいでも問題はないだろ。はみ出すよりはよほどマシだ。 計算量を無視するならフーリエかけて不審な成分がないか確認してもいい。 理想的には直流成分しかないはずで、現実的にも隣からはみ出していなければ ノイズはk=4以上の高調波成分にしか現れまい。k=1とか2とかの 成分がデカいはずがない。断じてない。これも試してみよう。 まだフーリエはプログラムしたことがないし、原理も理解しているかかなり怪しい。 せっかくだ。

2002年2月14日

どんなに豪勢なものを入れてもソースがあれでは 何もかも同じだ。カキを入れようがエビを入れようが焼きそばは焼きそばである。 まことにもったいない話だ。

台形歪みに負けた。残された時間でこれを完全に解決し、さらに これに続く解析を完成させるのは不可能だ。 もっと早く動いていればと今になって悔やむが、 早く動いていたらあんなに遊べなかったのである。 結局私が幾何変換や方程式の解法等を プログラムできるようになったというだけのことで、 研究としては何も進んでいない。excelのマクロも 下手をすればexcel2000でしか動かないかもしれず、 関数を30以上作るようなマネをしたのが果たして良かったのかどうかは まるでわからない。私が成長しただけで、役に立ってない。

わからん。もうなにがなんだかわからん。自分がやってることが正しいのかどうかが わからん。自信はないでもないが、たかが人の作っている売り物の使い方 ごときにこのような労力を払うことの意味があるのかどうかがわからん。 しかし、その上にあるサイエンスな部分をやるためには そのつまらん作業がどうしても必要で、 そして事実この時点でそれをできる道具はこの地上にはないのである。 そして、私と同等以上にこれについて理解している人が近くにいないのが辛い。 世界のどこかにはいるだろうが、世界のどこかにいる人と話をするなら その前に自分なりの考え方を形にして示さねばならんだろう。 しかしその時間がない。とりあえず理研に行って考えてることを話してこよう。

こんなもん信号処理と統計とプログラムさえできればどうにかなるじゃねえか。 区画切りなんて幾何の問題だし、ノイズの分析は信号処理と統計だ。 フーリエすればどんなもんかだいたいわかるはずだろう。どうせこの場合の信号は 直流成分だけなのだ。極端に言えばそれ以外はノイズなわけで、 標準偏差が一定以上だったら 捨てる、なんて原始的な方法を取っていたらそこら中ゴミだらけになる。 そしてゴミだらけにならないように閾値を下げるから、当然危ういデータが残る。 標準偏差なんざそれだけでは何の意味もない数字なのだということを 知らんのか。あれが役に立つためにはどういう条件が必要なのかをおそらく知らんの だろう。そして、その後の再現性評価、正規化、比較はいずれも単純な統計の問題だ。 そんなもん仮にもこの道でメシ食ってるなら当然わかるだろ Affymetrix。数百万のものを売ろうというなら それくらいのことはやれ。やらないのに理由があるならそれを示せ。 今まで読んだ論文はどれもえらいいいかげんだった。 同サンプルによる2実験の散布図示して 「だいたい2倍、たまに3倍近いのが出ますが、その程度です。 よって3倍の差があれば有意と言えます」とか言うな。ANOVAやらカイ二乗 検定くらいやってから示せ。「実験によると分布の形はほぼ正規分布で、 標準偏差はこれこれくらいになりました。例えば何倍になる確率は何%です。 何倍を有意とするかは必要な有意水準を鑑みて決定してください」 と言うのが筋だろう。2回で決めるな。自分で作ってるなら30枚くらい同じの やってから言え。30はないと大標本法も使えんだろうが。 経験的にとられたパラメータと原始的な アルゴリズムだけでこんな高度なものを処理するんじゃねえ。 サイト見ても何も書いてねえ。ヘルプ見ても全然根拠も示さずに 式だけ書いてあって、大半はwindowsのGUIの使い方だ。そのくせ 容量が50MBもある。ふざけんな。

超グチ。理研行って向こうの先生相手にブチまけてきます。

素人考えは学問には勝てん。勝つことも稀にあるが、 稀だ。自分がその稀である確率はつまり稀なのである。 特定の領域について何か思いついたなら、その思いつきにこだわる前に その領域について勉強すべきである。 その後でなおその思いつきが有効であれば良いが、 私の経験ではそれは稀だし、仮に捨て切れないとしても学んだこと によって何らかの修正は受けよう。 たいがいのことは何らかの形で学問になっているものであり、 つまりたいがいのことはすでに誰かがずっと良く方法や考え方を確立しているのである。 過去の自分がいかにアホかがよくわかる。もっとも、 常に過去の自分はアホなのが当然なのだからそれも無理はなかろう。 むしろ過去の自分がアホに思えない状態の方がはるかに問題だ。

2002年2月13日

見そこねた。KANON。たしか昨日だったはずだ。徹夜明けだったし無理もないが。 しっぽ音楽が目覚まし時計としてかかったはずだが、まるで起きなかった。 0.9名雪。

最後の1ドットが合わないのは、 ピクセルを点に近似したことによる誤差だ。 ドット数と二点間距離は1ズレるのである。5-2は3だが、x=2からx=5までは4ピクセル あるのだ。それで縮小率がズレていたらしい。両方距離で比べねばならない。

2次元画像において、3次元ベクタに3,3行列をかける。一見かけ算は9回いるが、 3次元ベクタと言っても大切なのは2つだけで、平行移動成分さえなければ 4回でいい。あっても6回で済むし、3つ目を1に固定すれば増えた2回は 足し算で済む。加えてそうであるならば3×3行列とは言っても 容量は6個分でいい。もちろんベクタも2つ分領域があればいい。 これでだいぶ速くなった。はやくきづけ。

GenechipのDATファイルのヘッダ

  GeneChipのDATファイルのヘッダを解析。 バイナリはリトルエンディアン。やけに半端なところから 始まるものが多いので、まんま読みこむと アラインメントでひっかかって落ちるかもしれない。

0
252で固定くさい。
1-2
unsigned short:縦横どちらかの画素数。
3-4
unsigned short:縦横どちらかの画素数。同じ数字なのでわからない。
5-8
53513、341と読めるが謎。4バイトにすると巨大な数になる。
9-12
スキャナのゲインらしきものの下限。CELファイルに見える。
13-16
スキャナのゲインらしきものの上限。事実これを超える数値はDAT内に存在しない。
17-32
0。
33-102
文字列。この例だと、
"CLS=4733 RWS=4733 XIN=3  YIN=3  VE=17        2.0 12/18/01 12:34:43      "

  XIN及びYIN、それにVEは謎。

103
何を表すかわからない20。おそらく区切りとして使っている。
104-106
空白2つの後20。
107-118
char* :1sqファイル名。何故か最初と最後がスペース。
119-142
20,空白2つの並びが続く。
143-145
20,スペース、テキストで'6'。これはファイルが違っても同じ。 このあたり一帯は二文字のテキストがなにやら たくさん入るらしい。あるいは前の.1sqファイル名の延長用なのか。
146-319
0
320-339
謎。336-339で100。何が100なのか。
340-341
unsigned short:左上頂点のX座標
342-343
unsigned short:左上頂点のY座標
344-345
unsigned short:右上頂点のX座標
346-347
unsigned short:右上頂点のY座標
348-349
unsigned short:右下頂点のX座標
350-351
unsigned short:右下頂点のY座標
352-353
unsigned short:左下頂点のX座標
354-355
unsigned short:左下頂点のY座標
356-357
謎の、2,0。別のファイルでは1,0だった。shortとして読むものと思われる。
358-363
char*:.EXPファイル名。以下0なので、長ければ延長されると思われる。
364-511
0。

  534(縦横の区画数)が出てくると思って調べたのに頂点座標が出てきてしまった。 さっそくヘッダを読んで情報を抜く関数を作らねばならない。 いちいち検出するプログラムを書いていたのがバカみたいだ。 だいたい妥当な数値が入ってるくさい。私が書いたのとだいたい一致している。 とにかく、534はなかった。別のファイルだろう。とりあえずコマンドラインで 渡すことにする。

  しかし、こんなもん欲しい人日本に何人いるんだろ。 英語で書いて研究室のサイトに上げるのが筋だが、自分が正当である自信がない。 あんな機械作る企業なんだし、やっぱりものすごい人材がそろってると 考える方が常識的じゃないか。一見アホウに見えるのも何か考えがあってのこと なのかもしれない。そのへんの確証がまるでないのである。

  ところで入ってる頂点座標はやはり精度が悪い。 自前でやる。あるいはコマンドラインで与える方がマシ。

2002年2月12日

修論発表練習会を切り抜けた。さっさと区画切りを片づけて 遺伝子調べに入らねば間に合わん。15分の発表でOHPが20枚を超えそうな予感。 それにしても統計学の基礎を一晩で勉強するハメになるとは 思わなかった。標本標準偏差と母集団標準偏差の違いがちゃんとわかる。 大標本と小標本がわかる。スチューデントt分布とかえらいお世話になった。 たぶんそのうちANOVAとかにもお世話になるだろう。おもしろいじゃないか統計学。

というわけで、まるでヒマになりません。借りたもの一旦返しましょうか。 急を要するものを私に貸してる人は連絡ください。

蛍光灯を換えたら部屋が白々しくなった。

うすっぺらいいい話が妙にいいものに思えるのは、疲れているせいなのか。 スーパーでカニが売ってて、まだ生きてて動いてる。腹見たら卵がぎっしり。 つまらん感情だ。十数分後の自分は鶏肉をバラバラにしているのである。

ボーッとしながら包丁を使うと危ない。 久しぶりにミリリッター量の出血をしてしまった。人差指なしでキーボード打つのは むつかしい。しかし、今日の料理はおいしそうだ。キャベツとしめじと鶏肉の 炒め蒸し。味付けは醤油だけだが、タイミングと量さえ間違わなければ これで十分なのである。 まず鶏肉はブツ切りにして醤油につけておいた。蒸せる鍋を用意して火にかけ、 あったまったら鶏肉を投下。ふたを閉めててきとうなところで中火に。 たまにかきまぜる。火を強めにすることで醤油がほどよく焦げて 香ばしくなる。そこでしめじとキャベツ投下。 ふたを閉めて強火。2分以内に火を止め、おしまい。量にもよるが、 1分ちょいあれば十分である。一瞬生かと疑うくらいでちょうどいい。 おいしい。単純だ。

2002年2月11日

WEBで見つけたバイキュービックの式を使ったが、どう見ても近似式。 元の関数はなんだろか。 距離0では1、0.5では0.625、1では0、1.5では-0.125。2では0。 あ、マイナスが出る。これだけハデに出るということは誤差ではない。 元からこういう関数なのだ。エッジが強調されるってのはこれのことか。 ともかくこの怪しい振動はたぶん三角関数だろう。 見つけてきた式は以下の通り。
0<=d<=1:1-2d^2+d^3
1<d<=2:4-8d+5d^2-d^3
2<d:0
しかし、均一だったはずの四角形がドーナツ状にされるのはいいのか悪いのか よくわからない。

あと一歩なのに。ちゃんと比を出してるはずなのにズレる。1/4733から2/4733ズレる。 これが致命傷なのだ。浮動小数点演算の誤差に違いない。 小さい数×4000とかになると、その「小さい数」の精度が足りない分が 4000倍に増幅されるのである。何のためにあんだけ作ったのかまるでわからん。 なお、バイキュービックはこの用途には都合がいい。隣の区画に色がにじみ出すのが かなり防げる。データが不必要に改竄されなければの話だが。

2002年2月10日

浮動小数点演算の誤差がこんなに恐ろしいものだったとは。

行列万歳!回る!動く!ひっくり返る!

「生存」ドラマ化。 福本くささが生きるとも思えんが、普通にはおもしろかろう。 ところで、なんかヒロインがいるんだが、そんなのいたっけ。

67MBのビットマップはデカい。メモリに入り切らん。128MBで足りない 用途がついに現れた。

ううっ今日も寒いデス〜。北海道と同じで、京都でも冬は寒いのデスね〜。

とか言ってるうちに雪降ってきました。

ステレオのケーブルをつないだ。抵抗が入ってないやつ。 なんか音がいい気がするぞ、とか思ったりするが間違いなくそれは錯覚だ。 なにせ出力がモノラルのままなのだから。 ともかくこれでモノラル出力にしなくてもちゃんと両方鳴る。

バイリニア補間つきで4733×4733の16ビットカラーモノクロ画像に 変形をかけたら死ぬほど遅かった。 でも、ちゃんと回ってる。補間されてる。すげえ。当たり前だが感動する。

2002年2月9日

ギャラクシーエンジェル。100%冗談だけで作ってあるのを潔いとするか どうでもいいとするかは極めて微妙。

どれみどっかーん。あれをエロいと言って讃える人がいるのも理解できる。

ラブひなAgain。裸さえ出ればいいと思ってるだろ。 ところで異様に中途半端なんだが、これ続くのか。

うちらより3年も年下になると「僕の考えた超人」とか言ってもわからんのだな。 しっぽの守護天使アイディア募集がかぶって見えて仕方ないのだが。 昔は超人だったが、今は萌えキャラを考える時代なのだろう。 多少送ってくる年齢層が上がっている気はするが、 そんなことは些細なことだ。本質は同じだろう。

ストーリーがノイズになる時代。 自前で妄想するからストーリーなんざいらん、というのは立派なことではあるが、 しかしそれなら元の作品なんてなんでもいいことになりはしないか。 とか言いつつも、実際私も男口調属性ならほとんど見境なく好意を抱くのであって 他人事ではない。こういう場合には作品なんざなんでもいいような気もする。

えんえんハムスターと戯れる夢を見た。指でカリカリされる感蝕とか、 歯でガリガリされる感蝕とか、腹のプニプニフワフワした感蝕とか、 異様にリアルだった。本気で接触に飢えているらしい。 しかし実際に飼うならハムスターは小さくて何かの間違いで殺してしまいそうで 恐いので、うさぎくらいの方がいい。マウスに似ているので、 手にかけた記憶が蘇えって辛いのもある。あんなにかわいくて動いているのに 動かなくなるのだ。開けてみればあんなであり、十数分後には生ゴミとなった。 そして慣れは容赦なく襲ってくる。

4人組のそれ。歌がどうとはもう言わん。とりあえずこの写真すごすぎる。 いいのか。こんな路線で売り出して、あなたがたはそれでいいのか。

線型と非線型はえらい違いだった。遠近法的な拡大縮小は非線型なので 扱いが変わる。行列で扱えないのがこんなに不便だとは。 ところで、LU分解による連立一次方程式の解法は感動的だった。 最小二乗法による多項式近似も感動的。アルゴリズムの世界はすごすぎて 眺めることしかできそうにない。

2002年2月6日

二日ぶりに帰ってきた。まだ修論の要旨ができてない。明日の朝再提出。 まだ実験と解析が残っているというのに要旨を出さねばならんわけで、 おそらく発表の時には要旨と違うことを言うことになるだろう。 言うならばコミケにとあるジャンルで申しこんだが土壇場になって 別ジャンルにフラフラ、と言うのに似ている。

考えるとなんで帰ってきたのか謎だ。何日でもそのままいりゃ良かったのに。 当分帰る必要も時間もない気がする。

コズミックファンタジー2をえらい久しぶりに起動してしっぽに 感じる懐しさの原因を確認したのは何曜日だっただろう。
「もし、邪悪な心を持つ者の手に渡ったならば…ピシャーン」。
ピシャーンは雷。昔は何の疑問も抱かなかったが、今見ると あまりにも笑える。

母はXのアニメがいたくお気に入りのようだ。 Xと言うと劇場版のイヤな記憶が蘇えるが、別物らしいので安心である。 それとは関係なく黒田硫黄というのがおもしろいとわざわざ知らせて来たのだが、 調べてみたら大日本天狗党絵詞の人だった。 私より母の方が漫画もアニメも小説もよく見ている。

2002年2月3日

めでたくコンピュータを譲ることができました。 タダでコンピュータをあげるためにハードディスクを買って 換装するという暴挙に出る始末。最後なのだしそれくらいしてもいいでしょう。 ところで、堕落させる気かと責められそうですが、 ギャルゲーなんてのは中途半端な方が 害が大きいもので、さっさとある程度の数をこなしてしまった方が いいのではないかと私は思います。 微妙に飽きてきたあたりからが本当の勝負ではないでしょうか。

なお、買ったハードディスクはIBMのノート用の20GB。 どうせ容量なんてあるだけ埋まるのだ。 不便にならない程度の容量さえあれば、あとはなによりも音。

換装作業。引き算を面倒くさがってスワップを先に作ったためにルート用領域が eになってしまって、勝手には起動してくれなくなった。 どうも勝手に起動するのはaだけらしい。 起動の時に0:ad(0,e)/kernelと指定してやれば起動するが、なんか気分悪い。 やりなおし。

ついに起動した。カサカサと虫の歩くような音がするだけで回る音はまるでしない。

スピーカにつなぐケーブルには種類があるらしい。 やけに音が小さいなと思って他のに換えたら大きくなった。

2002年2月2日

理性ジャマ。気で戦わねばならんのだ太極拳は。 とか書いてるとますますうさんくさく思われそうだ。 ところで、拳法やってる時が一番わかりやすく生きてる気がする。

しっぽドラマユキ編で、子供時代の悟郎が「将来は獣医さん、ううん、動物学者 になれるかもね」とか言われてる。少年の未来はいつも明るい。だがな。 しかし本当に意味不明だなこの話。さっぱりわからん。

動物好き、という言葉の偽善くささは忘れろ。 うさぎ抱いてたら気持ちいいじゃないか。 なんか独立に動いてるものが側にいる、 ってのはものすごく安心することなのだ。形がかわいければ なおさらである。 ところで、リスザルはとってもかわいい。 昔日本橋に部品を買いに行く途中のペット屋に 4万でリスザル系のサルが売っていた。ムッチャかわいくて、 ちょうど金があったので一瞬買いそうになったものだ。 目がクリクリっとしてベリーキュートなのである。 名前は星丸に決定。

だが、サルに限らずペットは飼えまい。それが許されるような 状況ではないだろうし。よしんばそれがどうにかなったにしても 私では無理だ。今まで何回か何かを飼ったことはあるが、 どいつにも本当に悪いことをしたと思っている。 思い出すだに辛い。そのへんのこともあって、しっぽのクサい話を けっこう真にうけてしまうのだ。たぶん他人が「なんだよこのクセー話、死ね」 とか言ってたらそこそこ気分を害するだろう。自分で言うのはいいんだが。

2002年2月1日

2月になった。修論ヤバいな。Visual Basic上達してる場合じゃないが、 こっちは必須なのでしかたない。それにたぶん間にあった。

わからんのはわかる必要がないからだ。 わかる必要のあるなしは主観で決定されているから他人は口を出せないし、 多くの場合主観というのは自分では制御できないから自分でもどうにもならない。 例えば私の場合ならエロとか群論とかガンガンの漫画とかはそうだ。 思えばギャルゲーはわかる必要があったから わかろうとしたのだ。その甲斐あってわかったかはともかく楽しめている。 なお、わかる必要がある理由の最たるものは私の場合「人とつきあうため」だ。 エロ話が私の周りで一切されないのなら、私にエロを理解すべき理由は全くない。

今木さんのところで、信仰してるようにふるまえば信仰はあとからやってくる、 みたいな言葉を見て、なるほどと思った。 実際好きであるようにふるまってたら好きになる。 もちろん好きになるようにふるまったことを覚えている 以上完全に濁りなくとは行かないのだが、それでもそこそこ好きになる。

CDドラマ四聖獣編。悪ノリしすぎ。おもれえ。 なんちゅうダサイ脚本じゃ。内容がないところも良い。最高。 後に入ってる留守電メッセージとか もかなりアホ。女性ファンを狙っているフリをした冗談だと とっていいのだな。まさか本気ではあるまい。


もどる