(57)【要約】  マススペクトルデータにおいて所定レベル以下の強度値を無効データとしたうえで、m/zの順に強度値が配列された非圧縮データ配列を所定個数のデータ毎に区切ってブロック化する。ブロック毎にその先頭から順に、有意な強度値が連続する場合にはその連続数と各強度値をそれぞれデータとし、無効データが連続する場合にはその連続数をデータとして、圧縮する。そして、圧縮後の各ブロックの先頭のデータの配列番号を集めてインデクスを作成し圧縮データと共に保存する。圧縮データから特定のm/z値に対応する強度値を求める際には、m/z値の配列データを参照して非圧縮データ配列上での特定のm/z値の配列番号を調べ、さらにインデクスを参照してその配列番号が含まれるブロックの先頭の、圧縮データ配列上の配列番号を調べる。そして、特定されたブロックの先頭から順に連続数のデータを抽出して連続数を加算しながら、目的とするm/z値に対応する強度値を探索する。これにより、短時間で目的とするm/z値に対応する強度値を見つけることができる。
2019229998.tif 000002
【特許請求の範囲】
【請求項１】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを圧縮するための機器分析用データ処理方法であって、
a)測定データの配列を所定の個数のデータ毎にブロックに区切るデータ分割ステップと、
b)ブロック毎に、当該ブロックに含まれる測定データの配列順に従って、予め決められた無効レベルである強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、前記無効レベル以外の有意なレベルである強度値が出現した場合にはスイッチ連長符号化を行うことにより、各ブロックにおける圧縮後のデータ配列を求める配列変換ステップと、
c)前記圧縮後の各ブロックのデータを並べた１次元配列上での各ブロックの先頭のデータの位置を示す配列番号の情報を集めてインデクスを作成し、前記配列変換ステップで得られた各ブロックの圧縮後のデータ配列と関連付けて保存するインデクス作成ステップと、
を有することを特徴とする機器分析用データ処理方法。
【請求項２】
請求項１に記載の機器分析用データ処理方法であって、
前記機器分析は質量分析であり、前記所定のパラメータは質量電荷比であり、前記測定データはマススペクトルを構成するデータであることを特徴とする機器分析用データ処理方法。
【請求項３】
請求項１に記載の機器分析用データ処理方法であり、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前のデータを圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求めるブロック特定ステップと、
e)前記特定されたブロックに対応する圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する順番の強度値を見つけて出力する強度値探索ステップと、
を有することを特徴とする機器分析用データ処理方法。
【請求項４】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを圧縮するための機器分析用データ処理装置であって、
a)測定データの配列を所定の個数のデータ毎にブロックに区切るデータ分割部と、
b)ブロック毎に、当該ブロックに含まれる測定データの配列順に従って、予め決められた無効レベルである強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、前記無効レベル以外の有意なレベルである強度値が出現した場合にはスイッチ連長符号化を行うことにより、各ブロックにおける圧縮後のデータ配列を求める配列変換部と、
c)前記圧縮後の各ブロックのデータを並べた１次元配列上での各ブロックの先頭のデータの位置を示す配列番号の情報を集めてインデクスを作成し、前記配列変換部により得られた各ブロックの圧縮後のデータ配列と関連付けて保存するインデクス作成部と、
を備えることを特徴とする機器分析用データ処理装置。
【請求項５】
請求項４に記載の機器分析用データ処理装置であって、
前記機器分析は質量分析であり、前記所定のパラメータは質量電荷比であり、前記測定データはマススペクトルを構成するデータであることを特徴とする機器分析用データ処理装置。
【請求項６】
請求項４に記載の機器分析用データ処理装置であり、前記データ分割部、前記配列変換部、及び前記インデクス作成部の各部での処理により圧縮して得られた圧縮データを処理する機器分析用データ処理装置であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前のデータを圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求めるブロック特定部と、
e)前記特定されたブロックに対応する圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超えるときの連続数を特定する連続数特定部と、
f)前記連続数特定部により特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する順番の強度値を見つけて出力する強度値探索部と、
を備えることを特徴とする機器分析用データ処理装置。
【請求項７】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを、その配列順に従って、予め決められた無効レベルの強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、前記無効レベル以外の有意なレベルの強度値が出現した場合にはスイッチ連長符号化を行うことにより圧縮して得られた圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超えるとの連続数を特定する連続数特定ステップと、
b)前記連続数特定ステップで特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する順番の強度値を見つけて出力する強度値探索ステップと、
を有することを特徴とする機器分析用データ処理方法。
【請求項８】
請求項７に記載の機器分析用データ処理方法であって、
前記機器分析は質量分析であり、前記所定のパラメータは質量電荷比であり、前記測定データはマススペクトルを構成するデータであることを特徴とする機器分析用データ処理方法。
【請求項９】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを、その配列順に従って、予め決められた無効レベルの強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、前記無効レベル以外の有意なレベルの強度値が出現した場合にはスイッチ連長符号化を行うことにより圧縮して得られた圧縮データを処理するデータ処理装置であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理装置であって、
a)処理対象である圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超えるときの連続数を特定する連続数特定部と、
b)前記連続数特定部により特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する順番の強度値を見つけて出力する強度値探索部と、
を備えることを特徴とする機器分析用データ処理装置。
【請求項１０】
請求項９に記載の機器分析用データ処理装置であって、
前記機器分析は質量分析であり、前記所定のパラメータは質量電荷比であり、前記測定データはマススペクトルを構成するデータであることを特徴とする機器分析用データ処理装置。
【請求項１１】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データのビット列を、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化による圧縮を行う一方、下位のビット列を含むデータ配列に対しては圧縮せずに得られた、複数の圧縮データ配列から成る圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である複数の圧縮データ配列のうち、前記上位のビット列に対応する圧縮データ配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
b)前記特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
c)前記下位のビット列に対応する圧縮データ配列において特定のパラメータ値に対応する配列番号から下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【請求項１２】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データのビット列を、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化による圧縮を行う一方、下位のビット列を含むデータ配列に対して静的ハフマン符号化による圧縮を行うことで得られた、複数の圧縮データ配列から成る圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である複数の圧縮データ配列のうち、前記上位のビット列に対応する圧縮データ配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
b)前記特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
c)処理対象である複数の圧縮データ配列のうち、前記下位のビット列に対応する圧縮データ配列を全て伸張し、その伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【請求項１３】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを圧縮するための機器分析用データ処理方法であって、
a)測定データの配列を所定の個数のデータ毎にブロックに区切るデータ分割ステップと、
b)ブロック毎に、当該ブロックに含まれる測定データのビット列をそれぞれ、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、そのブロック毎に、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化を行う一方、下位のビット列を含むデータ配列に対してはそのまま又は静的ハフマン符号化を行うことで、各ブロックにおける圧縮後の複数のデータ配列を求める配列変換ステップと、
c)前記圧縮後の各ブロックの複数のデータ配列について、データを並べた１次元配列上での各ブロックの先頭のデータの位置を示す配列番号の情報を集めてインデクスを作成し、前記配列変換ステップで得られた各ブロックの圧縮後の複数のデータ配列と関連付けて保存するインデクス作成ステップと、
を有することを特徴とする機器分析用データ処理方法。
【請求項１４】
請求項１１に記載の機器分析用データ処理方法であり、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する圧縮が行われていない圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
g)特定のパラメータ値に対応する配列番号から下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【請求項１５】
請求項１１に記載の機器分析用データ処理方法であり、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する静的ハフマン符号化が行われている圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
g)前記インデクスのうち下位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の下位のビット列が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第２ブロック特定ステップと、
h)前記第２ブロック特定ステップで特定されたブロックに対応する下位ビット由来の圧縮データ配列を全て伸張し、そのあと特定のパラメータ値に対応する配列番号とそのブロックの先頭の配列番号の差分をもとに、伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【請求項１６】
請求項１１〜１５のいずれか１項に記載の機器分析用データ処理方法であって、
前記機器分析は質量分析であり、前記所定のパラメータは質量電荷比であり、前記測定データはマススペクトルを構成するデータであることを特徴とする機器分析用データ処理方法。
【請求項１７】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを圧縮するための機器分析用データ処理装置であって、
a)測定データの配列を所定の個数のデータ毎にブロックに区切るデータ分割部と、
b)ブロック毎に、当該ブロックに含まれる測定データのビット列をそれぞれ、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、そのブロック毎に、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化を行う一方、下位のビット列を含むデータ配列に対してはそのまま又は静的ハフマン符号化を行うことで、各ブロックにおける圧縮後の複数のデータ配列を求める配列変換部と、
c)前記圧縮後の各ブロックの複数のデータ配列について、データを並べた１次元配列上での各ブロックの先頭のデータの位置を示す配列番号の情報を集めてインデクスを作成し、前記配列変換部により得られた各ブロックの圧縮後の複数のデータ配列と関連付けて保存するインデクス作成部と、
を備えることを特徴とする機器分析用データ処理装置。
【請求項１８】
請求項１７に記載の機器分析用データ処理装置であって、
前記機器分析は質量分析であり、前記所定のパラメータは質量電荷比であり、前記測定データはマススペクトルを構成するデータであることを特徴とする機器分析用データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、質量分析装置、クロマトグラフ装置、電子線マイクロアナライザ（ＥＰＭＡ）、ラマン分光イメージング装置、フーリエ変換赤外分光光度測定（ＦＴＩＲ）イメージング装置といった、各種の分析装置で収集された測定データを処理する機器分析用データ処理方法及び装置に関し、さらに詳しくは、分析装置で得られた測定データを圧縮したり圧縮されたデータを処理して目的とする情報を取り出したりするための方法及び装置に関する。
【背景技術】
【０００２】
近年、機器分析のための分析装置の高性能化、高機能化は著しく、それに伴い分析装置における測定により得られるデータの量はますます増加している。特に、イメージング質量分析装置やＦＴＩＲイメージング装置などの分析装置では、試料上の２次元領域内の多数の測定点それぞれにおいて所定の質量電荷比範囲或いは波長範囲のスペクトルデータが得られるため、一つの試料から膨大な量の測定データが得られる。【０００３】
一般に分析装置で得られた測定データはコンピュータ（通常は汎用のパーソナルコンピュータ）で処理されるが、測定データの量が膨大になると全ての測定データをメインメモリ（ＲＡＭ）に取り込んで処理することができなくなり、処理速度が低下する。また、測定データの量が多いと、測定データを保存するにも大きなメモリ容量を確保する必要がある。さらに、最近では、ネットワーク経由で測定データを転送してクラウドコンピューティングや遠隔地に置かれたコンピュータでデータを解析することも増えており、測定データの量が多いとデータ転送の際の時間やコストが高くなるという問題もある。【０００４】
こうした問題を解決するために、近年、測定データを圧縮する様々な手法が提案されている。
例えば特許文献１には、飛行時間型質量分析装置（ＴＯＦＭＳ）で得られる高時間分解能のマススペクトルデータを圧縮する方法が開示されている。この圧縮方法では、マススペクトルにおいて質量電荷比（m/z）値の順に強度値を並べたデータ配列を、ノイズレベルであるとみなせるデータ配列とそれ以外のデータ配列とに分ける。そして、ノイズレベルであるとみなしたデータを除いたデータ配列（つまりは有用である可能性が高いデータ配列）に対して連長符号化を行う一方、ノイズレベルであるとみなした部分に対してはエントロピー符号化の一種である静的ハフマン符号化を行う。この圧縮方法では、圧縮率を上げながら可逆圧縮を行うことができる。【０００５】
また上記圧縮方法ではノイズレベルであるとみなせるデータも圧縮データに反映されるが、マススペクトルデータから強度値があるレベル以下のデータを削除することによりデータを削減するという手法（これは厳密には圧縮方法ではないが、ここでは広義の圧縮方法の一つであるとする）も知られている。【０００６】
しかしながら、上記特許文献１による圧縮方法では次のような問題がある。
マススペクトルを表すデータ配列は、マススペクトルの横軸であるm/z値の情報がそれぞれ格納されたm/z値の配列と、それと同じデータ数である強度値の配列とから構成される。例えばイメージング質量分析装置で得られる多数の測定点毎のマススペクトルデータを保存する場合、或いは、同じ質量分析装置で得られる多数の試料に対するマススペクトルデータを保存する場合、圧縮前のデータ配列は、複数のマススペクトルに共通である一つのm/z値の配列と、複数のマススペクトルにそれぞれ対応する強度値の配列とであることが多い。【０００７】
例えばイメージング質量分析装置で得られたデータに基づいて特定のm/z値における２次元強度分布を示すイメージング画像を作成する場合、非圧縮のデータであれば、目的のm/z値に対応する強度値の配列番号（データ配列上の先頭のデータを「１」として各データに付した連続番号）からそれぞれ強度値を取得すればよい。ところが、特許文献１に記載の方法で圧縮されているデータの場合には、伸張処理を実施してm/z値の配列と強度値の配列との関連付けを行ったのちに、目的のm/z値に対応する配列番号に基づいて強度値を取得する必要がある。このように伸張処理を行うと当然、処理速度が低下するし、伸張したあとのデータがメインメモリに格納しきれないと処理速度はさらに低下する。【０００８】
一方、マススペクトルデータから強度値が特定のレベル以下のデータを削除することにより圧縮する方法の場合、マススペクトル毎にm/z値の配列情報を用意する必要がある。その場合、多数のマススペクトルデータから目的のm/z値における強度値を取得するためには、そのマススペクトル毎に別々のm/z値の配列から目的のm/z値に対応する配列番号を見つけ出す処理が必要である。そのため、m/z範囲が大きなデータほど、或いはマススペクトルの数が多いほど、処理に時間が掛かってしまう。【０００９】
各マススペクトルにおいて目的とするm/z値に対応する強度値を取得するための処理速度を上げるための一つの方法として、原マススペクトルのデータ配列上の位置（配列番号）と圧縮データのデータ配列上の位置（配列番号）との対応関係を示す情報を格納したインデクスを利用する方法が知られている。例えば特許文献２に記載のデータ圧縮方法では、マススペクトルにおける強度値の配列のうちノイズレベル以上の有効な強度値が連続する部分の圧縮後の配列内での先頭の配列番号と、圧縮前の配列番号とを関連付ける情報が格納されたインデクスを別途作成しておき、データ読み出しの際にはこのインデクスを参照するようにしている。【００１０】
しかしながら、特許文献２に記載の圧縮方法では、インデクスのデータ量が多くなるために十分なデータ圧縮の効果が得られない場合がある。例えば、ＭＡＬＤＩ−ＴＯＦＭＳは測定可能なm/z範囲が非常に広く、タンパク質などの生体試料を測定した場合、マススペクトルには幅広いm/z範囲に亘って多数のピークが観測される。こうしたマススペクトルデータを特許文献２に記載の方法で圧縮すると、マススペクトル上のピーク部分毎にインデクスの情報が生成されるため、インデクスのデータ量自体がかなり大きくなる。インデクスのデータ量が多いと、目的のm/z値に対応する圧縮データの位置をインデクス上で検索するのに時間が掛かり、目的の強度値を読み出すための処理速度が低下する。また、インデクスのデータ量が大きいとデータの圧縮効率が悪いという問題もある。【００１１】
なお、上記問題は質量分析装置で得られるマススペクトルに限らず、クロマトグラフ装置で得られるクロマトグラム、電子線マイクロアナライザで得られるＸ線強度スペクトル、ラマン分光イメージング装置やＦＴＩＲイメージング装置で得られる分光スペクトルなどを構成するデータを処理する場合、特に多数のスペクトルやクロマトグラムを処理する場合にも同様である。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】国際公開２００９／０６９２２５号パンフレット
【特許文献２】特開２０１２−１６９９７９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明は上記課題に鑑みて成されたものであり、その目的の一つは、例えば質量分析装置により得られたマススペクトルデータなどが圧縮されたデータにおいて、任意のm/z値に対応する強度値を高速に読み出すことができる機器分析用データ処理方法及び装置を提供することにある。【００１４】
また本発明の別の目的は、高いデータ圧縮効率を確保しつつ、例えば任意のm/z値に対応する強度値を高速に読み出せるようにマススペクトルデータを圧縮することができる機器分析用データ処理方法及び装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するために成された第１発明は、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを、その配列順に従って、予め決められた無効レベルの強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、前記無効レベル以外の有意なレベルの強度値が出現した場合にはスイッチ連長符号化を行うことにより圧縮して得られた圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するとき又は該配列番号を超えるときの連続数を特定する連続数特定ステップと、
b)前記連続数特定ステップで特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する配列番号の強度値を見つけて出力する強度値探索ステップと、
を有することを特徴としている。【００１６】
また第２発明は上記第１発明に係るデータ処理方法を実施するための装置であり、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを、その配列順に従って、予め決められた無効レベルの強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、前記無効レベル以外の有意なレベルの強度値が出現した場合にはスイッチ連長符号化を行うことにより圧縮して得られた圧縮データを処理するデータ処理装置であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理装置であって、
a)処理対象である圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの又は該配列番号を超えるときの連続数を特定する連続数特定部と、
b)前記連続数特定部により特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する配列番号の強度値を見つけて出力する強度値探索部と、
を備えることを特徴としている。【００１７】
なお、上記第１及び第２発明におけるデータ圧縮方法自体は従来から知られているものである。【００１８】
機器分析のための分析装置が液体クロマトグラフ質量分析装置（ＬＣ−ＭＳ）やガスクロマトグラフ質量分析装置（ＧＣ−ＭＳ）を含む質量分析装置である場合、所定のパラメータとはm/z値であり、測定データとはマススペクトルデータである。
分析装置がＬＣやＧＣ等のクロマトグラフ装置である場合、所定のパラメータとは時間であり、測定データとはクロマトグラムデータである。
分析装置がラマン分光分析装置やＦＴＩＲである場合、所定のパラメータとは波長（又は波数）であり、測定データとは分光スペクトルデータである。分析装置がＥＰＭＡである場合、所定のパラメータとはＸ線の波長又はエネルギーであり、測定データとはＸ線スペクトルデータである。【００１９】
いま一例として、測定データがマススペクトルデータであるとする。第１発明のデータ処理方法を実施する第２発明に係るデータ処理装置において、強度値を知りたい特定のm/z値が例えばユーザにより指定されると、連続数特定部は、処理対象である圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び、無効なレベルである強度値の連続数、を表すデータを取得し逐次的に加算する。そして、連続数を加算する毎に、その加算結果が目的とする特定のm/z値の配列番号（配列上の要素番号）に一致したか又はそれを超えたかを判定する。加算結果が目的とする特定のm/z値の配列番号に一致していれば或いは超えていれば、そのときの連続数を目的の連続数として特定する。このときには、圧縮データの配列の先頭から順に、連続数を表すデータのみを選択的に観察すればよく、有意なレベルである強度値を表すデータは無視すればよい。【００２０】
次いで強度値選択部は、上記特定された連続数が無効なレベルである強度値の連続数である場合に、無効レベル又はそれに対応付けられた特定の強度値を出力する。他方、上記特定された連続数が有意なレベルである強度値の連続数である場合には、その連続数を表すデータに続く強度値の配列の中に目的とする強度値が存在するから、その配列の先頭から順に、連続数の加算結果と目的の配列番号とに基づく数だけデータを数えることで該当する配列番号の強度値を見つけて出力する。なお、ここで「無効レベル又はそれに対応付けられた特定の強度値」とは、例えば「０」を含む特定の値、又は実際の強度値ではあり得ない所定の値とすればよい。例えば「４」以下の強度値を無効レベルとみなす場合には、「０」を含む「４」以下の値のいずれかを無効レベル又はそれに対応付けられた特定の強度値と定めればよい。【００２１】
このようにして第１及び第２発明では、圧縮データを伸張して元の測定データに戻すことなく、圧縮後の配列中において連続数を表すデータを見つけ、その連続数を加算するような簡単な処理を行うことによって、目的とする特定のパラメータ値、例えばm/z値に対応する強度値を迅速に求めることができる。【００２２】
なお、或る一つのデータが有意なレベルである強度値の連続数を表すものか、又は無効なレベルである強度値の連続数を表すものかの識別は、データの一部のビットの情報（０又は１）に基づいて行えるようにすればよい。例えば一つのデータのビット長を２バイト（１６ビット）とする場合、そのＭＳＢを無効なレベルである強度値の連続数を表すものか、それ以外を表すもの（有意なレベルである強度値の連続数を表すデータ及びその強度値を表すデータ）かの識別に用い、残りの１５ビットで連続数や強度値の数値を表せばよい。【００２３】
また、連続数が、１５ビットで表せる最大の数（３２７６７）を超えるような場合には、その最大の数までの連続数を書き込んだ後、その数を超える部分の残りの連続数を、次のデータに書込むとよい。【００２４】
上述したように第１及び第２発明では、圧縮後の配列の先頭から順に連続数を表すデータを見つけ、その連続数を加算するような簡単な処理を行うことによって、圧縮データを伸張して元の測定データに戻すことなく、目的とする特定のパラメータ値、例えばm/z値に対応する強度値を迅速に求めることができる。このことは、複数の強度値配列の全要素の加算或いは減算や、配列内の全要素の値の加算処理など、強度値配列全体を使用する処理に有効である。一方で、要素数の大きな強度値配列の末尾付近の特定の要素の強度値情報を取得する場合、一つの要素の強度値を取得するためだけに、多くの連続数の加算処理が必要になり処理時間が掛かる。【００２５】
こうした課題を解決するために成された第３発明は、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを圧縮するための機器分析用データ処理方法であって、
a)測定データの配列を所定の個数のデータ毎にブロックに区切るデータ分割ステップと、
b)ブロック毎に、当該ブロックに含まれる測定データの配列順に従って、予め決められた無効レベルである強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、前記無効レベル以外の有意なレベルである強度値が出現した場合にはスイッチ連長符号化を行うことにより、各ブロックにおける圧縮後のデータ配列を求める配列変換ステップと、
c)前記圧縮後の各ブロックのデータを並べた１次元配列上での各ブロックの先頭のデータの位置を示す配列番号の情報を集めてインデクスを作成し、前記配列変換ステップで得られた各ブロックの圧縮後のデータ配列と関連付けて保存するインデクス作成ステップと、
を有することを特徴としている。【００２６】
また第４発明は上記第３発明に係るデータ処理方法を実施するための装置であり、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを圧縮するための機器分析用データ処理装置であって、
a)測定データの配列を所定の個数のデータ毎にブロックに区切るデータ分割部と、
b)ブロック毎に、当該ブロックに含まれる測定データの配列順に従って、予め決められた無効レベルである強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、前記無効レベル以外の有意なレベルである強度値が出現した場合にはスイッチ連長符号化を行うことにより、各ブロックにおける圧縮後のデータ配列を求める配列変換部と、
c)前記圧縮後の各ブロックのデータを並べた１次元配列上での各ブロックの先頭のデータの位置を示す配列番号の情報を集めてインデクスを作成し、前記配列変換部により得られた各ブロックの圧縮後のデータ配列と関連付けて保存するインデクス作成部と、
を備えることを特徴としている。【００２７】
この第３及び第４発明では、第１及び第２発明とは異なり、データ圧縮方法自体が従来にないものである。即ち、第３発明に係る機器分析用データ処理方法では、まずデータ分割ステップにおいて、測定データの配列が所定の個数のデータを含むブロックに区切られる。そして配列変換ステップでは、ブロック毎に、そのデータの配列順に従って、予め決められた無効レベルである強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、有意なレベルである強度値が出現した場合にはスイッチ連長符号化を行うことで圧縮後の配列を求める。即ち、ブロック毎に独立して第１及び第２発明で使用されていたのと同様の圧縮処理を実施すればよい。データ数を限定したブロック単位で圧縮処理を実施するため、ブロックに区切らない場合（つまりはデータ数に制限がない場合）に比べて圧縮効率は若干低下するものの、実際上その影響は小さい。【００２８】
上述したようにブロック毎に独立に圧縮処理を行うため、一つのブロックに含まれる測定データの数は一定であるが、一つのブロックに対応する圧縮後のデータ数は一定でない。そこで、インデクス作成ステップでは、圧縮後の配列における各ブロックの先頭のデータの位置を示す識別情報、具体的には圧縮後のデータを全て並べた１次元配列上での配列番号を集めてインデクスを作成する。この場合、一つのブロックに対し一つのインデクス情報が得られるから、インデクス情報の量は圧縮前の測定データの強度値の並びや圧縮後の配列とは全く無関係である。そのため、例えばマススペクトルデータを圧縮する際に、テータ点数を左右するm/z範囲の広さはインデクスのデータ量に関係するが、観測されるピークの本数やその密度などはインデクスのデータ量に関係しない。それ故に、第３及び第４発明では、インデクスのデータ量が極端に大きくなることはなく、インデクスを含めた圧縮データの量を抑えることができる。【００２９】
第３発明において、好ましくは、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前のデータを圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求めるブロック特定ステップと、
e)前記特定されたブロックに対応する圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するとき又は該配列番号を超えるときの連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する配列番号の強度値を見つけて出力する強度値探索ステップと、
を有するものとするとよい。【００３０】
また同様に第４発明において、好ましくは、前記データ分割部、前記配列変換部、及び前記インデクス作成部の各部での処理により圧縮して得られた圧縮データを処理する機器分析用データ処理装置であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前のデータを圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求めるブロック特定部と、
e)前記特定されたブロックに対応する圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するとき又は該配列番号を超えるときの連続数を特定する連続数特定部と、
f)前記連続数特定部により特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する配列番号の強度値を見つけて出力する強度値探索部と、
を備える構成とするとよい。【００３１】
即ち、上記好ましいデータ分析方法及び装置では、複数のブロックのいずれに目的のm/z値に対応する強度値の情報が存在するのかをまず、インデクスを用いて探索する。そして、ブロックが特定されたならば、第１及び第２発明と類似した手順で、例えば目的のm/z値に対応する強度値を取得する。第１及び第２発明では、常にデータ配列の先頭から順番に連続数の情報を見つけて加算していく必要があるのに対し、この第３及び第４発明に係る好ましい方法及び装置では、一つのブロックに含まれるデータ配列の先頭から順番に連続数の情報を見つけて加算していけばよい。そのため、１ブロックに含まれるデータ数に依存するものの、ブロックに区切る際のデータ数を或る程度限定しておくことで、目的のm/z値に対応する強度値を探索する時間を短くすることができる。即ち、第１及び第２発明に比べて短い処理時間で目的とする強度値を求めることができる。【００３２】
上記第１乃至第４発明で用いられている信号の圧縮方法は、微小な強度値の信号は重要でない又は使用しなくても問題ないという前提に基づいて、強度値が所定のレベル以下である信号を連続数に置き換える非可逆的な圧縮方法である。そのため、圧縮データから元の測定データを完全に復元することは不可能である。分析の種類或いは分析の目的によっては、上記圧縮方法で連続数に置き換えられていたような微小な強度値の信号も必要になる場合がある。そうした目的に対しては、特許文献１に記載された可逆的な圧縮方法が有効である。【００３３】
即ち、上記課題を解決するために成された第５発明の第１の態様は、特許文献１に記載された圧縮方法で圧縮されたデータに上記第１発明のデータ処理方法を適用したものであり、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データのビット列を、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化による圧縮を行う一方、下位のビット列を含むデータ配列に対しては圧縮せずに得られた、複数の圧縮データ配列から成る圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である複数の圧縮データ配列のうち、前記上位のビット列に対応する圧縮データ配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
b)前記特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
c)前記下位のビット列に対応する圧縮データ配列において特定のパラメータ値に対応する配列番号から下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴としている。【００３４】
また上記課題を解決するために成された第５発明の第２の態様は、上記第１の態様と同様に、特許文献１に記載された圧縮方法で圧縮されたデータに上記第１発明のデータ処理方法を適用したものであり、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データのビット列を、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化による圧縮を行う一方、下位のビット列を含むデータ配列に対して静的ハフマン符号化による圧縮を行うことで得られた、複数の圧縮データ配列から成る圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である複数の圧縮データ配列のうち、前記上位のビット列に対応する圧縮データ配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
b)前記特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
c)処理対象である複数の圧縮データ配列のうち、前記下位のビット列に対応する圧縮データ配列を全て伸張し、その伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴としている。【００３５】
この場合、下位ビットは静的ハフマン符号により圧縮されているので、第１の態様で使用されている圧縮方法に比べると圧縮効率は高まるが、その反面、伸張処理により全ての下位ビット配列を元に戻してから目的とする特定のパラメータ値に対する下位ビットの値を探す必要があるので処理時間の点では不利である。【００３６】
また上記課題を解決するために成された第６発明は、特許文献１に記載された圧縮方法と上記第３発明のデータ処理方法における圧縮方法とを組み合わせたものであり、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを圧縮するための機器分析用データ処理方法であって、
a)測定データの配列を所定の個数のデータ毎にブロックに区切るデータ分割ステップと、
b)ブロック毎に、当該ブロックに含まれる測定データのビット列をそれぞれ、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、そのブロック毎に、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化を行う一方、下位のビット列を含むデータ配列に対してはそのまま又は静的ハフマン符号化を行うことで、各ブロックにおける圧縮後の複数のデータ配列を求める配列変換ステップと、
c)前記圧縮後の各ブロックの複数のデータ配列について、データを並べた１次元配列上での各ブロックの先頭のデータの位置を示す配列番号の情報を集めてインデクスを作成し、前記配列変換ステップで得られた各ブロックの圧縮後の複数のデータ配列と関連付けて保存するインデクス作成ステップと、
を有することを特徴としている。【００３７】
また第７発明は、上記第６発明に係るデータ処理方法を実施するための装置であり、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを圧縮するための機器分析用データ処理装置であって、
a)測定データの配列を所定の個数のデータ毎にブロックに区切るデータ分割部と、
b)ブロック毎に、当該ブロックに含まれる測定データのビット列をそれぞれ、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、そのブロック毎に、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化を行う一方、下位のビット列を含むデータ配列に対してはそのまま又は静的ハフマン符号化を行うことで、各ブロックにおける圧縮後の複数のデータ配列を求める配列変換部と、
c)前記圧縮後の各ブロックの複数のデータ配列について、データを並べた１次元配列上での各ブロックの先頭のデータの位置を示す配列番号の情報を集めてインデクスを作成し、前記配列変換部により得られた各ブロックの圧縮後の複数のデータ配列と関連付けて保存するインデクス作成部と、
を備えることを特徴としている。
この第６発明及び第７発明でも、第３発明及び第４発明と同じような効果を達成することができる。【００３８】
また上記第６発明において、好ましくは、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する圧縮が行われていない圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
g)特定のパラメータ値に対応する配列番号から下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有するものとするとよい。【００３９】
一方、下位ビットのデータ配列がハフマン符号化されている場合には、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する静的ハフマン符号化が圧縮が行われている圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
g)前記インデクスのうち下位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の下位のビット列が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第２ブロック特定ステップと、
h)前記第２ブロック特定ステップで特定されたブロックに対応する下位ビット由来の圧縮データ配列を全て伸張し、そのあと特定のパラメータ値に対応する配列番号とそのブロックの先頭の配列番号の差分をもとに、伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有するものとするとよい。
【発明の効果】
【００４０】
第１、第２、及び第５発明によれば、マススペクトルデータ等の測定データが圧縮された状態である圧縮データから、任意のm/z値などの任意のパラメータ値に対応する強度値を高速に取得することができる。これにより、例えばイメージング質量分析装置で収集された多数の測定点毎のマススペクトルデータに基づいて、任意のm/z値におけるイメージング画像を短時間で作成して表示させることができる。【００４１】
また第３、第４、及び第６発明によれば、高いデータ圧縮効率を確保しながら、第１、第２、及び第５発明よりもさらに高速に、つまりは短い処理時間で以て任意のm/z値等に対応する強度値を取得することができる。
【図面の簡単な説明】
【００４２】
【図１】本発明に係る機器分析用データ処理装置の一実施例を用いたイメージング質量分析システムの概略構成図。
【図２】本発明に係る機器分析用データ処理装置の別の実施例を用いたイメージング質量分析システムの概略構成図。
【図３】第１のデータ圧縮方法の原理説明図。
【図４】第１のデータ圧縮方法における圧縮データから特定のm/z位置の強度値を求める際の処理手順の説明図。
【図５】第２のデータ圧縮方法の原理説明図。
【図６】第２のデータ圧縮方法における圧縮データから特定のm/z位置の強度値を求める際の処理手順の説明図。
【図７】第１のデータ圧縮方法における圧縮データから特定のm/z位置の強度値を求める際の処理の流れを示すフローチャート。
【図８】第１のデータ圧縮方法における圧縮データから特定のm/z範囲の積算強度値を求める際の処理の流れを示すフローチャート。
【図９】第２のデータ圧縮方法における圧縮データから特定のm/z位置の強度値を求める際の処理の流れを示すフローチャート。
【図１０】第２のデータ圧縮方法における圧縮データから特定のm/z範囲の積算強度値を求める際の処理の流れを示すフローチャート。
【図１１】第２のデータ圧縮方法における圧縮データから多変量解析等のためのデータ行列を作成する際の処理の流れを示すフローチャート。
【図１２】第２のデータ圧縮方法における圧縮データからm/z軸上でビニングされたデータ行列を作成する際の処理の流れを示すフローチャート。
【図１３】第２のデータ圧縮方法における圧縮データからm/z軸上でビニングされたデータ行列を作成する際の処理の流れを示すフローチャート（図１１のフローチャートの続き）。
【図１４】第３のデータ圧縮方法の原理説明図。
【図１５】第４のデータ圧縮方法の原理説明図。
【発明を実施するための形態】
【００４３】
以下、本発明に係る機器分析用データ処理方法及び装置の実施例について図面を参照しつつ説明する。
以下の例では、機器分析を実施する分析装置が質量分析装置であり、得られる測定データはマススペクトルデータである。なお、飛行時間型質量分析装置の場合には、分析を実行することでまず飛行時間スペクトルが得られ、飛行時間を質量電荷比に換算することでマススペクトルが得られる。したがって、飛行時間を質量電荷比に換算する前の飛行時間スペクトルを構成するデータもマススペクトルデータとみなすことができる。但し、後述するように、本発明を適用可能な分析装置はこれに限るものではない。
【００４４】
［第１の圧縮方法］
本発明に関連する第１の圧縮方法の原理について、図３を参照して説明する。
図３（Ｃ）はマススペクトルデータにより作成されるマススペクトルの一例である。横軸はm/z値、縦軸が強度値であり、このマススペクトルを構成するマススペクトルデータは、離散的なm/z値にそれぞれ対応する強度値の１次元配列で表すことができる。即ち、例えばm/z範囲が１〜２０００であるとすると、（m/z １，m/z ２，m/z ３，…，m/z １９９９，m/z ２０００）というm/z値の１次元配列と、これに対応する（０，１２３，３，…，１３，０）などの強度値の１次元配列とが、マススペクトルデータとして得られる。
【００４５】
よく知られているようにマススペクトルには様々な要因によるノイズが重畳し、このノイズが微小なピークとして観測される。この微小なピークは例えば化合物の同定や定量、或いはイメージング質量分析装置における特定の化合物の２次元強度分布の把握などの際に不要な、むしろ邪魔になるものである。そこで、圧縮処理前の一種のノイズ除去処理として、所定のレベル以下である強度値を無効なデータに置き換える。図３（Ａ）では、この置き換えられた無効データを「＊」で示している。例えば、「４」以下である強度値が無効であると定義すれば、図３（Ａ）において「＊」で示されているデータは元の強度値が「０」〜「４」のいずれかである。また、質量分析装置の検出器への入力（イオン量）が過大であり検出器出力が飽和している可能性があるような場合には、強度値が予め定めた上限値であるときに、その強度値も無効データとして扱うようにするとよい。即ち、強度値がノイズとみなせる程度に小さい場合のみならず、強度値が検出器のダイナミックレンジを超えるような過大な状態である場合にも、強度値を無効データとするとよい。
【００４６】
図３（Ａ）に示すように１次元に配列された強度値を圧縮する際には、その配列の先頭から順に各強度値をチェックしていき、有意な強度値が一以上連続している場合には、その先頭にその有意である強度値が連続している連続数の情報を記録し、それに引き続いてその有意な強度値の配列をそのまま記録する。したがって、有意な強度値がｎ個連続すると、そのｎ個の強度値はｎ＋１個のデータ配列に置き換わる。図３（Ａ）の例では、配列の先頭に有意な強度値が一つだけ存在するから、圧縮により、先頭に連続数として「１」を記録し、それに引き続いて有意な強度値「１５」をそのまま記録する。また、「１１」、「５７」、「１５」という三つの強度値が連続する配列は、「３」、「１１」、「５７」、「１５」という四つのデータに置き換わる。
【００４７】
一方、無効である強度値が連続する場合には、その強度値が何個であっても、その無効である強度値全体を無効である強度値の連続数の一つの値に置き換える。図３（Ａ）の例では、２番から１４番までの配列番号のデータは全て無効データであるから、その１３個のデータがまとめて一つの「１３」という連続数を表すデータに置き換えられる。即ち、これによってデータ量は大幅に削減される。
【００４８】
但し、単に上記のような処理を行っただけでは、無効データの連続数と有意なデータの連続数との識別ができない。そこで、一つのデータを２バイト（２×８ビット＝１６ビット）のビット長で表す場合、その１６ビット中の下位１５ビットで連続数の数値を表し、最上位のビット（ＭＳＢ）を、有意である強度値の連続数であるか、無効である強度値の連続数であるのかを識別するための識別子として使用するとよい。具体的には、ＭＳＢが「１」であるとき下位１５ビットデータは有意である強度値の連続数又はその連続数に引き続く強度値を表し、ＭＳＢが「０」であるとき下位１５ビットデータは無効な強度値の連続数を表すと定義すればよい。図３（Ｂ）では、ＭＳＢが「０」であるデータの上に「０」を記載している。
【００４９】
なお、上述した手順で圧縮を行う代わりに、特許文献１に記載の方法の一部を利用しても、結果的に同じような配列の圧縮後データを生成することができる。
【００５０】
なお、上述したような圧縮後のデータ配列における各データのサイズ（ビット長）は等しいことが望ましい。一方、強度値の最大ビット長はその強度値の上限又はダイナミックレンジで決まるのに対し、連続数の値はm/z範囲やm/z値軸上のm/z値間隔で決まり、強度値の最大ビット長に比べてかなり大きくなる可能性がある。そこで、圧縮データ配列において連続数の最大ビット長を考慮して一つのデータサイズを決めると、かなり無駄が生じる可能性がある。そこで、例えば圧縮データ配列上の一つの要素のデータサイズは８ビット（１バイト）とし、それに収まらない可能性がある連続数を示す値は複数（例えば２個）の要素を使用するようにしてもよい。後述するように、本圧縮方法による圧縮後のデータから特定のm/z値における強度値を求める際には、圧縮後のデータ配列の先頭から順次、データを確認しながら連続数を読み取る。そのため、或る一つの連続数の次に連続数が格納されている位置を特定することができる。これにより、有意な強度値そのものが格納されている要素と連続数の値が格納されている要素とを明確に区別することができる。そのため、データの先頭及び連続数の格納位置に該当する部分では、連続する二つの要素に格納されているデータのそれぞれのビット列を上位ビットと下位ビットとして組み合わせて１６ビットの連続数を示す情報として取り扱うことができる。
【００５１】
また、マススペクトルの強度値は整数型データでなく浮動小数点型データであってもよい。例えば強度値が３２ビットの浮動小数点型データで格納されている場合、圧縮後の配列のデータサイズも３２ビットとするが、連続数が格納されている要素だけは３２ビットの整数型として取り扱えばよい。
【００５２】
［第１の圧縮方法による圧縮データから特定のm/z値に対応する強度値を取得する方法］
図４は、上述した第１のデータ圧縮方法による圧縮後のデータから、特定のm/z値に対応する強度値を求める際の概略的な手順を説明した図である。
【００５３】
強度値を求めたい特定のm/z値が指定されると、上述したm/z値の配列の情報から、非圧縮データ配列上での特定のm/z値における強度値の位置、つまり配列番号が判明する。いまこの例では、図４（Ａ）中に矢印で示すように、非圧縮配列データ上での目的の強度値の位置を示す配列番号は「１６」であるものとする。
【００５４】
図４（Ｂ）に示す圧縮データの配列上で先頭から、連続数を示す値を順番に見つけ、その連続数を逐次加算する。具体的には、先頭のデータは必ず連続数であるから、この連続数の値「１」から、次の連続数を示すデータは３番目に位置していることが分かる。そこで、最初の連続数「１」に３番目のデータで示される連続数「１３」を加算する。この連続数は無効データの連続数であるから、次の４番目のデータは有意なデータの連続数を表す。そこで、この４番目のデータで示される連続数「３」をさらに加算すると、加算結果は「１７」となり、非圧縮データ配列上で目的の強度値が存在している配列番号「１６」を超える。そこで、その時点で最後に加算した連続数が格納されている位置に引き続く三つの強度値の中に目的の強度値が存在する。
【００５５】
その直前の連続数の加算値は「１４」であるから、有意な強度値の連続数「３」に続く三つの強度値は、非圧縮データ配列上の配列番号が「１５」、「１６」、及び「１７」であることが分かる。そこで、この中で配列番号が「１６」である位置にある（図４（Ｂ）中の下線矢印で示す）強度値「５７」を選択し、これを目的とする特定のm/z値に対応する強度値として出力すればよい。
【００５６】
このように、圧縮データの配列の先頭から順番に連続数を見つけて加算していき、その加算結果と非圧縮データ配列上での配列番号とから、目的の強度値を見つけることができる。したがって、圧縮データを伸張して元のデータに戻すことなく、目的とする特定のm/z値に対応する強度値を迅速に見つけ出すことができる。
【００５７】
［第１の圧縮方法を採用した第１実施例のイメージング質量分析システムの構成］
図１は、上述した第１の圧縮方法をデータ保存に利用した、第１実施例のイメージング質量分析システムの概略構成図である。
このイメージング質量分析システムは、試料上の２次元領域内の多数の測定点についてそれぞれ質量分析を実行してマススペクトルデータを取得するイメージング質量分析部１と、データ圧縮処理等のデータ処理を実施するデータ処理部２と、該データ処理部２により圧縮されたデータを保存するデータ保存部３と、ユーザが操作する操作部４と、分析結果等を表示する表示部５と、を備える。データ処理部２の実体はパーソナルコンピュータであり、機能ブロックとして、スペクトルデータ収集部２０、メインメモリ２１、データ圧縮処理部２２、データ伸張処理部２３、データ読み出し処理部２５、イメージング画像作成処理部２６などを含む。また、データ保存部３は圧縮データ記憶領域３０を有する。
【００５８】
スペクトルデータ収集部２０は、イメージング質量分析部１において測定点毎に得られたマススペクトルデータを読み込み、メインメモリ２１若しくは図示しない外部のハードディスク等の補助記憶装置、又はデータ保存部３において図示した記憶領域３０以外の領域に一時的に格納する。データ圧縮処理部２２は上述した第１の圧縮方法により、各測定点に対するマススペクトルデータをそれぞれ圧縮してデータ保存部３の圧縮データ記憶領域３０に格納する。例えば特定の測定点における圧縮データからマススペクトルを再現して表示する場合には、データ伸張処理部２３は操作部４を通して指定された測定点に対応する圧縮データをデータ保存部３から読み出し、圧縮時とは逆の伸張処理を実施してマススペクトルを再現し表示部５の画面上に表示する。但し、上記圧縮方法では無効であるレベルの信号を除去しているから、伸張処理により再現されたマススペクトルは測定により得られたマススペクトルそのものではない。
【００５９】
例えば操作部４を通して特定のm/z値におけるイメージング画像を表示するように指示がなされると、データ読み出し処理部２５はデータ保存部３から圧縮データを読み出してきて、各測定点において指定されたm/z値に対応する強度値を取得する。この際には上記及び後述する手順で、伸張処理を実施することなく目的の強度値を読み出すことができる。イメージング画像作成処理部２６は各測定点における強度値に基づいてイメージング画像を作成し、表示部５の画面上に表示する。m/z値の１次元配列は全ての測定点に共通であるから、非圧縮データ配列上で特定のm/z値に対応する配列番号は同じである。そのため、測定点毎に目的とする強度値を迅速に読み出すことができ、特定のm/z値におけるイメージング画像も短時間で作成することができる。
【００６０】
［特定のm/z値に対応する強度値を取得する際の詳細な処理］
図７は、第１実施例のイメージング質量分析システムにおいて特定のm/z位置の強度値を求める際にデータ読み出し処理部２５で実施される詳細な処理を示すフローチャートである。ここで、Ｓは非圧縮データ配列上において強度値を取得したいデータが位置する配列番号である。これはm/z値の１次元配列の情報から既知である。Ｕは現在着目している非圧縮データ配列上における配列番号を示す変数である。また、Ｐは現在着目している圧縮データ配列上における配列番号を示す変数である。
【００６１】
なお、圧縮の原理等を説明した上記図３、図４のほか、後述する図５、図６、図１４、及び図１５では、データ配列上のデータの順序を分かり易く示すために、配列番号をその配列の先頭から１、２、…としている。しかしながら、よく知られているように、コンピュータ等を用いたデジタル信号処理の分野では、上述したような連続番号が付されたデータを処理する場合に、その先頭のデータの番号は０であるとして処理を実施するのが一般的である。本実施例の装置においても、装置の内部やソフトウェアにおいては、データ配列上の先頭の位置にあるデータの配列番号が０であるとして処理を実施する。そのため、以下の図７〜図１２に示すフローチャートでは、実際の装置の内部処理に対応して、データ配列の先頭の位置にあるデータの配列番号が０であることを前提としている。したがって、これらフローチャートにおける配列番号は、図３〜図６、図１４、及び図１５中の配列番号から１を減じたものとなる。
【００６２】
まず、初期設定として変数Ｕを初期値で０に設定する（ステップＳ１０１）。また、変数Ｐを圧縮データ配列の先頭の位置（つまりは「１」）に設定する（ステップＳ１０２）。次に、変数Ｐの位置にあるデータの値Ｖを取得し（ステップＳ１０３）、この値ＶのＭＳＢが「１」であるか否かを判定する（ステップＳ１０４）。ＭＳＢが「１」であれば、値Ｖは有意な強度値の連続数を示す。そこで、ＭＳＢが「１」であれば（Ｓ１０４でＹｅｓ）、値ＶからＭＳＢを除外した残りのビットで表される値を、その時点での変数Ｕの値に加算する（ステップＳ１０５）。一方、ステップＳ１０４でＮｏと判定される場合には、値ＶのＭＳＢは「０」であり、それは値Ｖが無効である強度値の連続数であることを意味する。そこで、その値Ｖをそのままその時点での変数Ｕの値に加算する（ステップＳ１０９）。但し、実際にはステップＳ１０９においてＭＳＢを除外して加算しても結果は同じである。
【００６３】
ステップＳ１０１で変数Ｕは０に設定されているから、初めてステップＳ１０５又はＳ１０９のいずれかの処理が実行されるときには、そのＳ１０５又はＳ１０９において加算される値がそのまま変数Ｕの値になる。図４に示した例で言えば、初めてステップＳ１０４が実施されるときＳ１０４ではＹｅｓと判定され、次のステップＳ１０５の処理で変数Ｕの値は「０」から「１」になる。
【００６４】
ステップＳ１０５の実行後、値ＶからＭＳＢを除外した残りのビットで表される値に１を加算した値が、変数Ｐの値に加算される。これにより、圧縮データ配列上で着目しているデータの現在位置が進められる（ステップＳ１０６）。図４に示した例では、値ＶからＭＳＢを除外した残りのビットで表される値は「１」であるから、これに１を加算した「２」だけ圧縮データ配列上で着目しているデータの位置が３番目まで進められる。これは、有意である強度値を示すデータをスキップする、つまりは観測しないことを意味する。そして、変数Ｕの値が目的とする配列番号Ｓよりも大であるか否かを判定し（ステップＳ１０７）、ＮｏであればステップＳ１０７からＳ１０３に戻る。
【００６５】
一方、無効データの連続数を示すデータの次のデータは有意な強度値の連続数を示すデータであるから、ステップＳ１０９の実行後には、変数Ｐの値を１だけ増加させる。これにより、圧縮データ配列上で着目しているデータの現在位置が１だけ進められる（ステップＳ１１０）。そのあと、ステップＳ１０７と同様に、変数Ｕの値が目的とする配列番号Ｓよりも大であるか否かを判定し（ステップＳ１１１）、ＮｏであればステップＳ１１１からＳ１０３に戻る。ステップＳ１０７又はＳ１１１からＳ１０３に戻った場合には、上述したステップＳ１０３〜Ｓ１０７、Ｓ１０９〜Ｓ１１１の処理を繰り返す。これにより、圧縮データ配列上で連続数を示すデータのみを選択しながら、目的の配列番号のデータの位置を探索することができる。
【００６６】
ステップＳ１０７でＹｅｓと判定されたときには、そのときの連続数は有意な強度値の連続数である。このときには、圧縮データ配列上で、その時点での変数Ｐで示される位置から［変数Ｕの値−目的の配列番号Ｓ］だけ戻った位置にあるデータの値を取得する。即ち、ステップＳ１０７でＹｅｓと判定されたときの連続数のあとに記録されている有意な強度値の配列の中から、目的とする配列番号に相当する位置の強度値を取得する。そしてその取得した値を目的とするm/z値に対応する強度値として出力する（ステップＳ１０８）。
【００６７】
一方、ステップＳ１１１でＹｅｓと判定されたときには、そのときの連続数は無効である強度値の連続数である。このときには、無条件に、無効値として定義されている値を目的とするm/z値に対応する強度値として出力する（ステップＳ１１２）。
以上のようにして、圧縮データを伸張することなく、目的とする特定のm/z値に対応する強度値を取得することができる。
【００６８】
［特定のm/z範囲に対応する強度積算値を取得する際の処理］
イメージング画像を表示する際に、特定の一つのm/z値ではなく特定のm/z範囲に含まれる複数の強度値を積算した強度積算値のイメージング画像を作成したい場合がある。図８は、特定のm/z範囲に含まれる複数の強度値を積算した強度積算値を取得する際にデータ読み出し処理部２５で実施される詳細な処理を示すフローチャートである。
【００６９】
ここで、Ｓsは非圧縮データ配列上において積算対象であるm/z範囲の下限に対応する強度値のデータが位置する配列番号であり、Ｓeは同じく積算対象であるm/z範囲の上限に対応する強度値のデータが位置する配列番号である。これらはm/z値の１次元配列の情報から既知である。また、Ｃは積算データ点数を計数するカウンタの計数値である。また、Ｕ、Ｐは現在着目している非圧縮データ配列上における配列番号を示す変数、及び、現在着目している圧縮データ配列上における配列番号を示す変数である。
【００７０】
まず、カウンタの計数値Ｃを下限の配列番号Ｓsに設定するとともに変数Ｕを０に設定する（ステップＳ２０１）。そのあとのステップＳ２０２〜Ｓ２０７、Ｓ２１２〜Ｓ２１４の各ステップの処理は、図７中のステップＳ１０２〜Ｓ１０７、Ｓ１０９〜Ｓ１１１の各ステップの処理と同じである（但し、ステップＳ２０７、Ｓ２１４中で変数Ｕと比較する対象がカウンタＣの計数値に変更される）ので説明を省略する。
【００７１】
ステップＳ２０７でＹｅｓと判定されたときには、圧縮データ配列上で、その時点での変数Ｐで示される位置から［変数Ｕの値−目的の配列番号Ｓ］だけ戻った位置にあるデータの値を取得する。即ち、ステップＳ２０７でＹｅｓと判定されたときの連続数のあとに記録されている有意な強度値の配列の中から、目的とする配列番号に相当する位置の強度値を取得する。そしてその取得した値を強度積算値に加算する（ステップＳ２０８）。そのあと、カウンタの計数値Ｃを１だけカウントアップする（ステップＳ２０９）。そして、その計数値Ｃが変数Ｕの値以上であるか否かを判定し（ステップＳ２１０）、ＹｅｓであればステップＳ２１０からＳ２０３に戻る。ステップＳ２１０でＮｏであれば、計数値Ｃが上限の配列番号Ｓeを超えているか否かを判定し（ステップＳ２１１）、ＮｏであればステップＳ２０８へ戻る。ステップＳ２１１でＹｅｓであれば、積算すべき強度値が全て積算されているので処理を終了する。
【００７２】
一方、ステップＳ２１４でＹｅｓと判定されたときには、そのまま、つまり積算を行わずにカウンタの計数値Ｃを１だけカウントアップする（ステップＳ２１５）。そして、その計数値Ｃが変数Ｕの値以上であるか否かを判定し（ステップＳ２１６）、ＹｅｓであればステップＳ２１６からＳ２０３に戻る。ステップＳ２１６でＮｏであれば、計数値Ｃが上限の配列番号Ｓeを超えているか否かを判定し（ステップＳ２１７）、ＮｏであればステップＳ２１５へ戻る。ステップＳ２１７でＹｅｓであれば、積算すべき強度値が全て積算されているので処理を終了する。
以上のようにして、圧縮データを伸張することなく、目的とする特定のm/z範囲に対応する複数の強度値を積算した強度積算値を取得することができる。
【００７３】
特定のm/z値又は特定のm/z範囲のイメージング画像を作成して表示するには、m/z値の１次元配列の情報を利用して特定のm/z値に対応する配列番号、又は特定のm/z範囲の下限と上限にそれぞれ対応する配列番号を求める。そして、各測定点におけるマススペクトルデータがそれぞれ圧縮された圧縮データ配列から、上記手順に従って目的とする特定のm/z値に対応する強度値又は目的とする特定のm/z範囲に対応する強度積算値を取得する。そして、複数の測定点における強度値又は強度積算値に基づいてイメージング画像を作成してこれを表示部５の画面上に表示する。
【００７４】
［第２の圧縮方法］
次に、本発明に関連する第２の圧縮方法の原理について、図５を参照して説明する。
上記第１の圧縮方法はインデクスを使用しない圧縮方法であるため、データ量を削減するには有利であるものの、特定のm/z値に対応する強度値を取得する際に、圧縮データ配列の先頭から順に連続数を加算しなければならず、m/z範囲が広いマススペクトルデータにおいて高m/z領域の強度値を取得するときに時間が掛かる場合がある。この点を改善したのが第２の圧縮方法である。
【００７５】
元のマススペクトルデータにおける強度値の配列において、その強度値のレベルが所定以下であるデータを無効データとする前処理を行う点は第１の圧縮方法と同様である。図５（Ａ）はそうした前処理後の非圧縮データ配列の一例である。特徴的であるのは、この非圧縮データ配列をそのまま圧縮処理するのではなく、一定のデータ数を含むブロックに区分し、そのブロック毎に独立に圧縮を行う点である。図５の例では、各ブロックが１０００個のデータを含むようにデータ配列を区分している。
【００７６】
上記のように区分されたブロック毎に独立に、第１の圧縮方法と同様の手順で圧縮する。即ち、各ブロックの先頭のデータから順に、有意である強度値が連続していれば、その連続数を先頭に配置し、それに続いて強度値の配列を配置する。これにより、ｎ個連続する有意な強度値はｎ＋１個のデータ配列に置き換わる。一方、無効である強度値が連続していれば、その数に依らず、その連続した無効である強度値を１個の連続数を示すデータに置き換える。これにより、例えば図５（Ａ）に示す１個のブロックに含まれる１０００個のデータから成る配列は７個のデータに置き換わる。
【００７７】
また、圧縮データの配列上で各ブロックの先頭のデータの位置である配列番号を集めて１次元配列を作成し、これをインデクス情報として圧縮データの配列と共に保存する。図５の例では、各ブロックの先頭のデータの配列番号は「１」、「８」であるから、これらがインデクス情報となる。この圧縮方法では、非圧縮のデータ配列をブロックに区切るため、例えば連続している無効な強度値が二つのブロックに分けられてしまい、その分だけ第１の圧縮方法に比べて圧縮効率が下がる可能性がある。また、インデクスを作成するのでその分のデータ量も増加し、その点でも圧縮効率が下がる可能性がある。しかしながら、後述するように第１の圧縮方法に比べて実際のデータ量の増加はそれほど多くなく、十分に許容できる程度である。
【００７８】
［第２の圧縮方法による圧縮データから特定のm/z値に対応する強度値を取得する方法］
図６は、上述した第２のデータ圧縮方法による圧縮後のデータから、特定のm/z値に対応する強度値を求める際の概略的な手順を説明した図である。
【００７９】
強度値を求めたい特定のm/z値が指定されると、上述したm/z値の配列の情報から、非圧縮データ配列上での特定のm/z値における強度値の位置、つまり配列番号が判明する。いまこの例では、図６（Ａ）中に矢印で示すように、非圧縮配列データ上での目的の強度値の位置を示す配列番号は「１００３」であるものとする。
【００８０】
非圧縮配列データ上で配列番号が「１００３」である強度値を図６（Ｂ）に示す圧縮データの配列上で探索する際には、まずインデクスを利用する。即ち、インデクスには圧縮データ配列上で各ブロックの先頭の位置の情報が格納されている。そこで、インデクスにおける１次元配列上の配列番号から１を減じ、それに１ブロック当たりの非圧縮時のデータ数（ここでは１０００）を乗じたあとに１を加算すると、非圧縮データ配列上の各ブロックの先頭の配列番号が求まる。図６の例では、インデクスにおける１次元配列上で配列番号が「２」の位置にインデクス情報として「８」が格納されているが、この配列番号「２」から１を差し引いて１０００を乗じて１を加算すると「１００１」と求まる。したがって、圧縮データ配列上での配列番号「８」は非圧縮データ配列上の配列番号「１００１」に対応することが分かる。そこで、圧縮データ配列上での配列番号「８」のデータが非圧縮データ配列上の配列番号「１００１」に相当するデータであると対応付けて、第１の圧縮方法で利用した読み出し方法により目的とするm/z値に対応する強度値を探索すればよい。
【００８１】
図６の例では、圧縮データ配列上での配列番号「８」のデータはＭＳＢが「０」であるから、無効データの連続数を示していることが分かる。この連続数は「４」であるから、非圧縮データ配列上の配列番号「１００３」はこれに含まれる。そのため、非圧縮データ配列上の配列番号「１００３」のデータは無効な強度値であることが分かる。このように、インデクスを利用して各ブロックの先頭の位置を見つけることより、無効な強度値の連続数及び有意な強度値の連続数の情報を読み取って加算する作業は、目的とするm/z値に対応するデータが含まれるブロックの先頭から始めればよい。即ち、この場合には、最大で非圧縮の１０００個分データに相当する圧縮後の配列についてのみ上記作業を行えばよく、圧縮データ配列全体の先頭から順に上記作業を行う場合に比べて探索時間を短縮することができる。
【００８２】
第２の圧縮方法ではインデクスが付加されており、上記処理では目的とする強度値を探索する際にインデクスを利用しているが、インデクスを用いなくても第１の圧縮方法による圧縮データに対するデータ処理と同様の手法により、目的とする強度値を読み出すことができる。このように、インデクスを除く圧縮データ部分のみを使用した場合には、インデクスを利用した必要最低限のブロック内の処理による高速化は行えないものの、通常の伸長処理を行った後のデータ処理や、第１の圧縮方法による圧縮データに対するデータ処理との、処理の互換性が確保できるという利点がある。それにより、例えば第１の圧縮方法による圧縮データに対するデータ処理を行うためのソフトウェアしか搭載していない装置であっても、第２の圧縮方法による圧縮データから目的のm/z値に対応する強度値を取得する等、例えばイメージング質量分析データの解析に最低限必要な処理を実施することができる。また、保存されているインデクス情報が破損して読み出せない状況であっても、、必要なデータ処理が可能である。
【００８３】
［第２実施例のイメージング質量分析システムの構成］
図２は、上述した第２の圧縮方法をデータ保存に利用した、第２実施例のイメージング質量分析システムの概略構成図である。
このイメージング質量分析システムにおいて上記第１実施例のイメージング質量分析装置における構成要素と同じ又は相当する構成要素については同じ符号を付して説明を省略する。このイメージング質量分析システムでは、データ処理部２にインデクス作成処理部２４が付加され、データ保存部３にインデクス記憶領域３１が設けられている。
【００８４】
スペクトルデータ収集部２０は、イメージング質量分析部１において測定点毎に得られたマススペクトルデータを読み込み、メインメモリ２１若しくは図示しない外部のハードディスク等の補助記憶装置、又はデータ保存部３において図示した記憶領域３０以外の領域に一時的に格納する。データ圧縮処理部２２は上述した第２の圧縮方法により、各測定点に対するマススペクトルデータを所定数のデータを含む複数のブロックに区分したうえで、ブロック毎にそれぞれ圧縮を行ってデータ保存部３の圧縮データ記憶領域３０に格納する。また、インデクス作成処理部２４は、データ圧縮処理部２２によるブロック単位での圧縮毎に、上述したようにブロック先頭の位置情報を収集してインデクスを作成する。そして、作成したインデクスをデータ保存部３のインデクス記憶領域３１に格納する。
【００８５】
例えば特定の測定点における圧縮データからマススペクトルを再現して表示する場合には、データ伸張処理部２３は操作部４を通して指定された測定点に対応する圧縮データとそれに対応するインデクスとをデータ保存部３から読み出し、圧縮時とは逆の伸張処理を実施してマススペクトルを再現し表示部５の画面上に表示する。また、例えば操作部４を通して特定のm/z値におけるイメージング画像を表示するように指示がなされると、データ読み出し処理部２５はデータ保存部３から圧縮データとそれに対応するインデクスを読み出してきて、各測定点において指定されたm/z値に対応する強度値を取得する。この際には上記及び後述する手順で、伸張処理を実施することなく目的の強度値を読み出すことができる。イメージング画像作成処理部２６は各測定点における強度値に基づいてイメージング画像を作成し、表示部５の画面上に表示する。
【００８６】
［特定のm/z値に対応する強度値を取得する際の詳細な処理］
図９は、第２実施例のイメージング質量分析システムにおいて特定のm/z位置の強度値を求める際にデータ読み出し処理部２５で実施される詳細な処理を示すフローチャートである。ここで、Ｓ、Ｕ、Ｐはすでに図７で説明した定義と同じである。またＮは圧縮前の１ブロックのデータ数である。図５、図６の例ではＮ＝１０００である。
【００８７】
まず、強度値を確認したいm/z値に対応する非圧縮データ配列上の配列番号Ｓとインデクスとを利用して、配列番号Ｓよりも配列番号の小さな、ブロックの先頭の配列番号を見つける。そして、その配列番号から１を減じた値を変数Ｕの初期値に設定する（ステップＳ３０１）。上述したように目的とするm/z値の配列番号が「１００３」である場合には、変数Ｕの値は１０００となる。次に、インデクスの配列上で（Ｕ／Ｎ）＋１番目のデータから、圧縮データ配列における上記ブロックの先頭の配列番号（図５、図６の例では「８」）を取得する（ステップＳ３０２）。そして、その取得した値を変数Ｐに設定する（ステップＳ３０３）。このステップＳ３０１〜Ｓ３０３の処理により、圧縮データ配列上で連続数を読み出し始める先頭の位置が決まる。
【００８８】
ステップＳ３０４〜Ｓ３１３の各処理は図７に示したステップＳ１０３〜Ｓ１１２の各処理と基本的に同じであるため、詳しい説明は省略する。即ち、第１の圧縮方法による圧縮データに対する処理との相違は、目的とする特定のm/z値に対応する強度値の配列号を探索する際の初期値が、圧縮データの全配列の先頭であるか、或いは、当該するm/z値に対応する強度値が含まれているブロックの先頭であるか、という点のみである。この場合には、探索範囲が一つのブロック内に限定されるため、短時間で目的とする強度値を取得することができる。
【００８９】
［特定のm/z範囲に対応する強度積算値を取得する際の処理］
図１０は、第２実施例のイメージング質量分析システムにおいて特定のm/z範囲に含まれる複数の強度値を積算した強度積算値を取得する際にデータ読み出し処理部２５で実施される詳細な処理を示すフローチャートである。Ｓs、Ｓe、Ｎ、Ｃ、Ｕ、Ｐの定義はこれまでの説明と同じである。また、図１０においてＱで示す部分は図８中でＱで示すステップと同じである。
【００９０】
まず、強度値を確認したいm/z範囲の下限に対応する非圧縮データ配列上の配列番号Ｓsとインデクスとを利用して、配列番号Ｓsよりも配列番号の小さな、ブロックの先頭の配列番号を見つける。そして、その配列番号から１を減じた値を変数Ｕの初期値に設定する（ステップＳ４０１）。カウンタの計数値Ｃを下限の配列番号Ｓsに設定する（ステップＳ４０２）。次に、インデクスの配列上で（Ｕ／Ｎ）＋１番目のデータから、圧縮データ配列における上記ブロックの先頭の配列番号を取得する（ステップＳ４０３）。そして、その取得した値を変数Ｐに設定する（ステップＳ４０４）。このステップＳ４０１〜Ｓ４０４の処理により、圧縮データ配列上で連続数を読み出し始める先頭の位置が決まる。
【００９１】
そのあとのステップＳ４０５〜Ｓ４１１、Ｓ４１４〜Ｓ４１７及びＱに含まれる各ステップの処理は、図８中のステップＳ２０３〜Ｓ２１７の各ステップの処理と同じであるので説明を省略する。この場合にも、目的とするm/z範囲に対応する強度値を探索するブロックが限られるので、短時間で目的とする強度積算値を取得することができる。
【００９２】
特定のm/z値又は特定のm/z範囲のイメージング画像を作成して表示するには、m/z値の１次元配列の情報を利用して特定のm/z値に対応する配列番号、又は特定のm/z範囲の下限と上限にそれぞれ対応する配列番号を求める。そして、各測定点におけるマススペクトルデータがそれぞれ圧縮された圧縮データ配列から、上記手順に従って目的とする特定のm/z値に対応する強度値又は目的とする特定のm/z範囲に対応する強度積算値を取得する。そして、複数の測定点における強度値又は強度積算値に基づいてイメージング画像を作成してこれを表示部５の画面上に表示する。
【００９３】
［多変量解析等に利用されるデータ行列の作成処理］
一般に複数のマススペクトルデータに対して主成分分析などの多変量解析を行う場合、プロファイルデータの全てを解析に利用するのではなくプロファイルデータから有意なピークの情報（m/z値と強度）を抽出して作成したピーク強度情報について解析を行うことが多い。例えば、マススペクトル上のピークは複数のデータ点で構成されるが、ピークの中心（重心）から特定の許容幅の範囲内に含まれるデータ点の強度値を積算したり、横軸のm/z値を考慮した面積値（積分値）を計算したり、或いは、面積値をピークの幅で除した平均強度値などを求めたりすることで、一つのピークを一つ強度値で表現し、この強度値を行列状に配置したデータ行列に対し多変量解析を実行することがよくある。ピークを代表する一つの強度値として、単にピークトップの強度値を使用することもある。
【００９４】
いずれにしても圧縮データ配列から上記のようなデータ行列を作成する際には以下のような手順で行えばよい。
（１）m/z値リストの作成
まず、解析対象である複数のマススペクトルの全て又は一部を平均して求めた平均スペクトルや複数のマススペクトルについてm/z値毎に最大強度の信号を抽出して作成した最大強度スペクトルを求める。そして、そのスペクトル上で観測される各ピークのm/z範囲を調べ、各ピークの始点及び終点に対応するm/z値のリストを作成する。ピークのm/z範囲は例えばマススペクトル上のピークを構成する複数のデータの中で強度値が所定の閾値を超えるm/z範囲とすればよい。或いは、ピークトップや重心位置の前後に許容幅を設け、その許容幅の範囲をピークのm/z範囲とみなしてピークの始点及び終点を決めてもよい。また、解析に用いるデータ量を削減するために、上述のようにして作成した仮のピークリストの中で、マススペクトル上で強度値が所定値以上であるピークのみを抽出して最終的なm/z値のリストを作成してもよい。また、複数の化合物の質量の理論値や過去の実測値に基づいてm/z値のリストを作成してもよい。
【００９５】
（２）データ行列の強度値情報の計算
データ行列の各要素である強度値としては、次の積算強度値、ピークトップ強度値、セントロイド強度値のいずれかを用いることができる。
【００９６】
（Ａ）積算（平均）強度値
上記のように作成したm/z範囲のリストを元に、解析対象である複数のマススペクトルについての圧縮データ配列から、リストに挙げられている各m/z範囲に対応する積算強度値を求める。各マススペクトルからリストに挙げられている各m/z範囲の積算強度値を計算する際に、前述の強度値積算処理を繰り返し実施すればよい。また、強度値を積算する過程で、m/z値軸上で隣接するデータ点同士のm/z値の差を強度値に乗じて面積値としてもよい。また、積算後の値を積算したデータ点数で除した平均値を各ピークを代表する一つの強度値としてもよい。
【００９７】
（Ｂ）ピークトップ強度値
ピークを代表する一つの強度値としてピークトップの強度値を使用する場合には、各マススペクトルにおけるリストに挙げられているm/z範囲毎に、次のような最大値計算処理を実施して各m/z範囲内に含まれるピークのピークトップの強度値を取得すればよい。図１１は、第２実施例のイメージング質量分析システムにおいてm/z範囲に含まれる一つののピークのピークトップの強度値を取得する際にデータ読み出し処理部２５で実施される詳細な処理を示すフローチャートである。Ｓs、Ｓe、Ｎ、Ｃ、Ｕ、Ｐの定義はこれまでの説明と同じである。但し、ここではＳs、Ｓeは強度値を積算するm/z範囲の上限、下限ではなく、最大強度を探索するためのm/z範囲の上限、下限である。また、Ｉは最大強度値である。なお、図１１においてＱで示す部分は図８中でＱでまとめて示すステップと同じである。
【００９８】
基本的に、図１１における各ステップの処理は図１０における各ステップの処理と殆ど同じである。異なるのは、図１０におけるステップＳ４１０では取得した強度値を積算していたのに対し、図１１におけるステップＳ５１０では取得した強度値をそれまでに求めた最大強度値Ｉと比較し、新たに取得した強度値のほうが大きければ最大強度値Ｉを新たな強度値に置き換える点である。したがって、図１１に示した処理では、探索すべきm/z範囲の中で最大である強度値、つまりはピークトップの強度値が取得されることになる。
【００９９】
（Ｃ）セントロイド強度値
データ行列を作成する際に、事前に各マススペクトルの全てのピーク情報として、ピークの重心のm/z値と面積値とをセットにした、又は、ピークトップのm/z値と該ピークトップの強度値とをセットにしたセントロイドデータを求めておく。そして、各セントロイドデータに基づいて、データ行列の作成対象であるm/z値リストに挙げられているm/z範囲に含まれるセントロイドの強度値を、データ行列の強度値としてもよい。
【０１００】
（３）ビニングによるデータ行列の作成
上記データ行列は一つのピークに一つの強度値が対応しているデータ行列であるが、ピーク単位ではなく、ピークの有無とは無関係にマススペクトルのm/z軸を連続する複数の区間に区切って、その区間毎に一つの強度値を対応付けてデータ行列を作成してもよい。こうした処理をビニング（厳密にはm/z上のビニング）という。ビニングでは、各区間のm/z値幅は等しくなくてもよいから、例えば、有意なピークが存在する部分では区間を狭め、有意なピークが存在しない部分では区間を広くしてもよい。一つの区間に対応する一つの強度値は、その区間範囲内の強度値の積算値を用いることができる。
【０１０１】
図１２及び図１３は、第２実施例のイメージング質量分析システムにおいてビニングのデータ行列を作成するために各区間の強度値を取得する際にデータ読み出し処理部２５で実施される詳細な処理を示すフローチャートである。Ｓs、Ｓe、Ｎ、Ｃ、Ｕ、Ｐの定義はこれまでの説明と同じである。但し、ここではＳs、Ｓeは強度値を積算する一つの区間のm/z範囲の上限、下限である。また、Ｊは区間毎の積算強度値である。
【０１０２】
まず、最初のビン、つまりは最もm/z値が小さい区間の始点に対応する非圧縮データ配列上の配列番号をＳs、終点に対応する非圧縮データ配列上の配列番号をＳeに設定し、カウンタの計数値Ｃをその配列番号Ｓsに設定する（ステップＳ６０１）。そして、配列番号Ｓsとインデクスとを利用して、配列番号Ｓsよりも配列番号の小さな、ブロックの先頭の配列番号を見つけ、その配列番号から１を減じた値を変数Ｕの初期値に設定する（ステップＳ６０２）。次に、インデクスの配列上で（Ｕ／Ｎ）＋１番目のデータから、圧縮データ配列における上記ブロックの先頭の配列番号を取得する（ステップＳ６０３）。そして、その取得した値を変数Ｐに設定する（ステップＳ６０４）。このステップＳ６０１〜Ｓ６０４の処理により、最初のビンについて、圧縮データ配列上で連続数を読み出し始める先頭の位置が決まる。
【０１０３】
そのあとのステップＳ６０５〜Ｓ６１３、Ｓ６１７〜Ｓ６２２に含まれる各ステップの処理は、図８中のステップＳ２０３〜Ｓ２１７の各ステップの処理と同じであるので説明を省略する。ステップＳ６１３又はＳ６２２でＹｅｓと判定されたときには、そのビンについての処理が終了するから、強度積算値Ｊを出力用配列に移し、強度積算値Ｊをリセットして次のビンについての処理の準備を行う（ステップ６１４、Ｓ６２３）。そして、ビニング範囲の終点まで達していれば（ステップＳ６１５又はＳ６２４でＹｅｓ）、全ての処理を終了するし、ステップＳ６１５又はＳ６２４でＮｏであれば、次のビンの終点をＳeに設定して（ステップＳ６１６、Ｓ６２５）、ステップＳ６１０、Ｓ６２０にそれぞれ戻る。
【０１０４】
なお、ここでは一つの区間に対する一つの強度値を積算強度値としているが、区間内の強度値の平均や有効な強度値の平均値、或いは、面積値や最大強度値でもよい。
【０１０５】
また、前述した処理を適宜変形することで、複数のマススペクトルをそれぞれ圧縮したデータに基づいて、その複数のマススペクトルを平均した平均スペクトルを算出することもできる。その場合、マススペクトル全体のm/z範囲ではなく、特定のm/z範囲のみに限った平均スペクトルを計算することもできる。こうした平均スペクトルの算出は、イメージング質量分析装置で得られたデータから、試料上の関心領域（ＲＯＩ）に含まれる複数の測定点におけるマススペクトルの平均を求める際などに有用である。
【０１０６】
また、上述したようにデータ行列を作成する対象のm/z値リストを作成する際に、データ量を削減するために強度値の小さなピークを除外する場合、対象となる複数のマススペクトルの平均値を用いると、少数のマススペクトルにのみ現れる強度値の比較的大きなピークがm/z値リストから漏れることがある。こうしたことを回避するために、各m/z値について各マススペクトルの中から最大の強度値を選出し、それをマススペクトルの強度値とする最大強度スペクトルをm/z値リストを作成する際に使用する場合がある。こうしたときに必要となる最大強度スペクトルも、前述した処理を適宜変形することで、複数のマススペクトルをそれぞれ圧縮したデータから求めることができる。
【０１０７】
なお、図２に示したように、m/z値の配列、複数の強度値の配列、及びインデクス情報は、コンピュータのＨＤＤやＳＳＤにデータファイルとして保存されているのが一般的であるが、上記の処理を行う際には、全てを一旦、メインメモリ２１に読み込んでから処理を行うとよい。
【０１０８】
また、処理に必要な一つの強度値の配列とインデクス情報とをメインメモリ２１に読み込んで、その一つの強度値配列について計算処理が完了する度にそのデータをメインメモリ２１から破棄し、次の強度値配列についてのデータを新たにメインメモリ２１に読み込むという処理を繰り返してもよい。また、イメージング質量分析データの計算処理など、所定のm/z範囲の強度値情報のみが必要である場合、インデクス情報を参照して、圧縮データから所定のm/z範囲の強度値情報が含まれるブロックのみを選択的にメインメモリ２１に読み込み、強度値計算処理を行ってもよい。もちろん、こうした処理の手順は本発明を限定する要素ではない。
【０１０９】
上記第１、第２の圧縮方法は強度値が所定のレベル以下である信号を連続数に置き換えてしまう非可逆的な圧縮方法であり、微小な強度値の信号も重要である分析装置には適していない圧縮方法である。この点を改良したものが以下の第３、第４の圧縮方法である。
［第３の圧縮方法］
本発明に関連する第３の圧縮方法の原理について、図１４を参照して説明する。
【０１１０】
ここでは一つの強度値が２進数表示で８ビットで表されるものとする。図１４に示すように、信号の強度値を表す８ビットのビット列を、下位２ビットと上位６ビットとに分割し、下位のビット列はそのままとして扱うか或いは静的ハフマン符号化を行い、上位６ビットのビット列に対しては第１の圧縮方法と同じスイッチ連長符号化を行ってデータ圧縮する。圧縮データを伸張する際には、下位のビット列、上位のビット列それぞれについて、圧縮の際に使用された方法に対応した伸張のアルゴリズムで以て元のビット列を復元し、それらを結合することで元のデータを復元する。このようにして、可逆的な圧縮、伸張が可能となる。なお、スイッチ連長符号化を行ったビット列に対してさらに静的ハフマン符号化を行ってもよい。
【０１１１】
［第３の圧縮方法による圧縮データから特定のm/z値に対応する強度値を取得する方法］
上記第３の圧縮方法で圧縮されたデータのうち、スイッチ連長符号化された上位６ビットのビット列に対して、第１の圧縮方法で圧縮されたデータに対する処理と同じ処理により、特定のm/z値に対応するデータ配列上のビット列を取得する。一方、下位２ビットがそのまま保存されている場合にはそのデータ配列において特定のm/z値に対応する配列番号からビット列を読み出し、それらのビット情報を結合することで特定のm/z値に対応する強度値を取得する。下位２ビットのビット列に対し静的ハフマン符号化を行っている場合には、スイッチ連長符号化の場合と同様に圧縮されたデータから、特定の配列番号に対応する値を取り出すことはできないため、全てのデータを一旦伸張して特定のm/z値に対応するビット列を取り出し、スイッチ連長符号化されたビット列から取り出したビット情報と結合することで特定のm/z値に対応する強度値を取得する。
【０１１２】
また、スイッチ連長符号化された上位６ビットのビット列に対しさらに静的ハフマン符号化を行った場合には、静的ハフマン符号化についての伸張を行った後、第１の圧縮方法で圧縮されたデータに対する処理と同じ処理によって、特定のm/z値に対応する上位６ビットのビット列の値を取得すればよい。
【０１１３】
［第４の圧縮方法］
次に、本発明に関連する第４の圧縮方法の原理について図１５を参照して説明する。この圧縮方法は第３の圧縮方法で用いた可逆圧縮の手法と第２の圧縮方法で用いたブロック分割及びインデクス作成の手法とを組み合わせたものである。
【０１１４】
図１５に示すように、まず非圧縮データ配列を一定のデータ数を含むブロックに区分する。この例では、図１４に示した強度値の配列を５０個のデータ毎に区分し、区分された各ブロック毎に独立して第３の圧縮方法により圧縮を行う。さらにまた、圧縮後の下位２ビットのビット列と、上位６ビットのビット列それぞれのビット列の圧縮後の各ブロックの先頭の位置情報を集めてインデクスを作成し、各ブロックの圧縮後のデータ配列と関連付けて保存する。インデクスは、下位２ビットのビット列と、上位６ビットのビット列の圧縮後の配列それぞれに関連付けられる。なお、下位２ビットについて静的ハフマン符号化を行う場合には、ブロック毎に異なるハフマン木を用い、ブロック毎に異なる符号の割り当てを行う。或いは、全てのブロックについて共通のハフマン木を用い、全ブロックに共通の符号の割り当てを行ってもよい。もちろん、第３の圧縮方法の原理で述べたように、下位２ビットは圧縮しなくてもよい。
【０１１５】
［第４の圧縮方法による圧縮データから特定のm/z値に対応する強度値を取得する方法］
上述したように可逆圧縮された情報のうち、スイッチ連長符号化されたビット列に対して、該圧縮データから特定のm/z値における強度値を求めるために、第２の圧縮方法で圧縮されたデータに対する処理と同様に、インデクス情報を参照して特定のm/z値に対応するビット列の値を取得する。また、下位２ビットのビット列が圧縮されていない場合には、特定のm/z値に対応する配列番号からビット列を読み出し、それらのビット情報を結合することで特定のm/zに対応する強度値を取り出す。下位２ビットのビット列に対し静的ハフマン符号化を行っている場合には、インデクス情報を参照して特定のm/z値に対応するデータが含まれるブロックを特定する。そして、そのブロックに含まれるすべてのデータを伸張し、特定のm/z値に対応する配列番号と、ブロックの先頭の配列番号の差分をもとに、伸張後の配列から特定のm/z値に対応するビット列を取得し、上記スイッチ連長符号化されたビット列から取得した特定のm/z値に対応するビット列と結合して強度値情報を取得すればよい。
【０１１６】
上記第３及び第４の圧縮方法による圧縮データに対しても、上述した第１及び第２の圧縮方法による圧縮データに対する様々なデータ処理を適用可能なことは明らかである。
【０１１７】
上記第１の圧縮方法による圧縮データ、第２の圧縮方法による圧縮データ、及び非圧縮データのそれぞれのデータサイズの比較、並びに、処理速度の比較結果を表１に示す。ここでは、試料上の２次元領域内の測定点の点数が３６５×５５２であり、m/z範囲がm/z １〜m/z ２０００である、イメージング質量分析データを想定している。なお、データ行列作成処理、及びビニング処理の所要時間には圧縮データ等のファイルを読み出す時間を含まず、ＲＯＩ平均スペクトル作成処理の所要時間には圧縮データ等のファイルを読み出す時間を含む。
【表１】
2019229998.tif 000003
【０１１８】
上記比較から、データ圧縮によりデータサイズは１／６程度に削減されることが分かる。また、上述したように第２の圧縮方法では非圧縮データ配列をブロックに区切って圧縮処理を行うとともにインデクスを付加するため、データ量削減という点では第１の圧縮方法に比べて不利である。しかしながら、実際にはその両者のデータサイズの差はごく僅か（２％以内）であり、第２の圧縮方法でもデータ削減効果は十分に大きいということができる。
【０１１９】
一方、第１の圧縮方法による圧縮データと第２の圧縮方法による圧縮データとでの処理速度の比較結果を見ると、ＲＯＩ平均スペクトル作成処理やビニング処理では有意な差はないものの、データ行列作成処理では第２の圧縮方法による圧縮データについての処理速度が格段に短いことが分かる。上述したように、データ行列作成処理は複数のマススペクトルに対する主成分分析等の多変量解析を行う際に必須の処理であり、イメージング質量分析データの解析の際には多変量解析は頻用される。こうしたことから、データ行列作成処理の所要時間の短縮化はイメージング質量分析データの解析の効率を向上させるうえでかなり有効である。
【０１２０】
一方、マススペクトルの全m/z範囲に亘るデータを用いて計算を行うＲＯＩ平均スペクトル作成処理やビニング処理では、あまり有意な差はない。そのため、特定のm/z値の強度値を頻繁に取得する必要があるようなイメージング質量分析データの解析以外の場合には、第１の圧縮方法（又は第３の圧縮方法）とそれを用いたデータ処理方法で十分な場合がある。
【０１２１】
上述したように本発明に係るデータ処理方法及び装置をイメージング質量分析装置に適用した例では、具体的に次のような効果がある。
（１）複数のマススペクトルを共通の一つのm/z値の配列と圧縮された複数の強度値の配列とで表すことで、圧縮前に比べてデータ容量を削減することができる。
【０１２２】
（２）イメージング質量分析装置においてイメージング画像を表示したり、複数のマススペクトルデータに対して多変量解析を行うためにデータ行列を作成する際に特定のm/z値に対応する強度値又はm/z範囲に対応する強度積算値、平均値、最大値などを求めたりする場合、一般的には圧縮データを伸張してマススペクトルデータに戻してから強度値の選定や計算処理を行う必要がある。圧縮データを伸張するとデータの配列の長さが異なるため、元の圧縮データとは別の配列を作成しそこに伸張後のデータを格納する必要がある。その際に圧縮データから有効な強度値が保存されている部分の配列を伸張したデータの配列にコピーする処理を実行する必要がある。これに対し、上記方法、圧縮された強度値の配列から直接、目的とする強度値を取得することができ、データのコピーを行う必要がなく処理速度が向上する。
【０１２３】
（３）本発明に係るデータ処理方法及び装置では、目的とするm/z値やm/z範囲に対応する強度値を取得する際に圧縮データを一旦伸張する必要がないため、伸張したデータを格納するための記憶領域をメインメモリ上で確保する必要がない。通常、強度値の計算処理はコンピュータのメインメモリ上で行われるが、計算する過程で使用するメモリの容量は伸張したデータを格納するメモリ容量に比べれば格段に少なくて済む。このように、本発明では、メインメモリの使用容量を節約することができる。
【０１２４】
（４）ＭＡＬＤＩ−ＴＯＦＭＳで得られるマススペクトルデータはm/z範囲が広いため、一つのマススペクトルに対する非圧縮データのデータ数が１００万を超えるような場合もある。このように非圧縮データの配列が非常に長い場合であっても、本発明に係る第２の圧縮方法では、目的とするm/z値又はm/z範囲に最も近いブロックの先頭から目的とする強度値を探索すればよいので、処理速度を短縮して短時間で結果を出力することができる。
【０１２５】
なお、上記実施例は本発明をイメージング質量分析装置に適用したものであるが、本発明が適用可能な分析装置はそれに限らない。例えば、フーリエ変換赤外分光光度測定（ＦＴＩＲ）イメージング装置、ラマン分光イメージング装置、電子線マイクロアナライザ（ＥＰＭＡ）、クロマトグラフ装置などにも本発明を適用することができる。即ち、本発明は、m/z値に代えて、波数や波長、Ｘ線のエネルギー（Ｘ線の波長）、時間などのパラメータに従って強度値の１次元配列が得られる分析装置全般に適用可能である。
【０１２６】
また、上記実施例はあくまでも本発明の一例であり、上記記載以外の点において本発明の趣旨の範囲で適宜に変更、修正、追加を行っても本願特許請求の範囲に包含されることは当然である。
【符号の説明】
【０１２７】
１…イメージング質量分析部
２…データ処理部
２０…スペクトルデータ収集部
２１…メインメモリ
２２…データ圧縮処理部
２３…データ伸張処理部
２４…インデクス作成処理部
２５…データ読み出し処理部
２６…イメージング画像作成処理部
３…データ保存部
３０…圧縮データ記憶領域
３１…インデクス記憶領域
４…操作部
５…表示部
【図１】
2019229998.tif 000004
【図２】
2019229998.tif 000005
【図３】
2019229998.tif 000006
【図４】
2019229998.tif 000007
【図５】
2019229998.tif 000008
【図６】
2019229998.tif 000009
【図７】
2019229998.tif 000010
【図８】
2019229998.tif 000011
【図９】
2019229998.tif 000012
【図１０】
2019229998.tif 000013
【図１１】
2019229998.tif 000014
【図１２】
2019229998.tif 000015
【図１３】
2019229998.tif 000016
【図１４】
2019229998.tif 000017
【図１５】
2019229998.tif 000018
【手続補正書】
【提出日】令和2年9月30日(2020.9.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
請求項１３に記載の機器分析用データ処理方法であり、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する圧縮が行われていない圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
g)特定のパラメータ値に対応する配列番号から下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１５
【補正方法】変更
【補正の内容】
【請求項１５】
請求項１３に記載の機器分析用データ処理方法であり、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する静的ハフマン符号化が行われている圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
g)前記インデクスのうち下位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の下位のビット列が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第２ブロック特定ステップと、
h)前記第２ブロック特定ステップで特定されたブロックに対応する下位ビット由来の圧縮データ配列を全て伸張し、そのあと特定のパラメータ値に対応する配列番号とそのブロックの先頭の配列番号の差分をもとに、伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
一方、下位ビットのデータ配列がハフマン符号化されている場合には、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する静的ハフマン符号化が行われている圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する順番のビット列を見つけて出力する上位ビット情報探索ステップと、
g)前記インデクスのうち下位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の下位のビット列が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第２ブロック特定ステップと、
h)前記第２ブロック特定ステップで特定されたブロックに対応する下位ビット由来の圧縮データ配列を全て伸張し、そのあと特定のパラメータ値に対応する配列番号とそのブロックの先頭の配列番号の差分をもとに、伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有するものとするとよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００４２
【補正方法】変更
【補正の内容】
【００４２】
【図１】本発明に係る機器分析用データ処理装置の一実施例を用いたイメージング質量分析システムの概略構成図。
【図２】本発明に係る機器分析用データ処理装置の別の実施例を用いたイメージング質量分析システムの概略構成図。
【図３】第１のデータ圧縮方法の原理説明図。
【図４】第１のデータ圧縮方法における圧縮データから特定のm/z位置の強度値を求める際の処理手順の説明図。
【図５】第２のデータ圧縮方法の原理説明図。
【図６】第２のデータ圧縮方法における圧縮データから特定のm/z位置の強度値を求める際の処理手順の説明図。
【図７】第１のデータ圧縮方法における圧縮データから特定のm/z位置の強度値を求める際の処理の流れを示すフローチャート。
【図８】第１のデータ圧縮方法における圧縮データから特定のm/z範囲の積算強度値を求める際の処理の流れを示すフローチャート。
【図９】第２のデータ圧縮方法における圧縮データから特定のm/z位置の強度値を求める際の処理の流れを示すフローチャート。
【図１０】第２のデータ圧縮方法における圧縮データから特定のm/z範囲の積算強度値を求める際の処理の流れを示すフローチャート。
【図１１】第２のデータ圧縮方法における圧縮データから多変量解析等のためのデータ行列を作成する際の処理の流れを示すフローチャート。
【図１２】第２のデータ圧縮方法における圧縮データからm/z軸上でビニングされたデータ行列を作成する際の処理の流れを示すフローチャート。
【図１３】第２のデータ圧縮方法における圧縮データからm/z軸上でビニングされたデータ行列を作成する際の処理の流れを示すフローチャート（図１２のフローチャートの続き）。
【図１４】第３のデータ圧縮方法の原理説明図。
【図１５】第４のデータ圧縮方法の原理説明図。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
第２の圧縮方法ではインデクスが付加されており、上記処理では目的とする強度値を探索する際にインデクスを利用しているが、インデクスを用いなくても第１の圧縮方法による圧縮データに対するデータ処理と同様の手法により、目的とする強度値を読み出すことができる。このように、インデクスを除く圧縮データ部分のみを使用した場合には、インデクスを利用した必要最低限のブロック内の処理による高速化は行えないものの、通常の伸長処理を行った後のデータ処理や、第１の圧縮方法による圧縮データに対するデータ処理との、処理の互換性が確保できるという利点がある。それにより、例えば第１の圧縮方法による圧縮データに対するデータ処理を行うためのソフトウェアしか搭載していない装置であっても、第２の圧縮方法による圧縮データから目的のm/z値に対応する強度値を取得する等、例えばイメージング質量分析データの解析に最低限必要な処理を実施することができる。また、保存されているインデクス情報が破損して読み出せない状況であっても、必要なデータ処理が可能である。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
ステップＳ３０４〜Ｓ３１３の各処理は図７に示したステップＳ１０３〜Ｓ１１２の各処理と基本的に同じであるため、詳しい説明は省略する。即ち、第１の圧縮方法による圧縮データに対する処理との相違は、目的とする特定のm/z値に対応する強度値の配列番号を探索する際の初期値が、圧縮データの全配列の先頭であるか、或いは、当該するm/z値に対応する強度値が含まれているブロックの先頭であるか、という点のみである。この場合には、探索範囲が一つのブロック内に限定されるため、短時間で目的とする強度値を取得することができる。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
（Ｂ）ピークトップ強度値
ピークを代表する一つの強度値としてピークトップの強度値を使用する場合には、各マススペクトルにおけるリストに挙げられているm/z範囲毎に、次のような最大値計算処理を実施して各m/z範囲内に含まれるピークのピークトップの強度値を取得すればよい。図１１は、第２実施例のイメージング質量分析システムにおいてm/z範囲に含まれる一つのピークのピークトップの強度値を取得する際にデータ読み出し処理部２５で実施される詳細な処理を示すフローチャートである。Ｓs、Ｓe、Ｎ、Ｃ、Ｕ、Ｐの定義はこれまでの説明と同じである。但し、ここではＳs、Ｓeは強度値を積算するm/z範囲の上限、下限ではなく、最大強度を探索するためのm/z範囲の上限、下限である。また、Ｉは最大強度値である。なお、図１１においてＱで示す部分は図８中でＱでまとめて示すステップと同じである。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１２２
【補正方法】変更
【補正の内容】
【０１２２】
（２）イメージング質量分析装置においてイメージング画像を表示したり、複数のマススペクトルデータに対して多変量解析を行うためにデータ行列を作成する際に特定のm/z値に対応する強度値又はm/z範囲に対応する強度積算値、平均値、最大値などを求めたりする場合、一般的には圧縮データを伸張してマススペクトルデータに戻してから強度値の選定や計算処理を行う必要がある。圧縮データを伸張するとデータの配列の長さが異なるため、元の圧縮データとは別の配列を作成しそこに伸張後のデータを格納する必要がある。その際に圧縮データから有効な強度値が保存されている部分の配列を伸張したデータの配列にコピーする処理を実行する必要がある。これに対し、本発明に係るデータ処理方法によれば、圧縮された強度値の配列から直接、目的とする強度値を取得することができ、データのコピーを行う必要がなく処理速度が向上する。
【手続補正書】
【提出日】令和2年11月5日(2020.11.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３
【補正方法】変更
【補正の内容】
【請求項３】
請求項１に記載の機器分析用データ処理方法であり、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前のデータを圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求めるブロック特定ステップと、
e)前記特定されたブロックに対応する圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する配列番号の強度値を見つけて出力する強度値探索ステップと、
を有することを特徴とする機器分析用データ処理方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項６
【補正方法】変更
【補正の内容】
【請求項６】
請求項４に記載の機器分析用データ処理装置であり、前記データ分割部、前記配列変換部、及び前記インデクス作成部の各部での処理により圧縮して得られた圧縮データを処理する機器分析用データ処理装置であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前のデータを圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求めるブロック特定部と、
e)前記特定されたブロックに対応する圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超えるときの連続数を特定する連続数特定部と、
f)前記連続数特定部により特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する配列番号の強度値を見つけて出力する強度値探索部と、
を備えることを特徴とする機器分析用データ処理装置。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項７
【補正方法】変更
【補正の内容】
【請求項７】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データを、その配列順に従って、予め決められた無効レベルの強度値が一以上連続する場合には、その強度値を一括して強度値の連続数に置き換える一方、前記無効レベル以外の有意なレベルの強度値が出現した場合にはスイッチ連長符号化を行うことにより圧縮して得られた圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である圧縮データの配列の先頭から順に、有意なレベルである強度値の連続数、及び無効なレベルである強度値の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超えるとの連続数を特定する連続数特定ステップと、
b)前記連続数特定ステップで特定された連続数が無効なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、無効レベルを示す情報又はそれに対応付けられた特定の強度値を出力し、前記特定された連続数が有意なレベルである強度値の連続数である場合には、前記特定のパラメータ値における強度値として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間の強度値の中から該当する配列番号の強度値を見つけて出力する強度値探索ステップと、
を有することを特徴とする機器分析用データ処理方法。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１１
【補正方法】変更
【補正の内容】
【請求項１１】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データのビット列を、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化による圧縮を行う一方、下位のビット列を含むデータ配列に対しては圧縮せずに得られた、複数の圧縮データ配列から成る圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である複数の圧縮データ配列のうち、前記上位のビット列に対応する圧縮データ配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
b)前記特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する配列番号のビット列を見つけて出力する上位ビット情報探索ステップと、
c)前記下位のビット列に対応する圧縮データ配列において特定のパラメータ値に対応する配列番号から下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１２
【補正方法】変更
【補正の内容】
【請求項１２】
機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データのビット列を、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化による圧縮を行う一方、下位のビット列を含むデータ配列に対して静的ハフマン符号化による圧縮を行うことで得られた、複数の圧縮データ配列から成る圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である複数の圧縮データ配列のうち、前記上位のビット列に対応する圧縮データ配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
b)前記特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する配列番号のビット列を見つけて出力する上位ビット情報探索ステップと、
c)処理対象である複数の圧縮データ配列のうち、前記下位のビット列に対応する圧縮データ配列を全て伸張し、その伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【手続補正６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１４
【補正方法】変更
【補正の内容】
【請求項１４】
請求項１３に記載の機器分析用データ処理方法であり、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する圧縮が行われていない圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する配列番号のビット列を見つけて出力する上位ビット情報探索ステップと、
g)特定のパラメータ値に対応する配列番号から下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【手続補正７】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１５
【補正方法】変更
【補正の内容】
【請求項１５】
請求項１３に記載の機器分析用データ処理方法であり、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する静的ハフマン符号化が行われている圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する配列番号のビット列を見つけて出力する上位ビット情報探索ステップと、
g)前記インデクスのうち下位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の下位のビット列が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第２ブロック特定ステップと、
h)前記第２ブロック特定ステップで特定されたブロックに対応する下位ビット由来の圧縮データ配列を全て伸張し、そのあと特定のパラメータ値に対応する配列番号とそのブロックの先頭の配列番号の差分をもとに、伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴とする機器分析用データ処理方法。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
次いで強度値探索部は、上記特定された連続数が無効なレベルである強度値の連続数である場合に、無効レベル又はそれに対応付けられた特定の強度値を出力する。他方、上記特定された連続数が有意なレベルである強度値の連続数である場合には、その連続数を表すデータに続く強度値の配列の中に目的とする強度値が存在するから、その配列の先頭から順に、連続数の加算結果と目的の配列番号とに基づく数だけデータを数えることで該当する配列番号の強度値を見つけて出力する。なお、ここで「無効レベル又はそれに対応付けられた特定の強度値」とは、例えば「０」を含む特定の値、又は実際の強度値ではあり得ない所定の値とすればよい。例えば「４」以下の強度値を無効レベルとみなす場合には、「０」を含む「４」以下の値のいずれかを無効レベル又はそれに対応付けられた特定の強度値と定めればよい。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００３１
【補正方法】変更
【補正の内容】
【００３１】
即ち、上記好ましいデータ処理方法及び装置では、複数のブロックのいずれに目的のm/z値に対応する強度値の情報が存在するのかをまず、インデクスを用いて探索する。そして、ブロックが特定されたならば、第１及び第２発明と類似した手順で、例えば目的のm/z値に対応する強度値を取得する。第１及び第２発明では、常にデータ配列の先頭から順番に連続数の情報を見つけて加算していく必要があるのに対し、この第３及び第４発明に係る好ましい方法及び装置では、一つのブロックに含まれるデータ配列の先頭から順番に連続数の情報を見つけて加算していけばよい。そのため、１ブロックに含まれるデータ数に依存するものの、ブロックに区切る際のデータ数を或る程度限定しておくことで、目的のm/z値に対応する強度値を探索する時間を短くすることができる。即ち、第１及び第２発明に比べて短い処理時間で目的とする強度値を求めることができる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
即ち、上記課題を解決するために成された第５発明の第１の態様は、特許文献１に記載された圧縮方法で圧縮されたデータに上記第１発明のデータ処理方法を適用したものであり、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データのビット列を、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化による圧縮を行う一方、下位のビット列を含むデータ配列に対しては圧縮せずに得られた、複数の圧縮データ配列から成る圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である複数の圧縮データ配列のうち、前記上位のビット列に対応する圧縮データ配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
b)前記特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する配列番号のビット列を見つけて出力する上位ビット情報探索ステップと、
c)前記下位のビット列に対応する圧縮データ配列において特定のパラメータ値に対応する配列番号から下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴としている。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
また上記課題を解決するために成された第５発明の第２の態様は、上記第１の態様と同様に、特許文献１に記載された圧縮方法で圧縮されたデータに上記第１発明のデータ処理方法を適用したものであり、機器分析により得られた所定のパラメータにおける複数の値に対する強度値の１次元配列である測定データのビット列を、所定のレベル以下の下位のビット列とそれ以外の上位のビット列とに分割することで複数のデータ配列に分け、上位のビット列を含むデータ配列に対しては少なくともスイッチ連長符号化による圧縮を行う一方、下位のビット列を含むデータ配列に対して静的ハフマン符号化による圧縮を行うことで得られた、複数の圧縮データ配列から成る圧縮データを処理するデータ処理方法であり、該圧縮データから特定のパラメータ値における強度値を求める機器分析用データ処理方法であって、
a)処理対象である複数の圧縮データ配列のうち、前記上位のビット列に対応する圧縮データ配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
b)前記特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する配列番号のビット列を見つけて出力する上位ビット情報探索ステップと、
c)処理対象である複数の圧縮データ配列のうち、前記下位のビット列に対応する圧縮データ配列を全て伸張し、その伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有することを特徴としている。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
また上記第６発明において、好ましくは、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する圧縮が行われていない圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する配列番号のビット列を見つけて出力する上位ビット情報探索ステップと、
g)特定のパラメータ値に対応する配列番号から下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有するものとするとよい。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
一方、下位ビットのデータ配列がハフマン符号化されている場合には、前記データ分割ステップ、前記配列変換ステップ、及び前記インデクス作成ステップの各ステップでの処理により圧縮して得られた圧縮データで、且つ前記配列変換ステップでは下位のビット列に対する静的ハフマン符号化が行われている圧縮データを処理する機器分析用データ処理方法であって、
該圧縮データから特定のパラメータ値における強度値を求めるために、
d)前記インデクスのうち上位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の上位のビット列を圧縮した情報が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第１ブロック特定ステップと、
e)前記第１ブロック特定ステップで特定されたブロックに対応する圧縮データの配列の先頭から順に、「０」でない値を示すビット列の連続数、及び「０」を示すビット列の連続数、の情報を取得して逐次的に加算し、その加算結果が目的とする特定のパラメータ値に対応する配列番号に一致するときの連続数又は該配列番号を超える直前の連続数を特定する連続数特定ステップと、
f)前記連続数特定ステップで特定された連続数が「０」を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として「０」の値を出力し、前記特定された連続数が「０」でない値を示すビット列の連続数である場合には、前記特定のパラメータ値における上位のビット列として、圧縮データの配列上で該連続数を示すデータとその次に現れる連続数を示すデータとの間のビット列の中から該当する配列番号のビット列を見つけて出力する上位ビット情報探索ステップと、
g)前記インデクスのうち下位のビット列に対応するインデクスを参照して目的とする特定のパラメータ値におけるデータの配列番号に対応する圧縮前の下位のビット列が含まれるブロックを特定し、該ブロックの先頭のデータ位置の情報を求める第２ブロック特定ステップと、
h)前記第２ブロック特定ステップで特定されたブロックに対応する下位ビット由来の圧縮データ配列を全て伸張し、そのあと特定のパラメータ値に対応する配列番号とそのブロックの先頭の配列番号の差分をもとに、伸張後のデータ配列から特定のパラメータ値に対応する下位のビット列の情報を取得し、前記上位ビット情報探索ステップにより出力されるビット列の情報と合わせて特定のパラメータ値に対する強度値情報を取得する強度値取得ステップと、
を有するものとするとよい。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】変更
【補正の内容】
【００５３】
強度値を求めたい特定のm/z値が指定されると、上述したm/z値の配列の情報から、非圧縮データ配列上での特定のm/z値における強度値の位置、つまり配列番号が判明する。いまこの例では、図４（Ａ）中に矢印で示すように、非圧縮データ配列上での目的の強度値の位置を示す配列番号は「１６」であるものとする。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
強度値を求めたい特定のm/z値が指定されると、上述したm/z値の配列の情報から、非圧縮データ配列上での特定のm/z値における強度値の位置、つまり配列番号が判明する。いまこの例では、図６（Ａ）中に矢印で示すように、非圧縮データ配列上での目的の強度値の位置を示す配列番号は「１００３」であるものとする。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
非圧縮データ配列上で配列番号が「１００３」である強度値を図６（Ｂ）に示す圧縮データの配列上で探索する際には、まずインデクスを利用する。即ち、インデクスには圧縮データ配列上で各ブロックの先頭の位置の情報が格納されている。そこで、インデクスにおける１次元配列上の配列番号から１を減じ、それに１ブロック当たりの非圧縮時のデータ数（ここでは１０００）を乗じたあとに１を加算すると、非圧縮データ配列上の各ブロックの先頭の配列番号が求まる。図６の例では、インデクスにおける１次元配列上で配列番号が「２」の位置にインデクス情報として「８」が格納されているが、この配列番号「２」から１を差し引いて１０００を乗じて１を加算すると「１００１」と求まる。したがって、圧縮データ配列上での配列番号「８」は非圧縮データ配列上の配列番号「１００１」に対応することが分かる。そこで、圧縮データ配列上での配列番号「８」のデータが非圧縮データ配列上の配列番号「１００１」に相当するデータであると対応付けて、第１の圧縮方法で利用した読み出し方法により目的とするm/z値に対応する強度値を探索すればよい。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
そのあとのステップＳ６０５〜Ｓ６１３、Ｓ６１７〜Ｓ６２２に含まれる各ステップの処理は、図８中のステップＳ２０３〜Ｓ２１７の各ステップの処理と同じであるので説明を省略する。ステップＳ６１３又はＳ６２２でＹｅｓと判定されたときには、そのビンについての処理が終了するから、強度積算値Ｊを出力用配列に移し、強度積算値Ｊをリセットして次のビンについての処理の準備を行う（ステップＳ６１４、Ｓ６２３）。そして、ビニング範囲の終点まで達していれば（ステップＳ６１５又はＳ６２４でＹｅｓ）、全ての処理を終了するし、ステップＳ６１５又はＳ６２４でＮｏであれば、次のビンの終点をＳeに設定して（ステップＳ６１６、Ｓ６２５）、ステップＳ６１０、Ｓ６２０にそれぞれ戻る。
【国際調査報告】
2019229998.tif 000019
2019229998.tif 000020
2019229998.tif 000021
2019229998.tif 000022
2019229998.tif 000023
2019229998.tif 000024
2019229998.tif 000025
2019229998.tif 000026