前の関連記事:DICOM(11)OsirixのDICOMサンプルデータをWindowsで使う
OsirixのDICOMサンプルデータのzipファイルを解凍した状態ではdcmファイルを含まないフォルダを含まれています。それらを除くためにバッチファイルを作って一覧を出力します。
バッチファイルでフォルダ一覧を出力する
Osirixサンプルデータは膨大でなにから見ていけばいいのかよくわかりません。
どこかに一覧がないか探してみましたが見つけられませんでした。
まずzipファイルを解凍してできたフォルダの一覧を作ってみます。
ここから以下はバッチファイル作成の試行錯誤の記録です。
フォルダ一覧はこの記事の一番下にあります。
pushd %~p0 dir /ad/b/s %1 >list.txtこのバッチファイルにフォルダをドロップすると中にあるフォルダがサブフォルダも含めてすべてのフォルダのフルパス一覧がバッチファイルのあるフォルダにlist.txtファイルに出力されます。
フォルダ数が多いと1回目は結構時間がかかりますが結果がどこかにキャッシュされているのか2回目以降は一瞬で出力されます。
結果はフルパスで表示されていてとてもみにくいです。
dcmファイルが入ったフォルダだけ表示させようとしましたがdirコマンドではどうもうまくいく方法を思いつきませんでした。
そこでforを使ってdcmファイルがあるフォルダ名を表示させます。
setlocal enabledelayedexpansion pushd %1 for /r %%i in (*.dcm) do ( pushd %%~pi for %%j in ("!CD!") do set forudamei=%%~nxj echo %%~nxiのあるフォルダ名は「!forudamei!」です。 pause ) endlocalこれにフォルダをドロップするとサブフォルダでもdcmファイルがあるフォルダ名が順に表示されました。
こんどはこのフォルダ名を順次txtファイルに記録する方法を考えます。
setlocal enabledelayedexpansion pushd %1 for /r %%i in (*.dcm) do ( pushd %%~pi for %%j in ("!CD!") do set forudamei=%%~nxj echo !forudamei!>>"%~dp0list.txt" ) endlocalこれでバッチファイルのあるlist.txtにフォルダ名が記録されました。
しかしこれはdcmファイルの数だけループするので非常に効率が悪いです。
全部で4万個超もdcmファイルがあるので2時間ほどかかってしまいそうです。
そこでアルゴリズムを変更して、各サブフォルダに移動してからdcmファイルがあるかどうかみて、あればフォルダ名を記録して、次のフォルダに移動する、というふうにします。
バッチファイルにはネストになったforを1段階だけ抜ける方法がない
バッチファイルにはforを抜けるコマンドがありません。
代わりにgotoを使おうと思ったのですけどネストしたforの最外層にしかでれません。
ということでif existを使いました。結果的にはこっちの方がスマートになりました。
pushd %1 rem ドロップしたフォルダ自体は検索されないことに注意。 for /d /r %%i in (*) do ( if exist %%i\*.dcm ( echo %%~nxi>>"%~dp0list.txt" ) )うーん。やっぱりフォルダ名だけだと階層構造がわかりません。
でもフルパスだと見にくいし、、、
pushd %1 rem ドロップしたフォルダ自体は検索されないことに注意。 for /d /r %%i in (*) do ( if exist %%i\*.dcm ( echo %%~nxi>>"%~dp0list.txt" ) else ( echo %%~nxi>>"%~dp0list.txt" ) )dcmファイルが直下にないフォルダ名も表示させるようにしてみました。
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 1.0 B20f - 6
CorCTA w-c 3.0 B20f 0% - 9
CorCTA w-c 3.0 B20f 10% - 10
CorCTA w-c 3.0 B20f 20% - 11
CorCTA w-c 3.0 B20f 30% - 12
CorCTA w-c 3.0 B20f 40% - 13
CorCTA w-c 3.0 B20f 50% - 14
CorCTA w-c 3.0 B20f 60% - 15
CorCTA w-c 3.0 B20f 70% - 16
CorCTA w-c 3.0 B20f 80% - 17
CorCTA w-c 3.0 B20f DIASTOLE - 8
CorCTA w-c 3.0 B20f SYSTOLE - 7
CorCTA w-o 3.0 B20f - 4
結果はこんな感じになります。
でも最下層にdcmファイルがないフォルダまで表示されてしまいます。
最下層にdcmファイルがあるフォルダの階層のみ順次インデントして表示させたいですね。
setlocal enabledelayedexpansion pushd %1 rem ドロップしたフォルダ自体は検索されないことに注意。 for /d /r %%i in (*) do ( if exist %%i\*.dcm ( set forudamei0=%%~nxi pushd %%i pushd .. if not "!CD!"==%1 ( for %%j in ("!CD!") do set forudamei1=%%~nxj pushd .. if not "!CD!"==%1 ( for %%j in ("!CD!") do set forudamei2=%%~nxj echo !forudamei2!>>"%~dp0list.txt" echo !forudamei1!>>"%~dp0list.txt" echo !forudamei0!>>"%~dp0list.txt" ) else ( echo !forudamei1!>>"%~dp0list.txt" echo !forudamei0!>>"%~dp0list.txt" ) ) ) ) endlocaldcmファイルがあるフォルダを2階層上までさかのぼって出力するようにしてみました。
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 1.0 B20f - 6
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f 0% - 9
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f 10% - 10
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f 20% - 11
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f 30% - 12
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f 40% - 13
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f 50% - 14
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f 60% - 15
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f 70% - 16
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f 80% - 17
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f DIASTOLE - 8
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 3.0 B20f SYSTOLE - 7
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-o 3.0 B20f - 4
dcmファイルがあるフォルダのみの順次インデントは実現できましたが、何回も同じフォルダ名がでてきていしまいます。
バッファに前に出力したフォルダ名を格納しといてバッファと比較して同じときは出力しないようにします。
setlocal enabledelayedexpansion pushd %1 rem ドロップしたフォルダ自体は検索されないことに注意。 for /d /r %%i in (*) do ( if exist %%i\*.dcm ( set forudamei0=%%~nxi pushd %%i pushd .. if not "!CD!"==%1 ( for %%j in ("!CD!") do set forudamei1=%%~nxj pushd .. if not "!CD!"==%1 ( for %%j in ("!CD!") do set forudamei2=%%~nxj if not !forudamei2!==!buf_forudamei2! ( echo !forudamei2!>>"%~dp0list.txt" set buf_forudamei2=!forudamei2! ) if not !forudamei1!==!buf_forudamei1! ( echo !forudamei1!>>"%~dp0list.txt" set buf_forudamei1=!forudamei1! ) echo !forudamei0!>>"%~dp0list.txt" ) else ( if not !forudamei1!==!buf_forudamei1! ( echo !forudamei1!>>"%~dp0list.txt" set buf_forudamei1=!forudamei1! ) echo !forudamei0!>>"%~dp0list.txt" ) ) else ( echo !forudamei0!>>"%~dp0list.txt" ) ) ) endlocalこれに先ほどと同じフォルダをドロップすると以下の結果が出力されます。
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 1.0 B20f - 6
CorCTA w-c 3.0 B20f 0% - 9
CorCTA w-c 3.0 B20f 10% - 10
CorCTA w-c 3.0 B20f 20% - 11
CorCTA w-c 3.0 B20f 30% - 12
CorCTA w-c 3.0 B20f 40% - 13
CorCTA w-c 3.0 B20f 50% - 14
CorCTA w-c 3.0 B20f 60% - 15
CorCTA w-c 3.0 B20f 70% - 16
CorCTA w-c 3.0 B20f 80% - 17
CorCTA w-c 3.0 B20f DIASTOLE - 8
CorCTA w-c 3.0 B20f SYSTOLE - 7
CorCTA w-o 3.0 B20f - 4
ほしい結果どおりになりましたね。
「set buf_forudamei1=!forudamei1!」が
「set buf_forudamei1=!forudamei1! 」と
なっているのに気づかなくて原因を探し出すのに結構時間がかかりました。
最後に空白が紛れ込んでいただけですのに。
また空白のあるフルパスの対処でつまずく
ようやく出来上がったと思ってダンロードしたOsirixのサンプルデータをすべていれたフォルダをドロップしてみるとちゃんと動きません。
またDICOM(10)GDCM:サブフォルダのdcmファイルも一括処理するバッチファイルが完成と同じようにフルパスに空白があるのが問題という気はしたのですが一体どこに""をつければよいのかの対処で時間を食ってしまいました。
結局対処として%1には""は不要、!CD!と%~dp0list.txtには""が必要、というので解決しました。
また遡ってこれまでのバッチファイルを修正しました。
フォルダのチェックとかカウンタとか追加した完成版
@echo off setlocal enabledelayedexpansion echo %~a1|find "d">NUL if %ERRORLEVEL% EQU 0 ( echo dcmファイルを含むフォルダ一覧を出力します。 echo ドロップしたフォルダ自体はリストには含まれません。 echo 結果はこのバッチファイルのあるフォルダのlist.txtに追記されます。 echo. pause goto menu ) else ( echo dcmファイルを含んだフォルダリストの作成にはdcmファイルを含んだフォルダをドロップしてください。 echo. pause exit ) :menu pushd %1 rem ドロップしたフォルダ自体は検索されないことに注意。 set Count0=0 for /d /r %%i in (*) do ( if exist %%i\*.dcm ( cls set /a Count0=Count0+1 echo フォルダリストをリストアップ中。!Count0! set forudamei0=%%~nxi pushd %%i pushd .. if not "!CD!"==%1 ( for %%j in ("!CD!") do set forudamei1=%%~nxj pushd .. if not "!CD!"==%1 ( for %%j in ("!CD!") do set forudamei2=%%~nxj if not !forudamei2!==!buf_forudamei2! ( echo !forudamei2!>>"%~dp0list.txt" set buf_forudamei2=!forudamei2! ) if not !forudamei1!==!buf_forudamei1! ( echo !forudamei1!>>"%~dp0list.txt" set buf_forudamei1=!forudamei1! ) echo !forudamei0!>>"%~dp0list.txt" ) else ( if not !forudamei1!==!buf_forudamei1! ( echo !forudamei1!>>"%~dp0list.txt" set buf_forudamei1=!forudamei1! ) echo !forudamei0!>>"%~dp0list.txt" ) ) else ( echo !forudamei0!>>"%~dp0list.txt" ) ) ) cls echo dcmファイルのあるフォルダは!Count0!個でした。 echo フォルダリストは%~p0のlist.txtに追記されています。 echo. pause endlocal
Osirixサンプルデータのフォルダ一覧
上記のバッチファイルでフォルダ一覧を出力した結果です。
全部で289個のフォルダがありました。
ただし出力結果のうちRATIB1はzipファイル名がさらに1階層上にあったのでFOURDIX(RATIB1)と書き換えています。
またOrdalfabetixはzipファイル直下のフォルダ名がUSERとなっており順番がUの位置に出力されたためOの位置に移動させています。
é→e、â→aに事前に修正してあります。
(DICOM(11)OsirixのDICOMサンプルデータをWindowsで使うのフォルダ名修正参照。)
以下フォルダ一覧
AGECANONIX
Specials 1CoronaryCTA_with_spiral _CTA_pre
CorCTA w-c 1.0 B20f - 6
CorCTA w-c 3.0 B20f 0% - 9
CorCTA w-c 3.0 B20f 10% - 10
CorCTA w-c 3.0 B20f 20% - 11
CorCTA w-c 3.0 B20f 30% - 12
CorCTA w-c 3.0 B20f 40% - 13
CorCTA w-c 3.0 B20f 50% - 14
CorCTA w-c 3.0 B20f 60% - 15
CorCTA w-c 3.0 B20f 70% - 16
CorCTA w-c 3.0 B20f 80% - 17
CorCTA w-c 3.0 B20f DIASTOLE - 8
CorCTA w-c 3.0 B20f SYSTOLE - 7
CorCTA w-o 3.0 B20f - 4
AMNESIX
Post_Stent
AngioRunOff 2.0 B30f
AP-Ext Topo 0.6 T20s
ANEURIX
Vasculaire Angio_MI (Adulte)
LL - 5363
ANONYMIZE
BRAIN
3-pl T2_ FGRE S - 1
Ax Flair - 5
Ax PD&T2 FSE - 4
Ax T1 FSE +C - 7
Ax T1 FSE - 6
COR T1 FSE +C - 9
Sag T1 FSE +C - 8
Sag T1 FSE - 3
Sag T2 FSE - 2
ARTIFIX
Thorax 1CTA_THORACIC_AORTA_GATED (Adult)
A Aorta w-c 1.5 B20f 60%
A Aorta w-c 3.0 SPO cor 55%
A Aorta w-c 3.0 SPO Sag Obl
A Aorta w-c MULTIPHASE
ASSURANCETOURIX
Thorax 1WB_PETCT
CT WB w-contrast 5.0 B30s
PET WB
PET WB-uncorrected
BEAUFIX
BEAUFIX
dyn_echo bh perfusion_SUB_MIP_COR
fl2d_qfss_cor_post
fl2d_qfss_tra_post
Mip thin 5mm_arterial
Mip thin 5mm_venous
mra_highres
SUB_arterial
t2_haste_cor
BRAINIX
IRM cerebrale, neuro-crane
SOUS - 702
sT2-TSE-T - 301
sT2W-FLAIR - 401
T1-3D-FFE-C - 801
T1-SE-extrp - 601
T1-SE-extrp - 701
T2W-FE-EPI - 501
BREBIX
CT10 ponction foie
DEF FOIE ART. - 107198
DEF. VEINEUX - 107205
CALIX
CT1 abdomen
D30MN BILISCOPIN
DEF ARTERIEL
DEF TARDIVES
DEF VEINEUSE
CARCINOMIX
CT THORACO-ABDO
ARTERIELLES - 5
CARDIX
CAT SCAN CARDIAQUE
75.0% - 5
CENOVIX
CT1 abdomen
ARTERIELLE - 6168
CEREBRIX
Neuro Crane
Axial_T1 - 5352
t1_fl2d_tra - 10
t1_mpr3D_ns_sag_gd - 16
t2_tirm_cor_dark-fluid-fs - 5
t2_tirm_cor_dark-fluid-fs - 9
t2_tse_tra_p2 - 6
_MPR Range[1]_ - 18
PET PETCT_CTplusFET_LM_Brain (Adult)
CT FET Cerebral Natif 2.0mm - 3
dynamic recon 3x10min Volume (Corrected) - 7
PET FET Cerebral - 5
PET FET Cerebral Uncorrected - 6
CETAUTOMATIX
Cardiovascular Heart-Cardiac Function
cine_retro_aortic valve
cine_retro_normal_hla
cine_retro_normal_lvla
cine_retro_normal_lvot
cine_retro_normal_rvot
cine_retro_normal_sa
cor shared echo_SUB_MIP_COR
cor thin mips ist pass
MIP thin cor first phase
mra highres.ce_S47_DIS2D
mra highres.ce_S48_DIS2D
sag timing run-flash_MIP_SAG
SUB_1st pass
t1_fl2d_cor_pre-post
Trufi_COR
Trufi_SAG
Trufi_TRANS
COLONIX
CAT SCAN ABDOMINAL COLONOSCOPIE
abd 1mm - 6
COMUNIX
Neck 1HEAD_NECK_PETCT
CT HEAD-NK 5.0 B30s
PET WB
DIASTOLIX
CorCTALow 2.0 B25f 0-95%
ENTERIX
PET PETCT_WB_apc (Adult)
Abdo art. I.V. 2.0mm - 7
Abdo-Vein. 2.0mm - 6
CT WB_Native_2mm - 3
mpr.fusion.axial - 803
mpr.fusion.coro - 804
mpr.pet.coro - 805
Patient Protocol - 501
PET WB - 102
Projection MIP - 806
Topogram 1.0 T20s - 1
FELIX
UCLA Head 3T Routine
CEMRA_HIGHRES
MIP thin cor
Shared_echo_Cor_ bh_SUB_MIP_COR
SUB_MRA
FEROVIX
Specials 1CTA-CORONARY-ADULT
CorStd 1.0 B30f
CorStd 3.0 B30f Diastole -15%
CorStd 3.0 B30f Systole 10%
FIVIX
Cardiac Cardiac_Standard (Adult)
CorCTA 0.6 B20f 65% dias - 11
CorCTA 3.0 B20f 0-90% 10ph - 13
pet cardiac 10 gates Volume (Corrected) - 404
FORURIX(RATIB1)
Cardiac 1CTA_CORONARY_ARTERIES_lowHR_TESTBOLUS (Adult)
CorCTALow 0.6 B10f 65%
CorCTALow 0.75 B25f Diastolic
CorCTALow 0.75 B25f Systolic
GOUDURIX
Specials 1_CORONARY_CTA_COMBI_SMH
70 % 1.0 B30f
GRUSELAMBIX
LHC
LHC
IDEFIX
unnamed
unnamed
INCISIX
Tete Dental (Adulte)
Dentascan 0.75 H60s - 3
KESKONRIX
Vascular 1ABD_PEL_EXTREMITY_RUNOFF (Adult)
AngioRunOff 2.0 B30f
AP-Ext Topo 0.6 T20s
KNEE
IRM DU GENOU
3D_mFFE XL - 401
DP SPAIR AX SENSE - 701
PD SPAIR COR SENSE - 801
PDW_aTSE - 501
T1W_aTSE - 301
T2W_TSE - 601
KNIX
Knee (R)
AX. FSE PD - 5
Cor FSE PD - 4
Cor FSE T1 - 7
Loc (Right) - 1
Sag FRSE PD FS - 3
Sag FSE T2 - 6
LOMBIX
IRM DE LA COLONNE LOMBAIRE
3D PROSET - 801
MYELO_radial - 701
STIR_TSE - 501
T1W_TSE - 401
T2W_DRIVE - 301
T2W_TSE SENSE - 601
LUNGIX
PET PETCT_WB_apc (Adult)
CT WB_Native_2mm - 3
PET WB - 102
_ALPHA Collection_ - 107
MACOESSIX
CT1 abdomen
3D MIP - 5533
3D VR - 5577
AVEC I.V. - 5305
MAGIX
Cardiaque Cardiaque_standard (Adulte)
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 0 % - 10
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 10 % - 10
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 20 % - 10
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 30 % - 10
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 40 % - 10
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 50 % - 10
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 60 % - 10
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 70 % - 10
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 80 % - 10
Cir CardiacCirc 3.0 B20f 0-90% RETARD_DECLECHEMENT 90 % - 10
MANIX
CER-CT
ANGIO CT
AVEC I.V
SANS I.V
unnamed
MATRIX
Angio Membres inferieurs
ANATOMIE + VAISSEAUX BAS - 65
ANATOMIE + VAISSEAUX HAUT - 64
III_Fl3d_cor_cuisse_550 - 25
III_Fl3d_cor_cuisse_550_SUB - 26
III_Fl3d_cor_cuisse_550_SUB_MIP_COR - 28
II_Fl3d_cor_pelvis_825mm - 21
II_Fl3d_cor_pelvis_825mm_SUB - 22
II_Fl3d_cor_pelvis_825mm_SUB_MIP_COR - 24
IV_Fl3d_cor_genou_275mm - 29
IV_Fl3d_cor_genou_275mm_SUB - 30
IV_Fl3d_cor_genou_275mm_SUB_MIP_COR - 32
I_Fl3d_cor_abdomen_1100mm - 17
I_Fl3d_cor_abdomen_1100mm_SUB - 18
I_Fl3d_cor_abdomen_1100mm_SUB_MIP_COR - 20
MIP TOTAL - 63
Reformat Series 1 - 182131
V_Fl3d_cor_dynamique_SUB_MIP_COR - 45
V_Fl3d_cor_jambe_0mm - 33
V_Fl3d_cor_jambe_0mm - 37
V_Fl3d_cor_jambe_0mm_SUB - 34
V_Fl3d_cor_jambe_0mm_SUB - 38
V_Fl3d_cor_jambe_0mm_SUB_MIP_COR - 36
V_Fl3d_cor_jambe_0mm_SUB_MIP_COR - 40
MECANIX
Vasculaire ANGIO_AORTE (Adulte)
3D VR - 5631
3D VR - 5633
Angio Aorte 1.5mm - 6
Aorte SPC 3.0mm - 3
Topogramme 0.6 T20s - 1
MELANIX
PET PETCT_WB_spc (Adult)
CT AV-BR_Native_2mm - 7
CT WB_Native_2mm - 3
mip projection - 809
MPR fusion WB coronal - 5303
mpr.axial.av-br.fusion - 810
mpr.axial.fusion - 805
mpr.coro.av-br.fusion - 811
mpr.coro.av-br.pet - 812
mpr.coro.fusion - 806
mpr.coro.pet - 807
PET AV-BR - 105
PET AV-BR Uncorrected - 106
PET WB - 102
MERGE
COLONNE
LOMBAIRE FACE PA - 3
MRIX LUMBAR
Lumbar
3-Plane Loc - 1
48 FOV Loc - 2
Ax FRFSE PD - 7
Ax T2 frFSE S - 5
Sag T1 Flair - 4
Sag T2 frFSE S - 3
Thoracic; Lumbar
3-Plane Loc - 1
48 FOV Loc - 2
Ax FRFSE PD - 7
Ax T2 frFSE S - 5
Sag T1 Flair - 6
Sag T2 frFSE S - 4
OBELIX
Specials 1_COMBI_CORONARY_SMH
30%1.0 B20f
65%1.0 B20f
70 %1.0 B30f
CorCTA 1.0 B30f
WholeBody 2.0 B20f
Ordalfabetix
Cardiovascular_Mra - 1
AX_T1_FL2D_OOPFSPOST_39
AX_T1_FL2D_OOPFSpre_5
corT1_FL2D_OOPFSpOST_40
corT1_FL2D_OOPFSpre_6
COR_subsec_timing_SUB_MIP_COR_8
fl3d_ce_highres_GADO_38
fl3d_ce_highres_MASK_36
MIP_RENALS_MIP_Range_43
trufi_cor_2
trufi_sag_4
trufi_tra_3
OSIRIX
Thorax Thorax_abdo_01 (Adulte)
Abdo.tardives 2.0 B25f - 7
Thorax-Abdo 2.0 B25f - 4
Thorax-Abdo 6.0 SPO cor - 9
Thorax-Abdo 6.0 SPO sag - 10
PANORAMIX
Abdomen 1ABD_PEL_AAA
abd-pel scout 1.0 T20s
Abd-Pel w-c 3.0 B30f
PELVIX
Bassin Bassin (Adulte)
Bassin 2.0mm std - 2
CT1 pelvis, bassin
BASSIN - 8577
PETCETIX
PET PETCT_WB_apc (Adult)
Abdo-Veineux 3.0mm - 9
CT WB_Native_3mm - 4
mpr.axial.fusion - 603
mpr.cor.fusion - 604
mpr.cor.pet - 605
PET WB - 102
Thorax I.V. 3.0mm - 7
PHENIX
CT2 tete, face, sinus
COU IV
OS
unnamed
PNEUMATIX
Cardiovascular Heart-Cardiac Function
cine_retro_aortic arch
cine_retro_hla
cine_retro_lvot
cine_retro_lvot trans
cine_retro_sa
cine_retro_vla
cor shared echo_SUB_MIP_COR
fl3d-cor
PROSTATIX
PET PETCT_Choline_LM_plusPETCT_WB (Adult)
CT WB_Natif 2.0mm - 3
dynamic recon 3x3min Volume (Corrected) - 13
mpr.axial.fusion.choline.WB - 808
mpr.coronal.fusion.choline.WB - 809
mpr.coronal.pet.choline.WB - 813
PET Prost 5min - 6
PET WB - 5
QUANTREDEUSIX
Cardiovascular Heart-Cardiac Function
cemra highres
cor shared echo_SUB_MIP_COR
haste_ coronal
TOUTATIX
Cardiac 1CTA_CORONARY_ARTERIES_TESTBOLUS (Adult)
Chest Topo 0.6 T20s
CorCTA 0.75 B25f Diastole 65%
CorCTA 0.75 B25f Systolic25%
Heart w-o 1.5 B25f 55%
No ArchiveCorCTA 2.0 Multiphase
TRAGICOMIX
Thorax 1CTA_THORACIC_AORTA_GATED (Adult)
A Aorta w-c 3.0 B20f 0-95%
A Aorta w-c 3.0 SPO 55%
A Aorta w-o 1.0 B20f 85%
A Aorta w-o 2.0 B10f 85%Smooth
Chest Topo 0.6 T20s
VIX
Extremites inferieures Pied_cheville_UHR (Adulte)
Pied-cheville 1.0mm std - 5
VOLUMEMERGE
IRM DE LA COLONNE CERVICO-DORSO-LOMBAIRE
MobiView - 305
MobiView - 405
MobiView - 505
STIR_TSE_MT - 501
STIR_TSE_MT - 502
STIR_TSE_MT - 503
T1W_TSE_MT - 401
T1W_TSE_MT - 402
T1W_TSE_MT - 403
T2W_TSE_MT - 301
T2W_TSE_MT - 302
T2W_TSE_MT - 303
WRIX
WRIST RIGHT
SCOUT 3-PLANE RT. - 2
SCOUT AXIAL LG FOV RT. - 1
STIR COR. RT. - 5
T1 TSE COR RT. - 4
T2 TSE AX FS RT. - 3
参考にしたサイト
DICOM files
OsirixのサイトにあるDICOMサンプルデータ。
フォルダ内のファイル一覧をテキスト ファイルに出力する方法
これをヒントにバッチファイルを作りはじめました。
バッチファイルでのドラッグ&ドロップ対応 [Win,コマンドプロンプト] - Diary on wind
ドロップしたファイルの処理方法。
dirコマンドでよく使うパラメータ・オプションまとめ
dirコマンドについていろいろ例が載っています。
追加書き込みでファイルへ出力 - リダイレクトとパイプ - コマンドプロンプトの使い方
バッチファイルの結果を順次追加記録する方法。
for“/d”コマンドについて - マイクロソフト コミュニティ
forでディレクトリを列挙する方法。in (*)は省略できないのですね。
雑記 ※BLOGじゃないから恥ずかしくないもん!
forを抜けるコマンドはないし、gotoではネストのforをすべて抜けるしかできないのですね、、、
0 件のコメント:
コメントを投稿