Hi Evgueni,
thank you very much for fixing it so
quickly. I will try it tonight.
Regarding the meanings of the different
ISMRMRD flags.
ENCODE_STEP1 - that is the phase encoding
along ky
ENCODE_STEP2 - that is the phase encoding
along kz (which is only relevant for 3D MR datasets)
AVERAGE - in order to improve SNR or
average over multiple motion states to reduce motion artefacts, multiple
copies of the same k-space data can be acquired and are then averaged in
the reconstruction
SLICE - this is the slice direction
but only applies to acquisitions which obtain multiple 2D slices, for a
3D acquisition this would also be 1
CONTRAST - depending on the timing of
an MR sequence, different image contrast can be achieved (T1-weighted,
T2-weighted,...). One parameter to determine the contrast is the echo time
(i.e. time between excitation and gradient/spin echo formation). In one
scan, data can be acquired at different echo times (which is for example
done when acquiring the fat-water-separated images used for AC calculation).
The index "contrast" would then refer to the first, second, third,...
echo
PHASE - this varies a little but commonly
it is used for different phases of a cardiac cycle. In order to resolve
the motion of the heart during the cardiac cycle, the same k-space data
is commonly acquired for each part of the cardiac cycle and then labelled
with the phase index
REPETITION - this index means that the
same k-space is acquired multiple times but not synchronised to the cardiac
cycle (otherwise it would be a phase) and not to be averaged in the reconstruction
(otherwise it would be an average)
SET and SEGMENT I am also not so sure
about because I don't think I have ever come accross it so far.
Hope this helps.
Regards,
Christoph
--
Dr. Christoph Kolbitsch
Medical Physics and Metrological Information
Technologies
Physikalisch-Technische Bundesanstalt
Abbestr. 2-12
10587 Berlin, Germany
phone: +49 30 3481 7761
Von:
<[log in to unmask]>
An:
<[log in to unmask]>
Kopie:
<[log in to unmask]>
Datum:
22.12.2016 22:34
Betreff:
RE: github and
coil map calculation
Hi Christoph,
I fixed the bug and pushed
the latest changes, please try again.
I have not done fill yet
– I am still improving as_array() method (see my latest commits). It would
help me a lot if you could explain me the meaning of ‘encode_step1/2’,
’average’, ‘contrast’ and other things like that. The list of relevant
ISMRMRD flags is below – for now, I only fully understand the meaning
of first and last in slice. I have some idea about repetitions, but I have
not seen any datasets that would use the respective flags.
ISMRMRD_ACQ_FIRST_IN_ENCODE_STEP1
= 1,
ISMRMRD_ACQ_LAST_IN_ENCODE_STEP1
= 2,
ISMRMRD_ACQ_FIRST_IN_ENCODE_STEP2
= 3,
ISMRMRD_ACQ_LAST_IN_ENCODE_STEP2
= 4,
ISMRMRD_ACQ_FIRST_IN_AVERAGE
=
5,
ISMRMRD_ACQ_LAST_IN_AVERAGE
=
6,
ISMRMRD_ACQ_FIRST_IN_SLICE
=
7,
ISMRMRD_ACQ_LAST_IN_SLICE
= 8,
ISMRMRD_ACQ_FIRST_IN_CONTRAST
= 9,
ISMRMRD_ACQ_LAST_IN_CONTRAST
=
10,
ISMRMRD_ACQ_FIRST_IN_PHASE
=
11,
ISMRMRD_ACQ_LAST_IN_PHASE
= 12,
ISMRMRD_ACQ_FIRST_IN_REPETITION
= 13,
ISMRMRD_ACQ_LAST_IN_REPETITION
= 14,
ISMRMRD_ACQ_FIRST_IN_SET
= 15,
ISMRMRD_ACQ_LAST_IN_SET
= 16,
ISMRMRD_ACQ_FIRST_IN_SEGMENT
=
17,
ISMRMRD_ACQ_LAST_IN_SEGMENT
=
18,
By the way, I am not entirely
comfortable with git, so if you could keep a commented out copy of whatever
you are changing/removing (we will get rid of it eventually), then it would
be much easier for me to see what you have changed.
From: [log in to unmask]
[mailto:[log in to unmask]]
Sent: 22 December 2016 20:51
To: Ovtchinnikov, Evgueni (STFC,RAL,SC)
Cc: [log in to unmask]
Subject: github and coil map calculation
Hi Evgueni,
I tried to push my latest modifications of the demos onto github but if
I look on the github homepage at my latest commit I also see changes in
cgadgetron.cpp for example. Is this ok or did my push overwrite some of
your latest changes?
Could you please have a look at the demo 'coil_sensitivity_maps.py'. In
line 102 I try to use the 'Inati' method but I run into an error there
because a function is missing. Could you have a look if this can be fixed
easily? Otherwise I would remove this part of the demo.
Did you already have time to write a fill-function to put k-space data
back into a reconstruction chain?
Regards,
Christoph