Rather than using R's save and load functions
directly for reference objects, TractoR uses the
SerialisableObject class and these functions to save
and load objects. The main difference is that this approach stores only the
data in the object, and not the functions which operate on them. This helps
backward compatibility when new member functions are added.
isDeserialisable(object, expectedClass = NULL)serialiseReferenceObject(object, file = NULL)
deserialiseReferenceObject(file = NULL, object = NULL, raw = FALSE)
registerDeserialiser(className, deserialiser)
isDeserialisable returns TRUE if the object is
deserialisable and inherits from the specified class.
deserialiseReferenceObject returns a raw or reconstituted object
after deserialisation.
For serialiseReferenceObject, a list or object
inheriting from SerialisableObject. For other
functions, an object in (raw) serialised form. See Details.
A class name which the object is expected to inherit.
Any class is acceptable if this parameter is NULL.
A file name to deserialise from.
If TRUE, the raw serialised object is returned; otherwise
the object is converted back to its original class.
A string naming a class to be handled by the specified deserialiser.
A function taking as its argument a list of serialised fields, and returning a suitable deserialised object.
Jon Clayden
The serialiseReferenceObject function, or the serialise member
function of the SerialisableObject class can be used to create
and/or save a version of an object which contains a
hierarchical representation of the data embedded in it. These serialised
objects are standard R lists, with an "originalClass" attribute
describing the class of the original object. The
deserialiseReferenceObject function can be used to deserialise them.
Custom deserialisers can be specified using registerDeserialiser,
typically for legacy classes.
Note that this should generally NOT be used as the primary mechanism for
saving and loading MriImage objects. Saving to standard
NIfTI/Analyze format is usually preferable, and can be done using
writeImageFile.
Please cite the following reference when using TractoR in your work:
J.D. Clayden, S. Muñoz Maniega, A.J. Storkey, M.D. King, M.E. Bastin & C.A. Clark (2011). TractoR: Magnetic resonance imaging and tractography with R. Journal of Statistical Software 44(8):1-18. https://www.jstatsoft.org/v44/i08/.