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

資料等::正弦波グレーティングを作るRスクリプト

説明

正弦波グレーティング (sine wave grating) を作るRスクリプトです。コードを実行すると以下のような画像を出力できます。imagerパッケージが必要です。市原・阿久・石口 (編) (2017)「視覚実験研究ガイドブック」(朝倉書店)のMATLABコードを参考にしました。解説は時間があるときに加筆するかも。

Rスクリプト
					library(imager)

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

contrast <- 0.25 # コントラスト
frequency <- 1/32 # 空間周波数
tilt <- 45/180 * pi # 傾き角度

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

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

base <- expand.grid(list(x = 1:width, y = 1:height))
x <- base$x
y <- base$y
value <- (1 + contrast * sin(2 * pi * frequency * (x * cos(tilt) + y * sin(tilt)))) * 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, "grating.png") # 保存
					
				
このページの作成日:2023年5月24日
このページの最終更新日:2023年6月9日