J言語でPGMファイルを読み込む

JでPGMファイルを読み込む方法のメモ
ふつうに数値を読み込んで行列化するだけでは表示されないので困っていたら,先生が表示可能にできるプログラムを組んでくださりました.
Macでも表示可能.

##実行方法
#スクリプトのロード
load 'files misc'
load'~addons/media/image3/view_m.ijs'



#ファイル読み込み(実行するとファイル選択ウィンドウが立ち上がる)
im=:fread fselect''

#PGMファイルを表示できるように変換するためのプログラム
    crlfdel=: 3 : 0
u=.(y ~: CR) # y
' ' ((u=LF)#i.$u)}u
)

genpgm=: 3 : 0
u=.(0 1){y
if. ('P2'-:u)=1 do. w=.LF=y
   w=.+/\w
   u=.3}.y
   while.'#'=0{u do. w=.LF=u
     w=.+/\w
     w=.0<w
     u=.}.w#u
   end.
   w=.LF=u
   w=.+/\w
   w=.0=w
   n1n2=.".v=.w#u
   u=.(#v)}.u
   u=.4}.u
   u=.crlfdel u
   u=.".u
   out=.(|.n1n2)$u
else. out=.y
end.
out
)

#読み込んだPGMファイルを変換する
im=:genpgm im

#変換したPGMファイルを表示する
view_image BW256;im