GROWTH FPGA/高速ADCボード – 1 – 概要など

昨年アカデミストを通じてクラウドファンディングにも挑戦した「雷雲ガンマ線実験(雷雲中の高電場での粒子加速に迫るための実験 = GROWTH実験)」の、2016-17年の冬シーズンの観測実験にむけて、ガンマ線検出器の小型化と多点観測にむけた量産を進めています。(ちなみに実験の初期の頃の信号処理システムは、大型のデスクトップマシンと「VME」や「NIM」という規格のこれまたデスクトップPCくらいのサイズのADC/アンプボードでした。これらを格納するために人が入って数日暮らせるくらいの大きさのアルミフレーム製の小屋を(榎戸さんが)作って観測場所に持って行きました。信号処理回路やPC、データ記録装置(SDカード)まで含めて10cm角サイズに収まるようになったことは感動的なエレクトロニクス技術の進歩です) 雷雲ガンマ線実験(GROWTH実験) – 京都大学の榎戸さん、原研の土屋さん、東京大学の中澤さん、和田さん、奥田さん、理研の中野さんなどと進めている楽しい基礎科学の観測実験プロジェクト。2015年度の観測結果のまとめは「冬季雷雲のガンマ線測定を狙う多地点観測システムの新規開発」(榎戸、湯浅、和田ほか 2016年5月)を参照してください。 先日、榎戸さんの研究費でシマフジ電機とともに開発したFPGA/高速ADCボードが届いたので、週末や夜の時間をつかってFPGAのコーディングを進めました。2015年度の観測装置のSpartan-6 FPGAボードで動いていたパルス計測用のVHDLコードが、今回のボードのArtix-7 FPGAとAD9231という50Mサンプル/秒のADCチップでも動作するようになりました(8月最終週)。また、9月3-4日の週末を使って、このFPGA/ADCボードに載せてあるSPIのSlow ADC/DACとLED、GPIOピンをRaspberry…

HongoWikiを移設しました

新しいサーバへ移動しました 東京大学のサーバが不釣になって見られなくなっていたHongoWikiを、自前のサーバに移動して再開しました。新しいアドレスは以下のとおりです。そのうち、Googleの検索ランクも戻ってくると思います。あと、Mediawiki→Jekyllの変更にともない、コメント管理サービスDisqusを使ってコメント欄も付けているので、質問や改善のコメントがある人は気軽に書き込んでください。 HongoWiki – http://ytkyk.info/wiki/ (トップページからページの一覧が見れます) トップページと同じ説明文章を掲載しておきます。ページの追加や内容の更新に興味のある人は、コメント欄から連絡してください。 HongoWikiは2007-2016年に東京大学牧島・中澤研のサーバ上で公開されていた、 高エネルギー宇宙物理学分野の研究に関連した情報をまとめるためのWikiです。 詳細はHongoWikiについてを参照してください。 2016年にサーバトラブルにより閲覧できなくなっていたものを、新しいサーバで公開することにしました。記録的な意味がほとんどで、情報のアップデートはあまりされないと思います。 もし、ギブアンドテイクの精神で、自分でページを作って室の向上に貢献したいというえらい人がいたら、コメント欄で連絡してください。Jekyllのgitレポジトリを編集できるようにして、ページの追加・内容の改修ができるようにします。Markdownで記事が書けて、gitが使えれば大学院生・ポスドク・大学のスタッフ、誰でも歓迎です。…

RubyFitsでFITSファイルをCSVファイルとしてダンプする例題

RubyFitsでFITSファイルをCSVファイルとしてダンプする例題をgistにアップロードしました。 以下のようにして実行すると、入力したFITSファイル名の後ろにHDU名をくっつけたファイル名で、CSVファイルが生成されます。 実行前には、RubyFitsをインストールしておく必要がありますが、Macの場合はHomebrewで とすればインストールできます。 conver_fits_to_csv.rb – a short example of…

【RubyROOT】ヒストグラムをフィットする例

RubyROOTで1次元ヒストグラムのテキストデータを読みこんで、TH1D(Double型の1次元ヒストグラム)に変換し、一次関数+ガウシアンでフィットしてプロットする例を示します。RubyROOTのインストール方法は「RubyROOTをHomebrewでインストールする」を参照してください。 最終的に、以下のようなプロットが得られます。 コード コードは以下のような構成です。コメントに書いてある通りで、シンプルな構成です。以下のコードをコピーペーストして保存してもよいですが、gistにもアップロードしたので、そちらからダウンロードする方が簡単です。ファイル名はread_and_fit_histogram.rbとしてください。 ヒストグラムのデータはhistogram_sampleからダウンロードしてください。ビンのデータが縦に並んだ超シンプルなデータファイルです。 スクリプトの解説 ヒストグラムオブジェクトの作成 TH1Dという、1ビンがdoubleで表現されたROOTの標準的なヒストグラムクラスをもとに、ヒストグラムオブジェクト(インスタンス)を作成しています。 ROOTのTH1(1次元ヒストグラム)のAPIリファレンスはこちら→The Histogram…

【Rubyで単位付き計算】X線fluxをluminosityに変換する例

Soki Sakuraiさんのruby-dimensionalを使うと、Rubyで単位付きの計算がとても綺麗にできます。 たとえば、X線天文でよく出てくる「地球で観測したfluxから等方的な放射を仮定したときのluminosity(光度)を求める」計算は以下のようにできます。(以下の例は、激変星GK Perのdwarf nova outburst時のある観測の0.5-10 keVのluminosityを計算したときの例) これを実行すると、以下のようになります。 ruby-dimensionalのインストール ruby-dimensionalのインストールについては、github上のマニュアルを参照してください。…

【Mechanize/Ruby】Amazonへのログイン

Amazonのウェブサービスの操作を自動化しています。RubyでMechanizeを使ってAmazonにログインしようとしたのですが、「Cookieを有効にしてください」の表示がでてしまってうまく行きませんでした。 調べたところ、Stackoverflowのページに投稿があり、以下のようにagent.follow_meta_refresh = trueとagent.redirect_ok = trueとagent.user_agent_alias = ‘Mac Safari’を設定したらうまく行きました。 以下の例の中で、MAIL_ADDRESSとPASSWORDのところは適当に変更してください。

【Ruby】コマンドラインからMediaWikiにファイルをアップロード

参加しているプロジェクトのwikiでMediaWikiを利用しています。会議のプレゼンテーションをまとめたりするときに頻繁にファイルをアップロードする必要があるのですが、毎回ブラウザ経由で手動でアップロードするのが面倒になってきました。 最近はRubyからSeleniumを使って色々なwebサービスの操作を自動化するのがマイブームになってきましたが、ブラウザのウインドウを開かずにコマンドラインだけで動作が完結するという点でMechanizeも便利です。なので、Mechanizeを使ってMediaWikiにファイルをアップロードするスクリプトを作成してgistに公開しました。 → upload_file_to_mediawiki – gist このページの下の方にもソースコードを掲載しておきます。 Mechanizeについて勉強・入門したいときの参考情報 Mechanize – オフィシャルのウェブページ Mechanize…

【Selenium】Rubyでウェブページのスクリーンショット

最近Seleniumにハマっています。以下のようにするとスクリーンショットも撮影できてしまいます。 save_screenshotメソッドで保存したスクリーンショットには、以下のようにブラウザのインタフェースは除外され、ウェブサイトの領域のみ記録されます。自分でブラウザインタフェースをトリミングする必要がないので楽です。 それで、いろいろな人にSeleniumをもっと簡単に使ってもらえるよう、Zirconiumというラッパーを作成しています。SeleniumのAPIを簡単化したRuby DSLを提供するとともに、あるユーザーが作成した自動化スクリプトを、githubやhttp経由でimportする機能も備えています。もう少し試験したら、入門の記事を投稿する予定です。お楽しみに。(20150207時点でも、githubのプロジェクトページにはそれなりにReadme.mdがあるので、Rubyが使える人なら自分でインストールして動作を試すことは出来ると思います) Zirconium – github.com/yuasatakayuki – ブラウザ操作の自動化用Ruby DSL環境

Ruby Fog::AWS::SimpleDBのサンプル

いまさらですがRubyのクラウドAPIであるFog経由でAmazonのSimpleDBを利用する練習として作ったスクリプトをgistにアップロードしておきました。ぼくは自分の写真のデータをバックアップしているAmazon Glacierとの連携や簡単なウェブサービスでの利用を想定していますが、他の誰かの何かの参考になれば。 → Ruby Fog::AWS::SimpleDB Example – gist fogはgemで簡単にインストールできます。 20150107時点のコードを以下にも再掲しておきます。(gist上では更新されているかもしれません) YOUR_ACCESS_KEY_IDとYOUR_SECRET_ACCESS_KEYは、実際に使用するアカウントのものに変更してください。利用したいregionがTokyoでない場合は:regionも変更してください。AmazonのRegions…