⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 analyzedirectorientsupport.txt

📁 mri_toolbox是一个工具用来MRI. 来自于SourceForge, 我上传这个软件,希望能结识对医疗软件感兴趣的兄弟.
💻 TXT
字号:

Dear Darren,

Thank you for this information.  We would be happy to provide you with some
additional information.  

> I have read the Analyze 7.5 format documentation from the 
> website, but cannot fully understand how to interpret the 
> orientation numbers 0-5, especially the dimensions of flipping.

The 'orient' field in the data_history structure specifies the primary
orientation of the data as it is stored in the file on disk.  This usually
corresponds to the orientation in the plane of acquisition, given that this
would correspond to the order in which the data is written to disk by the
scanner or other software application.  As you know, this field will contain
the values:

orient = 0 transverse unflipped
1 coronal unflipped
2 sagittal unflipped
3 transverse flipped
4 coronal flipped
5 sagittal flipped

It would be vary rare that you would ever encounter any old Analyze 7.5
files that contain values of 'orient' which indicate that the data has been
'flipped'.  The 'flipped flag' values were really only used internal to
Analyze to precondition data for fast display in the Movie module, where the
images were actually flipped vertically in order to accommodate the raster
paint order on older graphics devices.  The only cases you will encounter
will have values of 0, 1, or 2.

As mentioned, the 'orient' flag only specifies the primary orientation of
data as stored in the disk file itself.  It has nothing to do with the
representation of the data in the 3D Analyze coordinate system, which always
has a fixed representation to the data.  The meaning of the 'orient' values
should be interpreted as follows:

orient = 0:  The primary orientation of the data on disk is in the
transverse plane relative to the object scanned.  Most commonly, the fastest
moving index through the voxels that are part of this transverse image would
span the right-left extent of the structure imaged, with the next fastest
moving index spanning the posterior-anterior extent of the structure.  This
'orient' flag would indicate to Analyze that this data should be placed in
the X-Y plane of the 3D Analyze Coordinate System, with the Z dimension
being the slice direction.

orient = 1:  The primary orientation of the data on disk is in the coronal
plane relative to the object scanned.  Most commonly, the fastest moving
index through the voxels that are part of this coronal image would span the
right-left extent of the structure imaged, with the next fastest moving
index spanning the inferior-superior extent of the structure.  This 'orient'
flag would indicate to Analyze that this data should be placed in the X-Z
plane of the 3D Analyze Coordinate System, with the Y dimension being the
slice direction.

orient = 2:  The primary orientation of the data on disk is in the sagittal
plane relative to the object scanned.  Most commonly, the fastest moving
index through the voxels that are part of this sagittal image would span the
posterior-anterior extent of the structure imaged, with the next fastest
moving index spanning the inferior-superior extent of the structure.  This
'orient' flag would indicate to Analyze that this data should be placed in
the Y-Z plane of the 3D Analyze Coordinate System, with the X dimension
being the slice direction.

Orient values 3-5 have the second index reversed in order, essentially
'flipping' the images relative to what would most likely become the vertical
axis of the displayed image.

Hopefully you understand the difference between the indication this 'orient'
flag has relative to data stored on disk and the full 3D Analyze Coordinate
System for data that is managed as a volume image.  As mentioned previously,
the orientation of patient anatomy in the 3D Analyze Coordinate System has a
fixed orientation relative to each of the orthogonal axes.  This orientation
is completely described in the information that is attached, but the basics
are:

Left-handed coordinate system

X-Y plane is Transverse
X-Z plane is Coronal
Y-Z plane is Sagittal


X axis runs from patient right (low X) to patient left (high X)
Y axis runs from posterior (low Y) to anterior (high Y)
Z axis runs from inferior (low Z) to superior (high Z)

The following attachments provide all necessary information to understand
the old ANALYZE 7.5 image file format.  The items which detail the format
include:

        format.ps         - PostScript doc of selected portions of the
                            ANALYZE Reference Manual describing the format
                            and coordinate system.

        make_hdr.c        - An example program with detailed comments
showing
                            how to write an ANALYZE image file header.

        dbh.h             - An include file for make_hdr.c which details the
                            information in the file header.

AnalyzeFormat.txt - A document prepared for the Medical Imaging news group
and web pages describing the format.  This contains parts of the previous
docs with a few more helpful comments.

Also included is a small compressed ANALYZE image file for testing purposes.
The two files that comprise the ANALYZE image file are: mri_head.hdr and
mri_head.img.

The old ANALYZE 7.5 image file format still remains popular, and is still
supported in the newest versions of Analyze, but since the introduction of
the AnalyzeAVW software system in 1996, a new format has been used as the
standard image file format for Analyze, called the AnalyzeAVW image file
format.  This format provides for much more flexibility in the storage of
header information and consists of a single file per volume image (rather
than two files - .hdr and .img).  We would encourage the use of this
AnalyzeAVW image file format rather than the older ANALYZE 7.5 image file
format, so information is provided below for both of these formats.

The attached Word document AnalyzeAVWFileFormats.doc describes both the
AnalyzeAVW image file format and the volume wrapper format. The header
information contained with an AnalyzeAVW image file is completely variable
is size and content.  AnalyzeAVW uses a concept called InfoStrings which are
simply header variables with named tags that can be searched, read and
written.  The amount of information contained in the header is completely
flexible, strictly dependent on the amount of InfoString information that a
user has chosen to save in the header.  Very basic AnalyzeAVW image file
formats will only contain the very fundamental elements, such as DataType,
Width, Height, Depth, etc.  But the header could contain every DICOM element
if the AnalyzeAVW image file has been generated from DICOM data (which is
exactly what we do to maintain all DICOM information when storing the images
in the AnalyzeAVW image file format). 

The physical size of the header before the image data is also completely
dependent on the amount of information stored in the header.  Depending on
the type of system on which Analyze or an AVW-based program is being run,
the block size allocated to hold the header information is set to the
smallest swappable block size on the particular system.  This allows the
volume to be directly memory mapped via the file on that particular system
type if desired.

Hope all of this helps!

Best Regards,
Support Team
AnalyzeDirect, Inc.

>
Hi,
>
> Sorry to send so many emails on this, but this one contains some matlab
code
> to effectively read the .img file, while trying to take into account the
> hdr.hist.orient field.  It seems to me that the interpretation of the
> flipping corresponds to the following, although I'm not sure this is
> correct:
>
>
>     case 0, % transverse/axial unflipped
>
>         % For the 'transverse unflipped' type, the voxels are stored with
>         % Pixels in 'x' axis (varies fastest) - from patient right to left
>         % Rows in   'y' axis                  - from patient posterior to anterior
>         % Slices in 'z' axis                  - from patient inferior to superior
>
>     case 1, % coronal unflipped
>
>         % For the 'coronal unflipped' type, the voxels are stored with
>         % Pixels in 'x' axis (varies fastest) - from patient right to left
>         % Rows in   'z' axis                  - from patient inferior to superior
>         % Slices in 'y' axis                  - from patient posterior to anterior
>
>     case 2, % sagittal unflipped
>
>         % For the 'sagittal unflipped' type, the voxels are stored with
>         % Pixels in 'y' axis (varies fastest) - from patient posterior to anterior
>         % Rows in   'z' axis                  - from patient inferior to superior
>         % Slices in 'x' axis                  - from patient right to left
>
>     case 3, % transverse/axial flipped
>
>         % For the 'transverse flipped' type, the voxels are stored with
>         % Pixels in 'x' axis (varies fastest) - from patient left to right
>         % Rows in   'y' axis                  - from patient posterior to anterior
>         % Slices in 'z' axis                  - from patient inferior to superior
>
>     case 4, % coronal flipped
>
>         % For the 'coronal flipped' type, the voxels are stored with
>         % Pixels in 'x' axis (varies fastest) - from patient right to left
>         % Rows in   'z' axis                  - from patient inferior to superior
>         % Slices in 'y' axis                  - from patient anterior to posterior
>
>     case 5, % sagittal flipped
>
>         % For the 'sagittal flipped' type, the voxels are stored with
>         % Pixels in 'y' axis (varies fastest) - from patient posterior to anterior
>         % Rows in   'z' axis                  - from patient superior to inferior
>         % Slices in 'x' axis                  - from patient right to left
>
> So, the axial flip is in X (left/right), the coronal flip is in Y
> (anterior/posterior) and the saggital flip is in Z (superior/inferior).
> However, this is not always flipping the volumes in the slice direction. I
> would really like to know whether 'flipped' should refer to the slice
> direction or not.  I do not really understand what the
> axial/coronal/sagittal flipped volumes are.
>
> Is the default Analyze orientation transverse (slices in Z) with +X left,+Y
> anterior, +Z superior?  Does this correspond with a radiological orientation
> (ie, viewing the patient by looking up into the body from the feet with a
> transverse view)?
>
> Thanks, Darren
>
>
>
>
> ----- Original Message -----
> From: "Darren Weber" <Darren.Weber@flinders.edu.au>
> To: <support@AnalyzeDirect.com>
> Sent: Friday, January 10, 2003 12:58 PM
> Subject: .img file orientation
>
>
>
Hi,

I have to read .img files into matlab to apply some custom calculations.
I can read the hdr and img files OK, but I need clarification on the
hdr.hist.orient field codes.  I have the following information on them
already, but I fear it is incorrect.

%
% 0  transverse unflipped
%       X direction first,  progressing from patient right to left,
%       Y direction second, progressing from patient posterior to anterior,
%       Z direction third,  progressing from patient inferior to superior.
% 1  coronal unflipped
%       X direction first,  progressing from patient right to left,
%       Z direction second, progressing from patient inferior to superior,
%       Y direction third,  progressing from patient posterior to anterior.
% 2  sagittal unflipped
%       Y direction first,  progressing from patient posterior to anterior,
%       Z direction second, progressing from patient inferior to superior,
%       X direction third,  progressing from patient right to left.
% 3  transverse flipped
%       X direction first,  progressing from patient right to left,
%       Y direction second, progressing from patient anterior to posterior,
%       Z direction third,  progressing from patient inferior to superior.
% 4  coronal flipped
%       X direction first,  progressing from patient right to left,
%       Z direction second, progressing from patient superior to inferior,
%       Y direction third,  progressing from patient posterior to anterior.
% 5  sagittal flipped
%       Y direction first,  progressing from patient posterior to anterior,
%       Z direction second, progressing from patient superior to inferior,
%       X direction third,  progressing from patient right to left.


In this list, the value 0 and 3 correspond with the following comments
from a previous support email:

% For the 'transverse unflipped' type, the voxels are stored as transaxial
% slices with the 'x' direction first (varies fastest), which is oriented such
% that it progresses from patient right to patient left; followed by the 'y'
% axis, which goes from patient posterior to anterior; followed by the
% 'z' axis, which is the slice direction and moves from inferior to
% superior.  When data is loaded by the Analyze software, this is the
% default order of voxels and anatomic orientation in the coordinate
% system (left-handed coordinate system with the origin in the right,
% posterior, inferior position relative to the body).
%
% The 'transverse flipped' type simply has the 'y' axis flipped, with
% voxels that move from anterior to posterior.


However, I'm not certain about the other values.  I note especially that
none of them contain x values from left to right, they are all right to
left.

Can you please advise the correct interpretation of the above values
0-5?

Thanks very much, Darren

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -