Changelog
Source:NEWS.md
raveio 0.9.0
CRAN release: 2023-07-16
We are close to a major release.
Major changes:
Pipeline supports
Pythonnow! (I think this deserves the first place)Referencing electrodes does not require users to run
waveletanymore (this one wins the second as it allows for more flexible data processing pipelines)Added
PipelineCollections, allowing users to build and run multiple pipelinesrun_waveletwill trigger caching existing referencesThe pipeline errors is properly handled
Pipeline error messages also print out the expressions causing the issues
Clears pipeline object directory when related errors are raised; in this case pipeline is rescheduled automatically
Pipeline also reports warning messages
Allow pipelines to fork
Added external data path (
extdata) to pipeline to store large temporary dataAdded
prepare_subject_phaseandprepare_subject_waveletto support loading phase and time-frequency data (besides amplitude)Pipeline shared scripts uses script directory as working directory
Added
lapply_asyncthat can run in parallel standalone while is compatible withwith_future_parallel; this function replacesdipsaus::lapply_async2Added a new subject class
RAVEMetaSubjectfor meta-analysisAdded support for
FreeSurferrecon-all-clinical.sh, allowing users to apply super-resolution to their clinicalMRIbefore surface reconstructionSupports when one
NSxblock data contains multiple recordings (discontinued/paused recording in one block)rave_exportexports summary inMatlabformat as well (thanks @Kaitlyn)Added
cmd_run_rto generate reproducible shell scripts that run codeAdded
pipeline$visualizeto view the target relationships and schedule graphsAdded
pipeline$shared_envto obtain shared environment
Minor changes:
- Default pipeline repository user name has been changed to
rave-ieeg - Updated
Githubaction configurations - Copy
MRIto derivative folder when importing images fromNIfTIformat (before imaging segmentation andCTtoMRIregistration) - Updated pipeline template to display the latest pipeline dependency
- Pipeline dependency are installed at the same directory as
ravemanager - Removed improper
S3generics invalidate_raw_file_lfp - Pipeline root searching path can be set with temporary values
- Added
is_on_cran, allowing certain examples and tests to be suppressed duringCRANcheck, while these code are enabled in the local tests - this helps me to keep examples up-to-date
Bug fixes:
- Fixed template module
UIhaving extra padding on bottom - Fixed
BlackrockNEV-3.0specification configurations - Fixed errors when subject
set_defaultandget_defaultraise errors when configuration files are corrupted - Fixed a potential code injection issue
- Fixed parallel code not closing socket connections correctly
raveio 0.1.0
CRAN release: 2023-03-15
Major changes:
- Added pipeline target format interface; an example for
rave-subjecthas been implemented - rewrote
as_rave_subjectsuch that the subject information will be updated when called - Revised error handlers in pipeline generating engine, so that when errors occur, the enclosing target expressions and back-trace will be printed
- Supported brain viewer to be loaded without electrodes via
include_electrodesargument - Added
coregistrationviaANTs - Supports
MRIregistering to templates via non-linear transforms
Minor changes:
- When importing electrodes from other formats, the subject used to be required. However, this is totally unnecessary; removed such requirement
- Fixed a small typo that may cause inconsistent electrode labels (
NolabeltoNoLabel)
Bug fixes:
- When executing pipeline shared script, it is possible to leak some variables to the global environment; fixed
- Fixing a bug where shared scripts might not be loaded properly in
pipeline_run
raveio 0.0.9
CRAN release: 2022-10-14
Major changes:
- Added
run_waveletto isolate wavelet kernels for each subject, requires to updateravetools - Avoid override
ravetoolsoptions when loading the package - Added
cleanmethod topipelineto clean the data objects - Allowed
pipelinesto save and load customized data to avoid polluting thesettings.yaml - Allowed
pipelinestoevalinstead ofrun - Added new data type
raw-voltageto methodload_blocks(classLFP_electrode) to load the raw voltage data - Added
prepare_subject_bare0to load subject that with only voltage data imported (beforeNotchfilters) - Added repository type for voltage signals
- Added
.nevconverter to exportBlackRockformat toMatlaborHDF5formats - Backup pipeline files when updating
- Added baseline method for voltage signals
Minor changes:
- Changed
FLIRTscript to perform less search to speed up - Exported
MNI305_to_MNI152matrix - Added
quietoption when loading electrodes to suppress warnings - Try to use
ravetoolswhenever possible - Added an option to avoid reading
BlackRock.nevheaders to shorten loading time - Allow electrodes to be loaded without warnings
Bug fixes:
- Fixed
watchdogwhen electrode table is unavailable - Fixed
rand_stringnot random when running withmulticorefuture parallel - Fixed
preprocess_filepath in classLFP_electrode - Baseline window is no longer needed when mean and standard deviation is provided
- Fixed
.nevconverter bugs causing index overflows in some cases
raveio 0.0.8
CRAN release: 2022-08-25
Major changes:
- Added bundled validation functions to check data integrity: this function supports both
RAVE1.0 and 2.0 formats - Added backward support to convert 2.0 data format to 1.0
- Added file support for
BlackRock(NEV,NSx) formats with specification number(>=2.2) - Allowed pipelines to execute without
targetsto avoid serializing large objects - Added a repository type that requires no epoch information. This is useful when users want to analyze blocks of data
- Added monitoring class
RAVEWatchDogthat can automatically monitorNEVandNSxfiles, import & process data - Added
merge_subjectsto merge multiple subjects from the same project but different blocks - Added support for
recon-all,dcm2niix,3dAllineate, andflirtshell-commands (requires external programs to be installed) - Added finalizing installation function to allow installing built-in processing pipelines
Minor changes:
- Allow only one signal type to be loaded in each repository
- Allowed electrodes to be text instead of vector of integers when creating repository
Bug fixes:
- Fixed
generate_referenceset array to read-only mode before saving headers - Actively clear cache whenever a new reference is generated
raveio 0.0.7
CRAN release: 2022-06-20
Major changes:
- Added
PipelineToolsclass and wrapped constructorraveio::pipelineto load common utility tools needed to run the pipeline - Added module templates for
RAVE-2.0 - Allow
import_electrode_tableto import table without replacing existing electrode files withdry_runoption
raveio 0.0.6
CRAN release: 2022-05-30
Major changes:
- Added
read_mat2to allow readingMatlabfiles stored inHDF5formats - Allow subject instances to store and retrieve default key-value pairs via
set_defaultandget_defaultmethods - Disable
multicoreby default, so users can use their ownplanprovided by thefuturepackage - Added location and signal types to electrodes
- Added function to perform baseline via
power_baselinedirectly from repository - Added multiple repository types for
RAVEsubjects with identical key as signature - Added
with_future_parallelto enablemulticorefeatures in the expressions - Added reference signal class
- Use
ravedashlog system provided if the package is installed - Speed-up
raveio_getoptandraveio_setopt - Added
validate_time_windowto return intervals of time windows - Added
save_jsonandload_jsonto handleJSONformat usingjsonlitepackage - Allow to set
threeBraintemplate brain - Added
import_electrode_tableto import electrode table with coordinates inT1orMNIspace totkrRAS - Electrodes can load corresponding block data
- Added
normalize_commandline_pathandcmd_*functions to search for external system commands such asFreeSurfer,FSL-FLIRT,dcm2niix - Added
backup_fileto back up existing files instead of overwriting - Allow to download and install
rave-serveras services (currently only works onOSX)
Changes to pipeline framework:
- Implemented and matured reproducible pipeline framework
- Added R-markdown template to build pipelines
- Allow pipelines to run in another process and can kill the process anytime
- Pipelines run in
asyncmode works inshinyapplications - Created an
R6class for pipeline results inpromisesway - Allow to clear cache files at subject level
-
Asyncpipelines can have callback functions at each check, useful for monitoring the progress
Enhancements:
-
save_yamlcan write to connections -
rave_importsruns in parallel innative2format - Added an option to disable fork-clusters (enabled by default on
OSXandLinux) - Allows
EDFfiles to be partially read - Added data format entry to the preprocess instance, allowing following modules to be aware of the raw data format
-
ravetoolsrespectstensor_temp_pathas its temporary path
raveio 0.0.5
CRAN release: 2021-10-13
Major changes:
- Rewind back to
hdf5ras it passes theCRANchecks now - Fixed
HDF5bugs - Added pipeline functions to self-expand
RAVE - Added pipeline templates