ELF>@@+*  UH@dH%(HD$81HHt$HD$HFHD$$D$ t0H|$1HT$8dH+%(uhH@]@HT$H|$H5|$HtHt+HH5HPtHuH1Huff.fUSHHdH%(HD$81HHt$HD$HFHD$$D$ HD$t6H|$1HT$8dH+%(HH[]DHt$H|$tHl$H=HtHH=uHuHc@HH=tHH=tHH=tHff.ATUSH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uYHD$Ho(Ht!\$ +\$$tJH|$1HT$8dH+%(H@[]A\HHuːHt$H|$tD$$Ld$u`HELH@H;H=tLH=u-HaHcVf.LLH=tLH=tLH=tLHЉfSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(u7H0[fDHHuӐHuHcSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(u7H0[fDHHuӐHuHcSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(u7H0[fDHHuӐHuHcSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(u7H0[fDHHuӐHuHcSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(u7H0[fDHHuӐHuHcSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(uBH0[fDHHuӐf~HufnfZDSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(uBH0[fDHHuӐf~HufnfZDSH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(uBH0[fDHHuӐf~HufnfZDUH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(u=H0]fDHHuӐHHuHf.UH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(u=H0]fDHHuӐHHuHf.UH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u=H(HtD$9D$t:H111HT$(dH+%(u=H0]fDHHuӐHHuHf.ATUH8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$uCH(HtD$9D$tHH111HT$(dH+%(H8]A\fDHHuftLHpHuHtVHHHIHuLH|fDHHH;tHfDHHFff.UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHD$Ho(Ht!D$ +D$$t=H|$1HT$8dH+%(uNH@]ÐHHuؐHt$H|$tHt$HHuHH@ATH0fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$uDH(HtD$9D$tIH11E1HD$(dH+%(H0LA\@HHufHHRxH;IMtoI$H5LPtZHuLIHoHbL1HHP@L8fE1H"DIjfATUH8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u;H(HtD$9D$t8H111HT$(dH+%(uoH8]A\fHHuՐHHuHt1HHHIHuLH@HHfDATUH8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u;H(HtD$9D$t8H111HT$(dH+%(uoH8]A\fHHuՐHHuHt1HHHIHuLH@HHfDATUH8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u;H(HtD$9D$t8H111HT$(dH+%(uoH8]A\fHHuՐHHuHt1HHHIHuLH@HHfDATUH8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$u;H(HtD$9D$t8H111HT$(dH+%(uoH8]A\fHHuՐHHuHt1HHHIHuLH@HHfDATUH8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$uCH(HtD$9D$tHH111HT$(dH+%(H8]A\fDHHufuHHH;uAHuAH-LHHuLHsDHHYHuHHFHIff.ATUH8fnFdH%(HD$(1HH4$HD$HGfnȉD$fbfD$uCH(HtD$9D$tHH111HT$(dH+%(H8]A\fDHHufuHHH;uAHuAH-LHHuLHsDHHYHuHHFHIff.ATL%H LHH5LuLHLA\ATIUHHt HH5LHtHmtH]A\HH]A\UH@fnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uLHD$Ho(Ht!D$ +D$$t=H|$1HT$8dH+%(ukH@]ÐHHuؐHt$H|$tċD$$Ht$u(HEHHuHcDHATUHHfnFdH%(HD$81HHt$HD$HGfnȉD$(fbfD$ uZHD$Ho(Ht!D$ +D$$tKH|$1HT$8dH+%(HH]A\fHHuʐHt$H|$tD$$Ld$uHEHH;udHpHtHHtHDžpLHHDžHDHH6LHHp.dcmHDICOMHSafeDownCastvtkObjectBasevtkDICOMImageReaderIsTypeOfIsAGetWidthGetHeightGetBitsAllocatedGetPixelRepresentationGetNumberOfComponentsGetGantryAngleGetRescaleSlopeGetRescaleOffsetGetPixelSpacingGetImagePositionPatientGetImageOrientationPatientGetDirectoryNameSetDirectoryNameNewInstanceGetStudyIDGetStudyUIDGetTransferSyntaxUIDGetPatientNameGetFileExtensionsGetDescriptiveNameCanReadFileSetFileNamevtkImageReader2vtkImageAlgorithmvtkAlgorithmvtkObjectUH=Hu]ÐHH=tHH=tHH=tHH=tH]vtkDICOMImageReader - Reads some DICOM images Superclass: vtkImageReader2 DICOM (stands for Digital Imaging in COmmunications and Medicine) is a medical image file format widely used to exchange data, provided by various modalities. @warning This reader might eventually handle ACR-NEMA file (predecessor of the DICOM format for medical images). This reader does not handle encapsulated format, only plain raw file are handled. This reader also does not handle multi-frames DICOM datasets. @warning Internally DICOMParser assumes the x,y pixel spacing is stored in 0028,0030 and that z spacing is stored in Slice Thickness (correct only when slice were acquired contiguous): 0018,0050. Which means this is only valid for some rare MR Image Storage @sa vtkBMPReader vtkPNMReader vtkTIFFReader vtkIOImagePython.vtkDICOMImageReaderV.IsTypeOf(string) -> int C++: static vtkTypeBool IsTypeOf(const char *type) Static method for construction. V.IsA(string) -> int C++: vtkTypeBool IsA(const char *type) override; Static method for construction. V.SafeDownCast(vtkObjectBase) -> vtkDICOMImageReader C++: static vtkDICOMImageReader *SafeDownCast(vtkObjectBase *o) Static method for construction. V.NewInstance() -> vtkDICOMImageReader C++: vtkDICOMImageReader *NewInstance() Static method for construction. V.SetFileName(string) C++: void SetFileName(const char *fn) override; Set the filename for the file to read. If this method is used, the reader will only read a single file. V.SetDirectoryName(string) C++: void SetDirectoryName(const char *dn) Set the directory name for the reader to look in for DICOM files. If this method is used, the reader will try to find all the DICOM files in a directory. It will select the subset corresponding to the first series UID it stumbles across and it will try to build an ordered volume from them based on the slice number. The volume building will be upgraded to something more sophisticated in the future. V.GetDirectoryName() -> string C++: virtual char *GetDirectoryName() Returns the directory name. V.GetPixelSpacing() -> (float, float, float) C++: double *GetPixelSpacing() Returns the pixel spacing (in X, Y, Z). Note: if there is only one slice, the Z spacing is set to the slice thickness. If there is more than one slice, it is set to the distance between the first two slices. V.GetWidth() -> int C++: int GetWidth() Returns the image width. V.GetHeight() -> int C++: int GetHeight() Returns the image height. V.GetImagePositionPatient() -> (float, float, float) C++: float *GetImagePositionPatient() Get the (DICOM) x,y,z coordinates of the first pixel in the image (upper left hand corner) of the last image processed by the DICOMParser V.GetImageOrientationPatient() -> (float, float, float, float, float, float) C++: float *GetImageOrientationPatient() Get the (DICOM) directions cosines. It consist of the components of the first two vectors. The third vector needs to be computed to form an orthonormal basis. V.GetBitsAllocated() -> int C++: int GetBitsAllocated() Get the number of bits allocated for each pixel in the file. V.GetPixelRepresentation() -> int C++: int GetPixelRepresentation() Get the pixel representation of the last image processed by the DICOMParser. A zero is a unsigned quantity. A one indicates a signed quantity V.GetNumberOfComponents() -> int C++: int GetNumberOfComponents() Get the number of components of the image data for the last image processed. V.GetTransferSyntaxUID() -> string C++: const char *GetTransferSyntaxUID() Get the transfer syntax UID for the last image processed. V.GetRescaleSlope() -> float C++: float GetRescaleSlope() Get the rescale slope for the pixel data. V.GetRescaleOffset() -> float C++: float GetRescaleOffset() Get the rescale offset for the pixel data. V.GetPatientName() -> string C++: const char *GetPatientName() Get the patient name for the last image processed. V.GetStudyUID() -> string C++: const char *GetStudyUID() Get the study uid for the last image processed. V.GetStudyID() -> string C++: const char *GetStudyID() Get the Study ID for the last image processed. V.GetGantryAngle() -> float C++: float GetGantryAngle() Get the gantry angle for the last image processed. V.CanReadFile(string) -> int C++: int CanReadFile(const char *fname) override; Return non zero if the reader can read the given file name. Should be implemented by all sub-classes of vtkImageReader2. For non zero return values the following values are to be used 1 - I think I can read the file but I cannot prove it 2 - I definitely can read the file 3 - I can read the file and I have validated that I am the correct reader for this file V.GetFileExtensions() -> string C++: const char *GetFileExtensions() override; Get the file extensions for this format. Returns a string with a space separated list of extensions in the format .extension V.GetDescriptiveName() -> string C++: const char *GetDescriptiveName() override; Return a descriptive name for the file format that might be useful in a GUI. HHATIUHHHpHtHHtHDžpLHHDžH]A\HDGCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0GNUzRx  0 D X l EDPa AE uEY B P("EAD`n AAF 0FAA D`  AABH $ED@ AG HED@ AG lED@ AG ED@ AG ED@ AG ED@ AG ED@ AG ED@ AG DED@ AG hED@ AG ED@ AG (5FADP ABG EDP AB gFD@ EE ($FADP ABC (PFADP ABC (|FADP ABC (FADP ABC (BFADP ABG (BFADP ABG ,MFF0HOFDD n ABA DDB|  EDP AB $[FDG BAB,gFAD` ABJ f   '[" @OP7 o   '` 5_ g/kBPB4!@W@ Pg! /" /8<E$O*`0w6<BHNTZ`f"l.r9xE~Zi {" " " 6U"  1"uRYy = j     9 f     E L h t       / W   M    O* ? K u "[      '?Ti|_ZL31PyvtkDICOMImageReader_StaticNewv_ZL34PyvtkDICOMImageReader_SafeDownCastP7_objectS0__ZL30PyvtkDICOMImageReader_IsTypeOfP7_objectS0__ZL25PyvtkDICOMImageReader_IsAP7_objectS0__ZL30PyvtkDICOMImageReader_GetWidthP7_objectS0__ZL31PyvtkDICOMImageReader_GetHeightP7_objectS0__ZL38PyvtkDICOMImageReader_GetBitsAllocatedP7_objectS0__ZL44PyvtkDICOMImageReader_GetPixelRepresentationP7_objectS0__ZL43PyvtkDICOMImageReader_GetNumberOfComponentsP7_objectS0__ZL36PyvtkDICOMImageReader_GetGantryAngleP7_objectS0__ZL37PyvtkDICOMImageReader_GetRescaleSlopeP7_objectS0__ZL38PyvtkDICOMImageReader_GetRescaleOffsetP7_objectS0__ZL37PyvtkDICOMImageReader_GetPixelSpacingP7_objectS0__ZL45PyvtkDICOMImageReader_GetImagePositionPatientP7_objectS0__ZL48PyvtkDICOMImageReader_GetImageOrientationPatientP7_objectS0__ZL38PyvtkDICOMImageReader_GetDirectoryNameP7_objectS0__ZL38PyvtkDICOMImageReader_SetDirectoryNameP7_objectS0__ZL33PyvtkDICOMImageReader_NewInstanceP7_objectS0__ZL32PyvtkDICOMImageReader_GetStudyIDP7_objectS0__ZL33PyvtkDICOMImageReader_GetStudyUIDP7_objectS0__ZL42PyvtkDICOMImageReader_GetTransferSyntaxUIDP7_objectS0__ZL36PyvtkDICOMImageReader_GetPatientNameP7_objectS0__ZL39PyvtkDICOMImageReader_GetFileExtensionsP7_objectS0__ZL40PyvtkDICOMImageReader_GetDescriptiveNameP7_objectS0__ZL26PyvtkDICOMImageReader_Type_ZL29PyvtkDICOMImageReader_Methods_GLOBAL__sub_I_vtkDICOMImageReaderPython.cxx_ZL33PyvtkDICOMImageReader_CanReadFileP7_objectS0__ZL33PyvtkDICOMImageReader_SetFileNameP7_objectS0_.LC2.LC3.LC4.LC9.LC5.LC6.LC7.LC8.LC10.LC11.LC12.LC13.LC14.LC15.LC16.LC17.LC18.LC19.LC20.LC21.LC22.LC23.LC24.LC25.LC26.LC27.LC28.LC29.LC0.LC30.LC1.LC32.LC33.LC31_ZN19vtkDICOMImageReader16GetDirectoryNameEv_ZN19vtkDICOMImageReader17GetFileExtensionsEv_ZN19vtkDICOMImageReader18GetDescriptiveNameEv_ZN19vtkDICOMImageReader3NewEv_ZNK19vtkDICOMImageReader19NewInstanceInternalEv_ZN13vtkPythonArgs13ArgCountErrorEii_ZN13vtkPythonArgs17GetArgAsVTKObjectEPKcRbPyErr_Occurred_ZN13vtkPythonUtil20GetObjectFromPointerEP13vtkObjectBase__stack_chk_fail_ZN19vtkDICOMImageReader3IsAEPKcstrcmp_ZN13vtkObjectBase8IsTypeOfEPKc_ZN13vtkPythonArgs8GetValueERPcPyLong_FromLong_ZN13vtkPythonArgs19GetSelfFromFirstArgEP7_objectS1__GLOBAL_OFFSET_TABLE__ZN19vtkDICOMImageReader8GetWidthEv_ZN19vtkDICOMImageReader9GetHeightEv_ZN19vtkDICOMImageReader16GetBitsAllocatedEv_ZN19vtkDICOMImageReader22GetPixelRepresentationEv_ZN19vtkDICOMImageReader21GetNumberOfComponentsEv_ZN19vtkDICOMImageReader14GetGantryAngleEvPyFloat_FromDouble_ZN19vtkDICOMImageReader15GetRescaleSlopeEv_ZN19vtkDICOMImageReader16GetRescaleOffsetEv_ZN19vtkDICOMImageReader15GetPixelSpacingEv_ZN13vtkPythonArgs10BuildTupleEPKdi_ZN19vtkDICOMImageReader23GetImagePositionPatientEv_ZN13vtkPythonArgs10BuildTupleEPKfi_ZN19vtkDICOMImageReader26GetImageOrientationPatientEvstrlenPyUnicode_FromStringAndSizePyErr_ClearPyBytes_FromStringAndSize_Py_NoneStruct_ZN19vtkDICOMImageReader16SetDirectoryNameEPKcPyVTKObject_CheckPyVTKObject_GetObjectPyVTKObject_SetFlag_ZN19vtkDICOMImageReader10GetStudyIDEv_ZN19vtkDICOMImageReader11GetStudyUIDEv_ZN19vtkDICOMImageReader20GetTransferSyntaxUIDEv_ZN19vtkDICOMImageReader14GetPatientNameEvPyvtkDICOMImageReader_ClassNewPyVTKClass_AddPyvtkImageReader2_ClassNewPyType_ReadyPyVTKAddFile_vtkDICOMImageReaderPyDict_SetItemString_Py_Dealloc_ZN19vtkDICOMImageReader11CanReadFileEPKc_ZN19vtkDICOMImageReader11SetFileNameEPKc_ZdaPv_ZN15vtkImageReader211SetFileNameEPKcPyType_TypePyVTKObject_DeletePyVTKObject_ReprPyVTKObject_StringPyObject_GenericGetAttrPyObject_GenericSetAttrPyVTKObject_AsBufferPyVTKObject_TraversePyVTKObject_GetSetPyVTKObject_NewPyObject_GC_Del,+`R,S-TUTV .JR}Z-X/XT[0X1X2XYVD3R\Z*W- X./3X<TM[n0sX1X2XYV4.RQ\a^hTu[|V5R\!_(T5[<Va6R\`T[V!7nR\aT[V8.RQ\abhTu[|V9R\!c*T@dGVq:R\eT d VA ; R \ f T d V <^ R \ g T h V =. RQ \a ii T{ j V > R! \1 k9 TK jR V ? R \ T. l< mF nQ om *M *p V @#RA\[ZlqqT}*pVAR)\J*QUPh-wTUrstTV#BpR\uTlmno*pV#CpR\vTlmno*pV#DpR\wTlmno*pV#EpR\xTlmno*pV#FpR\*NTGmnoT#*p1V9lsHR\*OT*I5m?nJo^Ts*pVl)-*z){)|y-~aJR\Z T-[<EVsKR\Z>*QbT*pVP;GIP-X&/+X90>XL1QX_2dXqYL)$/W# 0X8@/#H 8( 8#@HX# `"hx#P#0 #` # #(<#H E(8# @H X# `h x# O@# `#X w#0 E# P#P ( 8#@ZHX#(`9hx#.##x@#i#{P#x 4H\p  (Lp@P$ H l  `  (TP0L$@'P.symtab.strtab.shstrtab.rela.text.data.bss.text._ZN19vtkDICOMImageReader16GetDirectoryNameEv.rodata._ZN19vtkDICOMImageReader17GetFileExtensionsEv.str1.1.rela.text._ZN19vtkDICOMImageReader17GetFileExtensionsEv.rodata._ZN19vtkDICOMImageReader18GetDescriptiveNameEv.str1.1.rela.text._ZN19vtkDICOMImageReader18GetDescriptiveNameEv.rela.text._ZNK19vtkDICOMImageReader19NewInstanceInternalEv.rodata.str1.1.rodata._ZN19vtkDICOMImageReader3IsAEPKc.str1.1.rela.text._ZN19vtkDICOMImageReader3IsAEPKc.rodata.str1.8.rela.text.startup.rela.init_array.rela.text._ZN19vtkDICOMImageReader11SetFileNameEPKc.rela.data.rel.rela.data.rel.local.comment.note.GNU-stack.note.gnu.property.rela.eh_frame.group@(MH (NT (O` (Ql (Wx ( @W(&G,G1P d2\p @o( 2| @o(W R@p(22O9u@(p(2  1@0q0( 81@`q(1@1[,@xqH(f1 a@q (u@3@ p@r(!06,66 6@yH(&;h )M @I0}