2

ソフトウェアパッケージ (MRICro) の一部である機能があり、「dcm2nii」と呼ばれます。

出力ディレクトリとして相対パスを使用すると、関数は完全に機能します。

ただし、まったく同じフォルダーへの絶対パスを使用すると、関数が壊れます。

例 (絶対パス):

dcm2nii -o /net/user1/project_name/Data/2011_01_10_SVD1/Processed/3_fMRI_rest E2538S3I00*

例 (相対パス):

dcm2nii -o ../Processed/3_fMRI_rest E2538S3I00*

出力フォルダーに絶対パスを使用した場合に発生するエラー メッセージの例 (最後の行は、出力ファイルを作成できないことを示しています)。

Validating 52 potential DICOM images.
Found 52 DICOM images.
Converting 52/52  2
E2538S3I0001.MR.dcm->20110110_112950E2538S3I0001MRFPSD1F29OCT2010RCs003a1001.nii
GZip 20110110_112950E2538S3I0001MRFPSD1F29OCT2010RCs003a1001.nii
unable to create /net/user1/project_name/Data/2011_01_10_SVD1/Processed/3_fMRI_rest/20110110_112950E2538S3I0001MRFPSD1F29OCT2010RCs003a1001.nii.gz

この問題が Linux/bash で何か間違ったことをしたことが原因なのか、それとも実際に機能に誤りがあるためなのかはわかりません。

しかし、どんな意見も歓迎します。

より一般的なレベルでは、関数が絶対フォルダー パスではなく相対フォルダー パスを使用できる理由について、予見可能な理由を探しています (それらが同じ場所に解決される場合)。

編集: pwd が与える: /net/user1/project_name/Data/2011_01_10_SVD1/3_fMRI_rest

4

2 に答える 2

0

問題の原因が何であるかを伝える前に、実際にコードを表示する必要がありますが、説明した動作は可能です

これは悪い習慣の例ですが、次の点を考慮してください。

#!/bin/bash
....
current_dir = $(pwd)
out_dir = $1
cd ${somewhere}
..... do stuff
#no we want to come back to create the output dir
mkdir ${current_dir}/$out_dir
于 2011-01-12T19:21:56.093 に答える