2011-01-12 5 views
2

Es gibt eine Funktion, die Teil eines Softwarepakets (MRICro) ist und 'dcm2nii' genannt wird.Funktion funktioniert korrekt mit relativer Pfadeingabe, aber NICHT mit absoluter Pfadeingabe

Wenn ein relativer Pfad als Ausgabeverzeichnis verwendet wird, funktioniert die Funktion einwandfrei.

Wenn jedoch der absolute Pfad zum genau gleichen Ordner verwendet wird, bricht die Funktion zusammen.

Beispiel (absoluter Pfad):

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

Beispiel (relativer Pfad):

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

Beispielfehlermeldung, die auftritt, wenn der absoluten Pfad für die Ausgabe-Ordner verwenden (die letzte Zeile zeigt, dass die Ausgabedatei kann nicht erstellt werden):

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 

Ich weiß nicht, ob dieses Problem ich Das liegt daran, dass ich bei Linux/Bash etwas falsch gemacht habe oder aufgrund der Funktion tatsächlich einen Fehler gemacht habe.

Aber jede Eingabe wird geschätzt.

Auf einer allgemeineren Ebene suche ich nach irgendeinem vorhersehbaren Grund dafür, warum eine Funktion in der Lage wäre, einen relativen Ordnerpfad und nicht einen absoluten Pfad zu verwenden (vorausgesetzt, dass sie zum selben Ort auflösen).

EDIT: pwd gibt: /net/user1/project_name/Daten/2011_01_10_SVD1/3_fMRI_rest

+1

Riecht wie ein Käfer. Ich würde mich beim Autor des Programms beschweren. –

+0

Tritt dies in einer neu geöffneten Shell auf? Wenn Sie das Ziel umbenennen, erstellen Sie ein neues Verzeichnis mit dem alten Namen und verwenden Sie das ursprüngliche Argument für das Ziel, passiert es noch? –

+0

Können Sie auf dem 'pwd' Standort aktualisieren? Das würde helfen, die Frage besser zu verstehen. – TheCottonSilk

Antwort

0

würden Sie wirklich uns den Code zeigen müssen, bevor wir können Ihnen sagen, was die Ursache für das Problem ist jedoch die Verhalten Sie beschrieben ist möglich

Dies ist ein Beispiel für schlechte Praxis ist aber die folgende

#!/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 
0

Dies ist ein Fehler irgendeiner Art zu sein scheint betrachten .. ich das gleiche Problem auftritt. Wenn ich versuche, diesen Befehl für Daten in meinem Home-Ordner auszuführen, erhalte ich den gleichen Fehler.

Wenn ich jedoch meine Daten in einen Pfad verschiebe, der keine Erweiterung enthält, d. H. "/ Tmp/data", wird das Programm ordnungsgemäß ausgeführt.

Verwandte Themen