NeXus は、中性子、X 線、ミューオンの科学コミュニティで一般的に使用されている実験科学用のデータ形式です。科学データの分析と視覚化における協力を促進するために、ヨーロッパ、アジア、オーストラリア、北米の主要な科学施設を代表する科学者とプログラマーによって国際標準として開発されています。技術的には、NeXus はファイル形式ではなくデータ モデルです。これは、ファイル内でデータがどのように整理され構造化されるべきかを記述し、そのデータがどのようにエンコードされて保存されるかについてはほとんど言及していないためです。NeXus ファイルはさまざまなコンテナ形式にマッピングできますが、推奨され、最もサポートされているバックエンドはHDF5です。[ 1 ] XMLは主にデモンストレーション目的で使用されます。
1990年代初頭までに、中性子およびX線科学分野の複数の科学者グループは、使用する各装置が実験データの記録に独自のフォーマットを採用していることに不満を抱いていた。様々なフォーマットが存在するため、科学者たちは処理・解析プログラム用のインポートリーダーを作成する作業に多くの時間を費やしていた。よくあることだが、各装置からデータファイルに記録すべき情報は、ハードウェアの進化に伴う新機能や制約に基づいて変化し、妥協を強いられる。これらのフォーマットの多くは、保存すべき新しいデータに対応できる汎用性に欠けていたため、新たなフォーマットが考案された。このような環境では、各世代のデータフォーマットに関するドキュメントが不足していることが多い。
NeXusの誕生には、3つの並行した発展が繋がった。
これらの科学者たちは、他の科学分野ですでに広く使用されていた自己記述型で拡張可能なフォーマットを使用してデータを保存する方法を提案した。彼らの提案は、レイ・オズボーン(ANL)が主催し、さまざまな中性子およびX線施設の代表者が参加した一連のワークショップを通じて開発されたNeXus標準の現在の設計の基礎となった。NeXus APIは1997年後半にリリースされた。[ 2 ]
NeXusは主に、ファイル内のデータがどのように整理されているかに関心があります。これを実現するために、NeXusは以下を提供します。[ 3 ]
NeXusフォーマットは、さまざまな種類のハードウェアや、ジオメトリ、特定の位置におけるビームの状態など、その他の便利な情報グループを表す「ベースクラス」オブジェクトで構成されています。これらのベースクラスは、そのクラスのインスタンスにおける特定のプロパティを記述するために使用できる用語の辞書を提供し、用語の意味と、複数の同等の選択肢がある場合にどの特定の名前を使用すべきかを明確にします。ベースクラスの組み合わせ方は、アプリケーション定義によって規定されます。アプリケーション定義は、階層構造、必要な最小限の情報セット、および実験の種類に応じたオプションの追加事項を記述します。文書化されたNeXusの理念は、アプリケーション定義が共通の構造になるよう導きますが、アプリケーション定義は、それが対象とするコミュニティのニーズに合わせて、他のアプリケーション定義から逸脱する自由があります。
NeXusは、データファイルに簡単にグラフ化できるデフォルトのデータセットを含め、実験の完全な説明を意味のある物理的な用語で記述し、ファイルの内容を解釈するために特別な知識を必要としないようにすることを強く推奨します。
NeXusコミュニティは通常、NeXusメーリングリスト、月例電話会議、および年次総会を通じて交流する。
NeXus の開発は、NeXus 国際諮問委員会 (NIAC) によって監督されています。[ 4 ] NIAC は、国際社会のバランスの取れた代表を目指しています。主要な中性子、X 線、ミューオン施設のほとんどが代表者を任命しています。その他の施設や関係者も参加を歓迎します。NIAC は、NeXus 基本クラスとアプリケーション定義に対する提案された修正を審査し、変更を承認するための投票を行います。NIAC の全体会議は、通常NOBUGS会議と併せて 2 年ごとに開催されます。