# -*- coding: utf-8 -*-
# ImageJでとったラインプロファイルについて、濃度ピークの間隔を算出するためのコード
#　必要なモジュールの読み込み
import sys
import os
import re
from string import *
#文字コード指定に必要
import codecs

#パス指定小楽でスクリプト配置フォルダのファイル一覧取得
files = os.listdir('C:\\test')
for file in files:
    #まず.txtを含むファイルのみ読込
    txt = re.compile(".txt")
    if txt.search(file):

        #　入力ファイルを開く
        indat = codecs.open(file, "r", 'shift_jis')

        # 開いた入力ファイルを読む準備
        inline = indat.readline()

    # 読み込んだデータをディクショナリとして保存
    data_dic = {}

    # 開いたファイルを順番に最後の行まで読む
    while inline:
 
         #　データを収めるために空のリストを作成。ループするたび、リストを空にする
         data_list = []
 
         # 各行がキーワードに当てはまるかチェックし、キーワードに当てはまる行に対し、カンマで文章を区切り、必要な情報だけを取り出す。
         first = strip(re.split('\t', inline)[0])
         second = strip(re.split('\t', inline)[1])
         
         pixel = int(first)
         density = double(second)

         # データをリストとして保存
         data_list = [density]
         
         # リストに収めたデータをディクショナリに収める。ディクショナリのキーには、CASTのIDを使う
         data_dic[pixel] = data_list

         # 次の行を読む
         inline = indat.readline()

# 入力ファイルを閉じる
indat.close()

#画像濃度ピークのピクセルを入れる配列
peak = []

# ディクショナリの各アイテムにアクセスし、データをテキスト形式にフォーマットして書きだす
for d in data_dic.keys():

    #　ディクショナリの1つのアイテムを取り出す
    unpacked = data_dic[d]

    if data_dic[d] > data_dic[d-2] > data_dic[d-1]:
        flag1 = 1
        
    else:
        flag1 = 0
        
        