## CHANGELOG: ### 3.0 * Python 3.x compatible * New architecture with multiprocessing and IPC communication * Add @MPDecorator for multiprocessing Units and Operations * Added new type of operation `external` for non-locking operations * New plotting architecture with buffering/throttle capabilities to speed up plots ### 2.3 * Added support for Madrigal formats (reading/writing). * Added support for reading BLTR parameters (*.sswma). * Added support for reading Julia format (*.dat). * Added high order function `MPProject` for multiprocessing scripts. * Added two new Processing Units `PublishData` and `ReceiverData` for receiving and sending dataOut through multiple ways (tcp, ipc, inproc). * Added a new graphics Processing Unit `PlotterReceiver`. It is decoupled from normal processing sequence with support for data generated by multiprocessing scripts. * Added support for sending realtime graphic to web server. * GUI command `schain` is now `schainGUI`. * Added a CLI tool named `schain`. * Scripts templates can be now generated with `schain generate`. * Now it is possible to search Processing Units and Operations with `schain search [module]` to get the right name and its allowed parameters. * `schain xml` to run xml scripts. * Added suggestions when parameters are poorly written. * `Controller.start()` now runs in a different process than the process calling it. * Added `schainpy.utils.log` for log standarization. * Running script on online mode no longer ignores date and hour. Issue #1109. * Added support for receving voltage data directly from JARS (tcp, ipc). * Updated README for MAC OS GUI installation. * Setup now installs numpy. ### 2.2.6 * Graphics generated by the GUI are now the same as generated by scripts. Issue #1074. * Added support for C extensions. * Function `hildebrand_sehkon` optimized with a C wrapper. * Numpy version updated. * Migration to GIT. ### 2.2.5: * splitProfiles and combineProfiles modules were added to VoltageProc and Signal Chain GUI. * nProfiles of USRP data (hdf5) is the number of profiles thera are in one second. * jroPlotter works directly with data objects instead of dictionaries * script "schain" was added to Signal Chain installer ### 2.2.4.1: * jroIO_usrp.py is update to read Sandra's data * decimation in Spectra and RTI plots is always enabled. * time* window option added to GUI ### 2.2.4: * jroproc_spectra_lags.py added to schainpy * Bug fixed in schainGUI: ProcUnit was created with the same id in some cases. * Bug fixed in jroHeaderIO: Header size validation. ### 2.2.3.1: * Filtering block by time has been added. * Bug fixed plotting RTI, CoherenceMap and others using xmin and xmax parameters. The first day worked properly but the next days did not. ### 2.2.3: * Bug fixed in GUI: Error getting(reading) Code value * Bug fixed in GUI: Flip option always needs channelList field * Bug fixed in jrodata: when one branch modified a value in "dataOut" (example: dataOut.code) this value was modified for every branch (because this was a reference). It was modified in data.copy() * Bug fixed in jroproc_voltage.profileSelector(): rangeList replaces to profileRangeList. ### 2.2.2: * VoltageProc: ProfileSelector, Reshape, Decoder with nTxs!=1 and getblock=True was tested * Rawdata and testRawdata.py added to Signal Chain project ### 2.2.1: * Bugs fixed in GUI * Views were improved in GUI * Support to MST* ISR experiments * Bug fixed getting noise using hyldebrant. (minimum number of points > 20%) * handleError added to jroplotter.py ### 2.2.0: * GUI: use of external plotter * Compatible with matplotlib 1.5.0 ### 2.1.5: * serializer module added to Signal Chain * jroplotter.py added to Signal Chain ### 2.1.4.2: * A new Plotter Class was added * Project.start() does not accept filename as a parameter anymore ### 2.1.4.1: * Send notifications when an error different to ValueError is detected ### 2.1.4: * Sending error notifications to signal chain administrator * Login to email server added ### 2.1.3.3: * Colored Button Icons were added to GUI ### 2.1.3.2: * GUI: user interaction enhanced * controller_api.py: Safe access to ControllerThead ### 2.1.3.1: * GUI: every icon were resized * jroproc_voltage.py: Print a message when "Read from code" option is selected and the code is not defined inside data file ### 2.1.3: * jroplot_heispectra.py: SpectraHeisScope was not showing the right channels * jroproc_voltage.py: Bug fixed selecting profiles (self.nProfiles took a wrong value), Bug fixed selecting heights by block (selecting profiles instead heights) * jroproc_voltage.py: New feature added: decoding data by block using FFT. * jroIO_heispectra.py: Bug fixed in FitsReader. Using local Fits instance instead schainpy.mode.data.jrodata.Fits. * jroIO_heispectra.py: Channel index list does not exist. ### 2.1.2: * jroutils_ftp.py: Bug fixed, Any error sending file stopped the Server Thread Server thread opens and closes remote server each time file list is sent * jroplot_spectra.py: Noise path was not being created when noise data is saved. * jroIO_base.py: startTime can be greater than endTime. Example: SpreadF [18:00 * 07:00]