AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
May 27, 2009 03:45PM
Hi Lesley,

A messy discussion...

The issue is that true '1d' programs expect time to vary over rows
(so each column is a time series). But the '3d' programs generally
expect time to vary over columns. That is confusing, but to change
it would break many existing scripts, to be sure.

For output, when a program creates a 1D dataset intentionally, it
tends to be vertical. But if it normally creates a 3D dataset and
is just being used on a 1D input dataset to create a 1D output
dataset, then it is typical for it to be created horizontally.

So walking through your script...

3dmaskave:
- output is expected to be 1D, and is therefore vertical

3dDetrend:
- input is expected to be 3D, and therefore you had to transpose it
- output is expected to be 3D, so you transposed afterwards

3dTfitter:
- RHS input may expect 1D data, and so might expect it vertically
- FALTUNG input may be expected as 3D, so 1D data needs to be horizontal
(not sure about that)
- output would be similar, expected as 3D, so written horizontally

-----

After that I guess you use 1deval. But that is a '1d' program that
would expect the data to be vertical. Since 3dTfitter would write
it horizontally, you might want to use 1dtranspose on it.

-----

This is messy. Many of these programs were intended to work on 3D
volumes. But even for ones that weren't, the time direction is not
clear. For a time series of 1000 values, it is nice to store it
vertically, so it is easy to read. But if there are 200000 nodes,
with 10 values each (like a bucket or time series), then it is much
nicer for time to be horizontal.

Basically, you must just learn the way any given program works. :(

- rick

Subject Author Posted

Columns to Rows?

Lesley Fidler May 27, 2009 01:40PM

Re: Columns to Rows?

Lesley Fidler May 27, 2009 02:19PM

Re: Columns to Rows?

Lesley Fidler May 27, 2009 02:36PM

Re: Columns to Rows?

rick reynolds May 27, 2009 03:45PM

Re: Columns to Rows?

Lesley Fidler June 01, 2009 11:40AM