Changelog
Source:NEWS.md
raveio 0.9.0
CRAN release: 2023-07-16
We are close to a major release.
Major changes:
Pipeline supports
Python
now! (I think this deserves the first place)Referencing electrodes does not require users to run
wavelet
anymore (this one wins the second as it allows for more flexible data processing pipelines)Added
PipelineCollections
, allowing users to build and run multiple pipelinesrun_wavelet
will 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_phase
andprepare_subject_wavelet
to support loading phase and time-frequency data (besides amplitude)Pipeline shared scripts uses script directory as working directory
Added
lapply_async
that can run in parallel standalone while is compatible withwith_future_parallel
; this function replacesdipsaus::lapply_async2
Added a new subject class
RAVEMetaSubject
for meta-analysisAdded support for
FreeSurfer
recon-all-clinical.sh
, allowing users to apply super-resolution to their clinicalMRI
before surface reconstructionSupports when one
NSx
block data contains multiple recordings (discontinued/paused recording in one block)rave_export
exports summary inMatlab
format as well (thanks @Kaitlyn)Added
cmd_run_r
to generate reproducible shell scripts that run codeAdded
pipeline$visualize
to view the target relationships and schedule graphsAdded
pipeline$shared_env
to obtain shared environment
Minor changes:
- Default pipeline repository user name has been changed to
rave-ieeg
- Updated
Github
action configurations - Copy
MRI
to derivative folder when importing images fromNIfTI
format (before imaging segmentation andCT
toMRI
registration) - Updated pipeline template to display the latest pipeline dependency
- Pipeline dependency are installed at the same directory as
ravemanager
- Removed improper
S3
generics 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 duringCRAN
check, while these code are enabled in the local tests - this helps me to keep examples up-to-date
Bug fixes:
- Fixed template module
UI
having extra padding on bottom - Fixed
Blackrock
NEV-3.0
specification configurations - Fixed errors when subject
set_default
andget_default
raise 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-subject
has been implemented - rewrote
as_rave_subject
such 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_electrodes
argument - Added
coregistration
viaANTs
- Supports
MRI
registering 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 (
Nolabel
toNoLabel
)
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_wavelet
to isolate wavelet kernels for each subject, requires to updateravetools
- Avoid override
ravetools
options when loading the package - Added
clean
method topipeline
to clean the data objects - Allowed
pipelines
to save and load customized data to avoid polluting thesettings.yaml
- Allowed
pipelines
toeval
instead ofrun
- Added new data type
raw-voltage
to methodload_blocks
(classLFP_electrode
) to load the raw voltage data - Added
prepare_subject_bare0
to load subject that with only voltage data imported (beforeNotch
filters) - Added repository type for voltage signals
- Added
.nev
converter to exportBlackRock
format toMatlab
orHDF5
formats - Backup pipeline files when updating
- Added baseline method for voltage signals
Minor changes:
- Changed
FLIRT
script to perform less search to speed up - Exported
MNI305_to_MNI152
matrix - Added
quiet
option when loading electrodes to suppress warnings - Try to use
ravetools
whenever possible - Added an option to avoid reading
BlackRock.nev
headers to shorten loading time - Allow electrodes to be loaded without warnings
Bug fixes:
- Fixed
watchdog
when electrode table is unavailable - Fixed
rand_string
not random when running withmulticore
future parallel - Fixed
preprocess_file
path in classLFP_electrode
- Baseline window is no longer needed when mean and standard deviation is provided
- Fixed
.nev
converter 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
RAVE
1.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
targets
to 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
RAVEWatchDog
that can automatically monitorNEV
andNSx
files, import & process data - Added
merge_subjects
to merge multiple subjects from the same project but different blocks - Added support for
recon-all
,dcm2niix
,3dAllineate
, andflirt
shell-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_reference
set 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
PipelineTools
class and wrapped constructorraveio::pipeline
to load common utility tools needed to run the pipeline - Added module templates for
RAVE-2.0
- Allow
import_electrode_table
to import table without replacing existing electrode files withdry_run
option
raveio 0.0.6
CRAN release: 2022-05-30
Major changes:
- Added
read_mat2
to allow readingMatlab
files stored inHDF5
formats - Allow subject instances to store and retrieve default key-value pairs via
set_default
andget_default
methods - Disable
multicore
by default, so users can use their ownplan
provided by thefuture
package - Added location and signal types to electrodes
- Added function to perform baseline via
power_baseline
directly from repository - Added multiple repository types for
RAVE
subjects with identical key as signature - Added
with_future_parallel
to enablemulticore
features in the expressions - Added reference signal class
- Use
ravedash
log system provided if the package is installed - Speed-up
raveio_getopt
andraveio_setopt
- Added
validate_time_window
to return intervals of time windows - Added
save_json
andload_json
to handleJSON
format usingjsonlite
package - Allow to set
threeBrain
template brain - Added
import_electrode_table
to import electrode table with coordinates inT1
orMNI
space totkrRAS
- Electrodes can load corresponding block data
- Added
normalize_commandline_path
andcmd_*
functions to search for external system commands such asFreeSurfer
,FSL-FLIRT
,dcm2niix
- Added
backup_file
to back up existing files instead of overwriting - Allow to download and install
rave-server
as 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
async
mode works inshiny
applications - Created an
R6
class for pipeline results inpromises
way - Allow to clear cache files at subject level
-
Async
pipelines can have callback functions at each check, useful for monitoring the progress
Enhancements:
-
save_yaml
can write to connections -
rave_imports
runs in parallel innative2
format - Added an option to disable fork-clusters (enabled by default on
OSX
andLinux
) - Allows
EDF
files to be partially read - Added data format entry to the preprocess instance, allowing following modules to be aware of the raw data format
-
ravetools
respectstensor_temp_path
as its temporary path
raveio 0.0.5
CRAN release: 2021-10-13
Major changes:
- Rewind back to
hdf5r
as it passes theCRAN
checks now - Fixed
HDF5
bugs - Added pipeline functions to self-expand
RAVE
- Added pipeline templates