生物屋さんのためのゼロからのプログラミング

―忘れないための覚書 (たま~に更新)―

Pythonで画像を読み込み、名前をつけて保存する。

Pythonの練習第3弾。今回はJavaでJFileChooserで画像を開き、名前を付けて画像を保存する。 - 生物屋さんのためのゼロからのプログラミングの内容に近いことのPython版。ソースコードは下記。 import tkinter as tk import tkinter.filedialog as tf from P…

PythonでExcelのデータを読み込み、名前をつけて保存する。

Pythonの練習第2弾。今回は、かなり昔の記事エクセルからデータを読み込み、Peakを検出しエクセルに出力する - 生物屋さんのためのゼロからのプログラミングをPythonを使って書いてみた。ただし、今回はエクセルのデータの読み込みと書き出しのみを行った。…

余談:Pythonで分数の計算 (約分付き)

「バイオインフォマティックス屋さんがすなるPythonといふものを、生物屋さんもしてみむとてするなり。」と言うわけではないが、機械学習をやってみたいので、Pythonも勉強することにした。とりあえず、Pythonの練習材料として、今までJavaで書いていたもの…

EclipseでImageJのPlugin作成 -2次元拡散方程式シミュレーション-

前回は、モンテカルロ法による分子拡散のシミュレーションを書いたので EclipseでImageJのPlugin作成 -拡散シミュレーション(ランダムウォーク)- - 生物屋さんのためのゼロからのプログラミング、今回は、2次元拡散方程式のシミュレーションを行ってみた。 …

EclipseでImageJのPlugin作成 -Time Stamper-

ImageJ(Fiji)には、"Time Stamper"というプラグインが内臓されているが、この"Time Stamper"を実行すると、 IJ.run(imp, "Time Stamper", "starting=0 interval=1 x=2 y=15 font=12 decimal=0 anti-aliased or=sec");のようになり、Javaなどで作成するプラグ…

EclipseでImageJのPlugin作成 -stack画像にROIを描き、その数値データをグラフ化する-

今回は、数値データをグラフ化するプラグインを書いた。コードは下記。 import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Toolkit; import java.awt.event.ActionEvent; i…

EclipseでImageJのPlugin作成 -拡散シミュレーション(ランダムウォーク)-

今回は粒子の拡散シミュレーションを行うImageJのPluginを書いてみた。コードは下記。 import java.awt.BorderLayout; import java.awt.FileDialog; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; impo…

EclipseでImageJのPlugin作成 -数値から画像を作る-

今回は、数値から画像データを作る。但し、僕がざっくり調べた感じでは、何もない状態からでは数値から画像データを作れなかったので、 ここでは、既存の画像ファイルの数値を入れ替える方法で、数値から画像データを作ることにした。コードは下記。 import …

JavaでJFileChooserで画像を開き、名前を付けて画像を保存する。

以前の記事画像を“名前を付けて保存する”。 - 生物屋さんのためのゼロからのプログラミングを少し変えて、同じ名前で拡張子の異なる画像を保存するコードを書いた。コードは下記。 import java.awt.BorderLayout; import java.awt.FileDialog; import java.a…

EclipseでImageJのPlugin作成 -ROI付き画像を名前をつけて保存する (Save images with ROI) -

今回は、ROIを置いた位置が分かるように、ROI付き画像に名前をつけて保存する方法を書いた。(ROIの位置確認用) ImagePlus上のROIをBufferedImage上に移してBufferedImageを保存するという、かなりトリッキーなことをしたが、自分の目的に適っているので良し…

EclipseでImageJのPlugin作成 -マウスでクリックした場所にOval ROIを描き、Excelファイルにデータを書き出す。-

ここでは、前回の記事 EclipseでImageJのPlugin作成 -マウスでクリックした場所にOval ROIを描く- - 生物屋さんのためのゼロからのプログラミング を発展させて、stack画像にOval ROIを描いて、その測定値(ここではMeanのみ)をエクセルに書き出すプラグイン…

EclipseでImageJのPlugin作成 -マウスでクリックした場所にOval ROIを描く-

ここでは、ダイアログを使って画像を開き、画像のマウスをクリックした場所にOval ROIを描くプラグイン: ROI_Maker を作った。ソースコードは下記。 import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListene…

EclipseでImageJのPlugin作成 -下準備編 ver.2-

前回書いた「EclipseでImageJのPlugin作成 -下準備編-」では、うまくいかない部分があったので、 他の方法でアプローチすることにした。今回用いたのは、下記の3つのサイトの合わせ技。 The ImageJ Eclipse Howto [ImageJ Documentation Wiki] Re - ImageJ…

EclipseでImageJのPlugin作成 -下準備編-

ImageJを活用した解析用ツールを開発することにした。 EclipseでImageJのいじれるようにするまでに少し苦労したので、備忘録を残す。(今回はMacを使用) 参考にしたのは、三浦耕太先生著の「ImageJではじめる生物画像解析」 ImageJではじめる生物画像解析 |…

フリーハンドでROIを描く。

今回はフリーハンドでROIを描くコードを書いてみた。仕様としては、画像を取り込み、画像の上にマウスでROIを描けるようにした。 実際のソースコードは下記。 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Graphics; import java.…

System.currentTimeMillisを用いた処理時間の取得

あるタスクをクリアするのに要した時間を測定するためのソースコードを書いてみた。ソースコードは下記。 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax…

Rを使った、データの読み込み、フィッティング、データの書き出し

Rでの解析方法についての覚書。まずは、Rを使ったデータの読み込み方法。 (1) テキストファイルからのデータの読み込み > data = read.table("C:\\------.txt"(ファイルの指定), header = F)ここでの"data"は読み込んだデータの入れ物。 header = Fこれは、…

JavaでnewAudioClipを使ってサウンドを再生する。

かなり久しぶりの投稿。なので、単純なコードを書いてみた。何かしらのタスクの終了時に音が出るようにしたいので、とりあえずボタンを押すと音が出るコードを書いてみた。 import java.applet.AudioClip; import java.awt.BorderLayout; import java.awt.ev…

JSliderを使って、画像の輝度を変える。

ここでは、JSliderを使って画像の輝度値を変えてみた。 まずは、ソースを記す。 import java.awt.BorderLayout; import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import java.io.File; import java.io.I…

少し余談:Javaで英語用のディクテーション用紙を作成する。

英語のリスニングの勉強においてディクテーションは非常に有効だと思うのだが、なかなか良い教材がないと思う。 無料 英語・英会話 無料 リスニングプラザ(ディクテーション勉強法)ヒアリング/listening/hearingのようなサイトはかなり有用であるが、リスニ…

JavaでWordを読み書きする。

以前、Javaでエクセルを編集するコードを書いたが、今回はWordを読み書きしてみる。 JavaでWordを取り扱うには、エクセルの時と同様に“Apache POI”をインストールする必要がある。(ダウンロードは Apache POI - the Java API for Microsoft Documentsからで…

余談:Javaで因数分解をしてみる

またまた、暇つぶし。 今回は入力した2次式の因数分解をするコードを書いてみた。(但し ax2 - cの形式の因数分解は出来ない) import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing…

余談:Javaで分数の計算(約分つき)

またまた、暇つぶし&復習がてら、入力された分数の足し算の解法を考えてみた。コードは下記の通り。 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swi…

Javaでtiff画像を開く

Javaでtif等の画像ファイルを開くためにはJava Advanced Imaging (JAI) をダウンロードする必要があるのだが、近年Java Advanced Imagingのダウンロードが不可能な状態にあった。(そのため、ImageJを使ってtif形式の画像をわざわざpng形式等に変える等苦労…

余談:Javaで入力した数値(3桁まで)を英語表記に変える

色々な復習ついでに、ちょっと目についた問題をやってみた。 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; …

ウインドウサイズを変えても、描画が消えない方法

GraphicsのdrawOvalやdrawLineで円や直線を描画しても、ウインドウサイズを変えると描画が消えてしまうので、Graphics2Dを用いてウインドウサイズを変えても描画が消えない方法を書いた。 import java.awt.Color; import java.awt.FileDialog; import java.a…

JRadioButtonの選択に応じてイベントを起こす。

今回は、JRadioButtonの選択とイベントをリンクさせたコードを書く。 import javax.swing.ButtonGroup; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.event.Cha…

JLabelでのアンダーラインの引き方と改行の仕方

今回はJLabelでのアンダーラインの引き方と改行の仕方を書く。ついでに、JButtonのアンダーラインも書いた。 import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class LabelTest { pub…

マウスでクリックした点を中心に円を描く。

より気楽にROIを描くために、今回のコードを書いてみた。 import java.awt.Color; import java.awt.Graphics; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.event.MouseInputAdapter; publ…

JFreeChartを使って、グラフを破線で表示する。

import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Stroke; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.JButton; import …