```markdown
# SummarizeProperties.pl Documentation

## 1. プログラムの動作
`SummarizeProperties.pl` は、VASP の計算結果ファイル `OUTCAR` から振動データと光学データを抽出し、それぞれ `Vibration.txt` と `Optics.csv` に保存するプログラムです。また、振動データを基にしたアニメーションファイル `a.xsf` を生成します。

- `SaveVibrationFile`: `OUTCAR` から振動データを抽出し、`Vibration.txt` に保存します。また、振動モードに基づくアニメーションファイル `a.xsf` を生成します。
- `SaveOpticsCSV`: `OUTCAR` から光学データを抽出し、`Optics.csv` に保存します。

## 2. 必要な非標準ライブラリとインストールコマンドとインストール方法
このプログラムは以下の非標準ライブラリを使用しています。これらのライブラリは、特定のディレクトリに配置されている必要があります。

- `MyHTMLApplication`
- `Utils`
- `Sci`
- `JFile`
- `Sci::Optics`
- `Crystal::VASP`
- `Crystal::XCrySDen`

これらのライブラリは、Perl の標準 CPAN には存在しない可能性が高く、特定のプロジェクトや環境で使用されるカスタムライブラリである可能性があります。したがって、これらのライブラリは、プログラムの配布元から入手するか、開発者に問い合わせてください。

## 3. 必要な入力ファイル
- `OUTCAR`: VASP の計算結果ファイル。このファイルから振動データと光学データを抽出します。

## 4. 実行後に生成される出力ファイル
- `Optics.csv`: 光学データを保存する CSV ファイル。
- `Vibration.txt`: 振動データを保存するテキストファイル。
- `a.xsf`: 振動モードに基づくアニメーションファイル。

## 5. コマンドラインでの使用例 (Usage)
```bash
perl SummarizeProperties.pl [OUTCAR] [OpticsOut] [VibrationOut] [XSFFile]
```

- `OUTCAR`: 入力ファイル名 (省略時はデフォルトで "OUTCAR")。
- `OpticsOut`: 光学データの出力ファイル名 (省略時はデフォルトで "Optics.csv")。
- `VibrationOut`: 振動データの出力ファイル名 (省略時はデフォルトで "Vibration.txt")。
- `XSFFile`: アニメーションファイルの出力ファイル名 (省略時はデフォルトで "a.xsf")。

例:
```bash
perl SummarizeProperties.pl OUTCAR Optics.csv Vibration.txt a.xsf
```
```