<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Hi Tobias,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">maybe you need to call</div><div class="gmail_default" style="font-size:small"><font face="monospace, monospace">make ITKData</font></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">before the other two calls (which look OK).</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Regards,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small">Dženan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 14, 2017 at 10:06 AM, Wood, Tobias <span dir="ltr"><<a href="mailto:tobias.wood@kcl.ac.uk" target="_blank">tobias.wood@kcl.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks again Brad.<br>
<br>
I have one more question that I apologise in advance for asking, because it is probably in a help guide somewhere but I can’t find it - What is the minimum set of commands required to rebuild and rerun a single test after I make changes?<br>
<br>
I’m trying to avoid doing a ‘make all’ or ‘make test’ so I don’t have to wait for all >2000 tests to compile and run. I have been trying:<br>
<br>
make ITKIOBruker2DSEQTestDriver -j 4<br>
ctest -R -V itkBruker2DSEQ<br>
<br>
However, this does not seem to trigger the transfer of the test files into the ExternalData/Modules/IO directory, and the test fails. I’m clearly missing something obvious...<br>
<br>
Toby<br>
<div class="HOEnZb"><div class="h5"><br>
On 14/06/2017, 14:30, "Lowekamp, Bradley (NIH/NLM/LHC) [C]" <<a href="mailto:blowekamp@mail.nih.gov">blowekamp@mail.nih.gov</a>> wrote:<br>
<br>
That is a little complicated of a directory structure.<br>
<br>
I would separate the arguments to run the test and defining the data dependency. First `ExternalData_Expand_<wbr>Arguments` is called with the path to “acquisition” in the source directory, which contains the MD5. Something like:<br>
<br>
ExternalData_Expand_Arguments(<wbr>ITKData<br>
ExpandedData # ignores output variable<br>
DATA{Input/acquisition/,<wbr>RECURSE:,REGEX:.*}<br>
)<br>
<br>
Then add the test :<br>
itk_add_test( NAME itkBurkerTest1 COMMAND ITKBurkerTestDirver DATA{Input/acquisition/1/<wbr>2dseq}"<br>
<br>
You can find an example of this here:<br>
<a href="https://github.com/InsightSoftwareConsortium/ITK/blob/c5c879ad54778ce3b514fd35c197ed4340ccd976/Modules/Filtering/FFT/test/CMakeLists.txt#L138-L150" rel="noreferrer" target="_blank">https://github.com/<wbr>InsightSoftwareConsortium/ITK/<wbr>blob/<wbr>c5c879ad54778ce3b514fd35c197ed<wbr>4340ccd976/Modules/Filtering/<wbr>FFT/test/CMakeLists.txt#L138-<wbr>L150</a><br>
<br>
Please note I have not tried those lines, but I expect them to be close to the proper things to do.<br>
<br>
Brad<br>
<br>
<br>
On Jun 14, 2017, at 9:13 AM, Wood, Tobias <<a href="mailto:tobias.wood@kcl.ac.uk">tobias.wood@kcl.ac.uk</a>> wrote:<br>
<br>
Thanks very much Brad. Individual responses below.<br>
<br>
<br>
If you need an entire folder, you can create it here. I am not sure what problem you encountered with this layout.<br>
<br>
To be honest, I didn’t try it. I assumed it would cause problems. I will try it.<br>
<br>
<br>
There are quite a number of options for referencing files series, file pair, and associated directories. I would expect this to meet you needs.<br>
<br>
Again thanks - I had completely missed this documentation.<br>
<br>
<br>
It’s not clear to me what files are needed when reading, if you need recommendation on using `DATA{}` please be specific with the files needed by the IO, and their locations.<br>
<br>
The bare minimum required to read the image are the ‘2dseq’ and ‘visu_pars’ file. I have kept the convention of the old Bruker reader which is to specify the ‘2dseq’ file as the input, and then to work out the paths to ‘visu_pars’ and the other headers.<br>
<br>
The Bruker format is a bit complex. The issue is that each acquisition can be reconstructed multiple times. The directory structure goes something like this:<br>
<br>
acquistion/<br>
method<br>
<- An important header file<br>
acqp<br>
<- Another important header<br>
fid<br>
<- Raw data<br>
***bunch of other stuff***<br>
pdata/<br>
1/<br>
2dseq<br>
<- Reconstructed data<br>
visu_pars<br>
<- Most important header<br>
reco<br>
<- Less important header, mostly duplicated in visu_pars<br>
procs<br>
<- Unimportant header<br>
id<br>
<- Unimportant header<br>
2/<br>
2dseq<br>
visu_pars<br>
reco<br>
procs<br>
id<br>
...<br>
<br>
I hope the indentation survives transmission. Here, 1 and 2 are different reconstructed images, for instance magnitude and phase, or for diffusion it might be raw images and a multi-volume file containing FA, MD etc. as calculated by ParaVision.<br>
<br>
>From Paravision 6 onwards, the bare minimum to read an image seems to be 2dseq + visu_pars. However, some important meta-data like diffusion b-values and b-vectors is only present in the method header. Hence I’m not entirely sure what should be considered a valid “image” by ITK - just 2dseq + visu_pars, or the entire data structure?<br>
<br>
For my uses, I think the best approach would be to consider 2dseq + visu_pars the minimum, but if the other headers are present read them in to get the meta-data. Is that acceptable?<br>
<br>
Best wishes,<br>
Toby<br>
<br>
<br>
<br>
<br>
</div></div><div class="HOEnZb"><div class="h5">______________________________<wbr>_________________<br>
Community mailing list<br>
<a href="mailto:Community@itk.org">Community@itk.org</a><br>
<a href="http://public.kitware.com/mailman/listinfo/community" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/community</a><br>
</div></div></blockquote></div><br></div>