2017/02/27

simpy on jupyter


from sympy import *
init_printing() # to print with mathjax on jupyter notebook
a=Symbol('a');
b=Symbol('b');
c=Symbol('c');
x=Symbol('x');
y=Symbol('y');
expr = a*x**2 + b*x + c;
solve(expr, x)

2017/02/26

Reading a multipage tiff file

Reading 16-bit grayscale multipage TIFF file with python scikit-image:

Python code:

import skimage.io as skiio
matMOV = skiio.imread("movie.tif");
print("Pages:%i, Height: %i, Width: %i"\
      %(  matMOV.shape[0]\
        , matMOV.shape[1]\
        , matMOV.shape[2]))
Result:
Pages:631, Height: 875, Width: 748


Keywords: TIFF TIF file multipage multi-page

2017/02/25

コマンドプロンプトの結果をクリップボードに

Windows
  • パイプ + clip コマンド.
  • e.g. % dir | clip
  • e.g. % echo %path% | clip
従来下記のようにしてきたが、 dir.txt ができてしまうのが難点だった.
% dir > dir.txt & start dir.txt
Keywords: pipe, clip, clipboard, command prompt, redirect

2017/02/24

matplotlib 日本語タイトルなど

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
fp = FontProperties(fname=r'C:\WINDOWS\Fonts\YuGothic.ttf', size=14)
X = np.linspace(0, 2*np.pi, 100);
C = np.cos(X);
plt.plot(X, C);
plt.title(u"余弦関数", fontproperties=fp)
plt.xlabel(u"位相", fontproperties=fp)

2017/02/23

Python で CSV 読み込み. 一行目を読み飛ばす

import numpy as np;
data = np.loadtxt("out.csv",delimiter=",", skiprows=1);

2017/02/22

Jupyter notebook を pdf 化

  • 日本語がなければ export でできる.
  • 日本語が入る場合
  • 中間ファイルとして .tex ファイルと画像ファイルたちが残っているので、気に入らない場合は直接手を加える
    • 一行のソースが長いとセルの幅不足で右端が切れてしまう問題には、事前の手動改行で対処。TeX 上は verbatim を使っているので何ともしようがない。
      • listings を使うように変更すれば何とかなるかも.
    • タイトル(\title) には元ファイル名が使われてしまう。

2017/02/20

OpenCV の Python Binding ビルド

主訴:
BUILD_opencv_python3 が出てこない
原因:
PythonLibs が見つからない
対処法:
もし レジストリ HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstallPath の既定値(string) がなければ
  • libs/Python35.lib
の直上フォルダ名を入れる。

Keywords: Windows, python, build, opencv, binging, Intel python distribution,

2017/02/19

pip の proxy 越え

Intel Python 35 に Scikit-Image をインストール

  • proxy 環境内
  • Intel Python 3.5
  • Scikit-image をインストールしたい
  • Windows 8.1 Pro 日本語 x64
whl でインストール
普通は依存関係を自動で解決(不足分をダウンロード&インストール)してくれるようだが、proxy 環境内だとダウンロードに失敗する. 手動で解決する.目的のものをブラウザでダウンロードし、下記コマンドでインストールを試みて、ダウンロードできないというエラーが出たら、 そのパッケージについて、ブラウザでダウンロードして・・・という作業を繰り返す。有限回で終了するはずである。
  • whl ファイルのダウンロード
  • インストールコマンド
    • python.exe -m pip install [path/to/file.whl]
  • IntelPython35 に Scikit-image をインストールするのに必要な whl
    • scikit_image-0.12.3-cp35-cp35m-win_amd64.whl
      • Pillow-4.0.0-cp35-cp35m-win_amd64.whl
        • olefile-0.44-py2.py3-none-any.whl
      • toolz-0.8.2-py2.py3-none-any.whl
      • dask-0.13.0-py2.py3-none-any.whl
      • networkx-1.9.1-py2.py3-none-any.whl

2017/2/24 追記

以下でよかった

 python.exe -m pip install packagename --proxy=user@proxy.hoge.jp:port

2017/02/18

CMake の printf のようなもの

hoge と表示する
message(STATUS,”hoge”)
変数 PARAMNAME の値を表示する
message(STATUS, “PARAMNAME = ${PARAMNAME}”)

2017/02/17

OpenCV - Python 参考 URL

2017/02/16

Python から OpenCV を使う

ビルド手順

  1. OpenCV のソースをダウンロード (git)
  2. CMake で Configure する
    • 出力ディレクトリは適当でよい。A とする.
    • BUILD_OpenCV_python にチェックを入れる.
    • PYTHON3_* に適切なパスが入っていることを確認する.
      • 特に PYTHON3_PACKAGES_PATH にはビルドの成果物 pyr が INSTALL される
  3. Configure できたら、 Generate する。
  4. A\OpenCV.sln を開いて、 BUILD_ALL をリビルドする。
  5. 成功したら、INSTALL をビルドする。
  6. A\install ディレクトリに bin ファイルたちが出来上がるので、これを適切な場所 c:\opt\OpenCV などに移動する。
    • dll には PATH を通しておく.
    • OpenCV.dll が使用するであろう DLL (TBB.dll など) は同じフォルダにコピーするかパスを通しておく.
    • PYTHON3_PACKAGES_PATH に pyr がコピーされているはず。
  7. python を起動して import cv2 を実行する。 dll が読み込まれるはず。

確認。例

>>> import cv2
>>> cv2.__version__
'3.2.0-dev'
>>> 

パスが設定できていない場合のエラー

例えば TBB を使用してコンパイルした場合、 TBB.dll を見つけられるようパスが通っている必要がある。
>>> import cv2
Traceback (most recent call last):
  File "", line 1, in 
ImportError: DLL load failed: 指定されたモジュールが見つかりません。

オプション設定

  • 全部入りの DLL を作るには Build_opencv_world にチェックする
    • C++ でプログラムを書いたとき、link する lib ファイルが 1 つで済むので楽.
  • Build_opencv_world と Build_Python3 は両立しないようである。

2017/02/15

Jupyter python で inline で matplotlib の plot を表示するには
   %matplotlib inline
をスクリプトに入れる.

2014/12/31

matlab 行列の行列の作り方

行列の行列の作り方

行列の行列の作り方

行列の行列、ベクトルの行列を作る 4 つの方法を比較する。
kyewords: matlab, meshgrid, repmat, matrix of matrices, matrix of vectors, comparison

Contents

要素アクセス

clear;
Y = 40;
X = 30;
A = rand(Y, X);
YY = 30;
XX = 40;
tic;
for yy=1:YY
    for xx=1:XX
        for y = 1:Y
            for x = 1:X
                B((yy-1) * Y + y, (xx-1) * X + x) = A(y, x);
            end
        end
    end
end
T1=toc
T1 =

    4.2194

ones

clear;
Y = 40;
X = 30;
A = rand(Y, X);
YY = 30;
XX = 40;
tic;
x=(1:X)';
xx=x(:, ones(1, XX));
y=(1:Y)';
yy=y(:, ones(1, YY));
B=A(yy, xx);
T2=toc
T2 =

    0.0021

repmat

clear;
Y = 40;
X = 30;
A = rand(Y, X);
YY = 30;
XX = 40;
tic;
x=(1:X)';
xx=repmat(x, 1, XX);
y=(1:Y)';
yy=repmat(y, 1, YY);
B=A(yy, xx);
T3=toc
T3 =

    0.0017

meshgrid

ほかと異なり、B は正方行列に限られる。
clear;
Y = 40;
X = 30;
A = rand(Y, X);
YY = 30;
XX = 40;
tic;
x=(1:X)';
y=(1:Y)';
[xx, yy] = meshgrid(x, y);
B=A(yy, xx);
T4=toc
T4 =

    0.0018

2014/02/23

Composition Media System SD カード Apple lossless サポートしない

Volkswagen Composition Media (Golf 7) supports Apple Lossless files (iTunes m4a)  
http://www.youtube.com/watch?v=7I8sRfZRp0s


を見て、iTunes で apple lossless ファイルを SD カードにコピーしてみたが、再生させると、"File Error" が出た。ロシア語はわからないが、youtube をよく見ると m4a ファイルを再生できていることしか確認できない。 m4a なら AAC の可能性もある。AAC をサポートしているのはわかっているので、AAC に直してみたら再生できた。


結論:
Composition Media System SD カードからの再生は、Apple lossless サポートしない

2014/02/18

Golf 7 オーディオ用 SD カード

Golf 7 SDカードを用いて Composition Media System で音楽を聴く
  1. SD (SDXC) card を exFAT 形式でフォーマット.
  2. ラジオ局のロゴを SD カードにコピーしたら、ラジオのマニュアルに従ってカーステレオに設定する。
  3. SD (SDXC) card を再度 exFAT 形式でフォーマット.
  4. SD カードに音楽をコピー
  5. 1つのフォルダが 1000 フォルダ以上含まないように割り振る
  6. Terminal (mac) か Command Prompt (Windows) を起動し、独立したアルバムアートファイルをすべて削除する
  7. アルバムアートをリサイズするツールを用いて、MP3 埋め込みアルバムアートが400pixel x 400 pixel を超えないようにする
  8. ゴミ箱を空にする
  9. Terminal (mac) か Command Prompt (Windows) を起動し、"." で始まるファイルをすべて削除する.
  10. SD カードを取り出す。.
References:
http://www.haydnwilliams.com/blog/vw-golf-mk7-sd-cards-and-album-art


Keywords:  Album Art, Composition Media System, Golf, Golf 7, Golf Mk7, Mk 7, Mk VII, radio station logo, SD Card, Volkswagen, format

2010/09/27

本棚の新しい住人

MacPower 2010 vol.2
* 久しぶりに Mac 雑誌を買った。と思ったら季刊のムックだった。浦島太郎状態。

2010/09/22

本棚の新しい住人

2010年9月22日 8:09
TCP/IP ソケットプログラミング C 言語編
* ソケットを用いたプログラミングに特化したネットワークの教科書
* このテーマの本は案外少ない。
* 私の知りたいことはすべて解決した。参考文献も多い。
* 基本的に UNIX 系.

2007/11/08

Vista 64bit でインストールしたソフト

  • Winmerge 本体は x86 だが shell 拡張は x64 対応している
  • SharpKeys キー入れ替え。KeyCtrl 0.51, keyswap 2.04 は Vista x64 で起動するものの設定が効かなかった。
  • TortoiseSvn x64 用インストーラが公開されている
  • マイシールド 使用可能. shell拡張は x64 対応.

2007/10/21

阿蘇

阿蘇山