目次
大阪公立大学大学院現代システム科学研究科 武藤拓之の知覚・認知心理学研究室

資料等::ガボールパッチを作るRスクリプト

説明

視覚実験でよく使われるガボールパッチ (Gabor patch) を作るRスクリプトです。コードを実行すると以下のような画像を出力できます。imagerパッケージが必要です。市原・阿久・石口 (編) (2017)「視覚実験研究ガイドブック」(朝倉書店)のMATLABコードを参考にしました。解説は時間があるときに加筆します。

Rスクリプト
					library(imager)

# 設定 ----------------------------------------------------------------

contrast <- 0.5 # コントラスト (0-1)
frequency <- 1/32 # 空間周波数
tilt <- 45/180 * pi # 傾き角度
phase <- pi # 位相
gsigma <- 20 # ガウス関数の標準偏差

width <- 256 # 出力される画像の横幅 (px)
height <- 256 # 出力される画像の縦幅 (px)

# 出力 ------------------------------------------------------------------

base <- expand.grid(list(x = 1:width, y = 1:height))
x <- base$x
y <- base$y
x2 <- x - width/2
y2 <- y - width/2
value <- (1 + contrast * sin(2 * pi * frequency * (x2 * cos(tilt) + y2 * sin(tilt)) + phase)*exp(-(x2^2 + y2^2) / (2 * gsigma^2))) * 127 / 255
value <- ifelse(value < 0, 0, value)
value <- ifelse(value > 1, 1, value)
output <- as.cimg(data.frame(x=x,y=y,z=1,cc=1,value=value))

# plot(output) # 可視化する場合

imager::save.image(output, "gabor.png") # 保存
					
				
このページの作成日:2023年5月24日
このページの最終更新日:2023年6月9日