SoftwareXPub Date : 2025-05-22DOI: 10.1016/j.softx.2025.102187
Ryan Balshaw , P. Stephan Heyns , Daniel N. Wilke , Stephan Schmidt
{"title":"Spectrally regularised LVMs: A spectral regularisation framework for latent variable models designed for single-channel applications","authors":"Ryan Balshaw , P. Stephan Heyns , Daniel N. Wilke , Stephan Schmidt","doi":"10.1016/j.softx.2025.102187","DOIUrl":"10.1016/j.softx.2025.102187","url":null,"abstract":"<div><div>Latent variable models (LVMs) are commonly used to capture the underlying dependencies, patterns, and hidden structures in observed data. Source duplication is a by-product of the data Hankelisation pre-processing step common to single-channel LVM applications, which hinders practical LVM utilisation. In this article, a Python package titled <span>spectrally-regularised-LVMs</span> is presented. The proposed package addresses the source duplication issue by adding a novel spectral regularisation term. This package provides a framework for spectral regularisation in single-channel LVM applications, thereby making it easier to investigate and utilise LVMs with spectral regularisation. This is achieved via symbolic or explicit representations of potential LVM objective functions, which are incorporated into a framework that uses spectral regularisation during the LVM parameter estimation process. This package aims to provide a consistent linear LVM optimisation framework incorporating spectral regularisation and caters to single-channel time-series applications.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102187"},"PeriodicalIF":2.4,"publicationDate":"2025-05-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144107092","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-05-21DOI: 10.1016/j.softx.2025.102204
Beibei Wu, Guangbao Guo
{"title":"TFM: An R package for truncated factor model","authors":"Beibei Wu, Guangbao Guo","doi":"10.1016/j.softx.2025.102204","DOIUrl":"10.1016/j.softx.2025.102204","url":null,"abstract":"<div><div>The Truncated Factor Model (TFM) is a statistical model for analyzing high-dimensional truncated data, leveraging sparsity and online learning to extract common factors. Its core advantage is efficient modeling of complex data structures with flexible parameter adjustments. We developed an R package named TFM, which integrates methods like SOPC, SPC, PPC, SAPC, IPC, and ttest to compute factor loading and specific variance matrices. These methods were comprehensively evaluated using metrics such as estimation accuracy and mean squared error, demonstrating their effectiveness in handling truncated data.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102204"},"PeriodicalIF":2.4,"publicationDate":"2025-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144099271","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-05-20DOI: 10.1016/j.softx.2025.102202
Diego Miranda , Jaime Godoy , Rene Noel , Cristian Cechinel , Roberto Munoz
{"title":"MultiCoCoA: Multimodal data collector from collocated collaborative activities","authors":"Diego Miranda , Jaime Godoy , Rene Noel , Cristian Cechinel , Roberto Munoz","doi":"10.1016/j.softx.2025.102202","DOIUrl":"10.1016/j.softx.2025.102202","url":null,"abstract":"<div><div>Collaborative work requires developing and applying soft skills that can influence the formation of social, emotional, and professional skills. Nevertheless, assessing the effectiveness of teamwork, collaboration, and communication is challenging and is commonly addressed by qualitative research approaches. Although through isolated initiatives, Multimodal Learning Analytics (MMLA) techniques have successfully addressed the challenge of measuring different communication features. This work presents MultiCoCoA, a multimodal analytics framework to facilitate data collection in collaborative activities. MultiCoCoA integrates state-of-the-art MMLA techniques and machine learning techniques to analyze audio and video data, and it can help identify areas to improve communication skills. MultiCoCoA allows data to be uploaded and analyzed intuitively, presenting the results through data visualization features and downloadable CSV files for its use with data analysis tools. To evaluate MultiCoCoA’s performance, we conducted both technical validation and user feedback analysis. In terms of accuracy, the system was tested using over 5700 manually labeled video frames from two sessions of collaborative software planning, achieving 92.85% precision in detecting spoken interventions, 85.59% in direction-of-arrival estimation, and 74.88% for identifying observer–observed gaze pairs. To assess usability, we applied the System Usability Scale with five professionals in software development roles, obtaining a favorable usability perception and highlighting ease of use and functional integration, alongside contextual suggestions for deployment in dynamic work environments. The expected outcome of MultiCoCoA is to support research in communication and collaboration, providing quantitative insights to complement existing research methods.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102202"},"PeriodicalIF":2.4,"publicationDate":"2025-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144088677","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-05-19DOI: 10.1016/j.softx.2025.102168
Christian Willberg , Jan-Timo Hesse , Anna Pernatii
{"title":"Version v1.3.6 - PeriLab - Peridynamic Laboratory","authors":"Christian Willberg , Jan-Timo Hesse , Anna Pernatii","doi":"10.1016/j.softx.2025.102168","DOIUrl":"10.1016/j.softx.2025.102168","url":null,"abstract":"<div><div>This paper introduces new features for <span>PeriLab</span>, a modern Peridynamics (PD) solver developed in the Julia programming language. Emphasizing ease of installation, usability, and extensibility, the code’s structure is presented alongside illustrative examples that demonstrate key functionalities.</div><div>The main additions in version v1.3.6 are the introduction of a static solver and the coupling between Finite Element Method (FEM) and PD. These features are described in detail within the paper, enabling researchers to address fundamental questions in the field of PD.</div><div>The static solver is based on Anderson acceleration and does not require gradient information. As a result, it is particularly well-suited for large-scale problems, offering improved computational efficiency.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102168"},"PeriodicalIF":2.4,"publicationDate":"2025-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144088739","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-05-19DOI: 10.1016/j.softx.2025.102155
Giovanni Saraceno , Raktim Mukhopadhyay , Marianthi Markatou
{"title":"QuadratiK: A Python and R package for clustering on the sphere and goodness-of-fit tests","authors":"Giovanni Saraceno , Raktim Mukhopadhyay , Marianthi Markatou","doi":"10.1016/j.softx.2025.102155","DOIUrl":"10.1016/j.softx.2025.102155","url":null,"abstract":"<div><div>We introduce <span>QuadratiK</span>, an open-source software, implemented in <span>R</span> and <span>Python</span>. <span>QuadratiK</span> supports normality tests, and two and <span><math><mi>k</mi></math></span>-sample tests, using kernel-based quadratic distances. The software also includes tests for uniformity on the <span><math><mi>d</mi></math></span>-dimensional sphere and a clustering algorithm using the Poisson kernel-based densities. Functions for generating random samples from these densities are included. These methods are encoded via object-oriented and extensively unit-tested implementations. <span>QuadratiK</span> offers graphical functions that enhance user experience by facilitating the validation, visualization, and interpretation of clustering results. We compare <span>QuadratiK</span> with related available libraries and provide illustrative code examples. In summary, <span>QuadratiK</span> offers a powerful suite of tools in <span>R</span> and <span>Python</span>, enabling researchers and practitioners to perform meaningful analyses and derive valid and reproducible inference across a wide range of fields. The <span>R</span><span><span><sup>3</sup></span></span> and <span>Python</span><span><span><sup>4</sup></span></span> codes are available under the GPL-3.0 license. Finally, we propose a dashboard application, a graphical user interface to the implemented methods, with the aim to facilitate the usage of the software among practitioners from different domains.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102155"},"PeriodicalIF":2.4,"publicationDate":"2025-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144084064","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-05-17DOI: 10.1016/j.softx.2025.102201
Ziya Tan , Mehmet Karaköse
{"title":"A new drone chasing drone approach based on deep reinforcement learning with accelerated rewards","authors":"Ziya Tan , Mehmet Karaköse","doi":"10.1016/j.softx.2025.102201","DOIUrl":"10.1016/j.softx.2025.102201","url":null,"abstract":"<div><div>In this paper, we propose a deep reinforcement learning-based approach that uses the drone camera as the only input source for a drone to track another drone in real-time autonomously. Deep learning and deep reinforcement learning algorithms are developed for this proposal. First, one of the object detection algorithms, YOLO, was trained with a dataset of different drone images to instantaneously detect drones in the images taken from the camera of the following drone. The detected drone was enclosed in a box and positioned on the screen. The size information of the box was sent to the agent trained with the Deep deterministic policy gradient (DDPG) deep reinforcement learning algorithm to determine the action of the following drone. This approach is tested in five different following scenarios. These two scenarios were also tested in environments with different light levels. According to the results of the scenarios, the following accuracy rate is calculated to be at most 99 %, and the drone response accuracy rate is calculated to be at most 95 %. In addition, the OpenAI Gym simulator is designed according to our problem, the DDPG agent is trained, the performance of the developed system is tested in a real-world environment, and the results are observed.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102201"},"PeriodicalIF":2.4,"publicationDate":"2025-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144071349","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"ALBA: Agile library for biomedical applications","authors":"Gianluigi Crimi , Nicola Vanella , Enrico Schileo , Giordano Valente , Giulia Fraterrigo , Fulvia Taddei","doi":"10.1016/j.softx.2025.102188","DOIUrl":"10.1016/j.softx.2025.102188","url":null,"abstract":"<div><div>Efficient and unified software tools to manage the complex imaging and modelling workflows needed for computational biomechanics research are lacking. The Agile Library for Biomedical Applications (ALBA) is an open-source C++ versatile framework that handles various data types (e.g. 2D and 3D images, surfaces, finite element models, point clouds, motion analysis data), and offers an easily extensible platform for the rapid development of specialised applications that can manage, visualise, and manipulate biomedical data. The already available functionalities have been developed in the context of computational biomechanics, quantitative image analysis and pre-operative planning in orthopaedics. Software applications built with ALBA attracted the interest of the scientific community and are currently used, both inside and outside the original research group, in finite element modelling of bones and musculoskeletal modelling. The further ALBA adoption by other centres might increase the spread of a positive attitude towards open and reproducible research in the biomechanical community and increase the sharing of algorithms and data.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"31 ","pages":"Article 102188"},"PeriodicalIF":2.4,"publicationDate":"2025-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"144069250","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-05-01DOI: 10.1016/j.softx.2025.102190
Bruno Ribeiro, David Dias, Luis Gomes, Zita Vale
{"title":"PEAK: Python-based framework for heterogeneous agent communities","authors":"Bruno Ribeiro, David Dias, Luis Gomes, Zita Vale","doi":"10.1016/j.softx.2025.102190","DOIUrl":"10.1016/j.softx.2025.102190","url":null,"abstract":"<div><div>Python-based framework for heterogeneous agent communities (PEAK) is a multi-agent system development framework aiming at facilitating the interoperability of agents from different environments and their interactions and exchange of knowledge. With PEAK, it is possible to develop from simple agent systems to more complex ones where hundreds of agents, or even thousands, interact with each other to fulfil their purpose. PEAK has contributed to the validation of solutions, published articles and advanced training sessions in different research fields such as energy systems and federated learning. The idea is that, in the future, it will continue to contribute to the enrichment of scientific knowledge in more fields of application.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"30 ","pages":"Article 102190"},"PeriodicalIF":2.4,"publicationDate":"2025-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143927834","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-05-01DOI: 10.1016/j.softx.2025.102171
Marcel Ritter , Alexandra Hoffmann , Nikolaus Rauch , Pierre Sachse , Atbin Djamshidian , Matthias Harders , Philipp Ellmerer
{"title":"SPBView: An extendable data analysis and combined visualization tool for saccadic eye-movement, pupil size, and blink detection","authors":"Marcel Ritter , Alexandra Hoffmann , Nikolaus Rauch , Pierre Sachse , Atbin Djamshidian , Matthias Harders , Philipp Ellmerer","doi":"10.1016/j.softx.2025.102171","DOIUrl":"10.1016/j.softx.2025.102171","url":null,"abstract":"<div><div>During the last 20 years, eye-tracking has become an important method for researchers in different fields like medicine, psychology, marketing, and even gaming. However, analysis tools are scarce. In this paper, we introduce our openly available software solution that can visualize saccadic eye-movement and calculate reaction times from saccadic paradigms, e.g. the antisaccade task. It further includes an error classification and processes the raw data into a trial-by-trial (target) output. Reaction times and error rates are typically estimated as performance indicators for this task. Moreover, the tool includes blink detection as well as a pupil size based fine tuning, which may be interesting for research assessing cognitive load and synchronization processes. The software is multi-platform, succinct, and easily extendable.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"30 ","pages":"Article 102171"},"PeriodicalIF":2.4,"publicationDate":"2025-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143898480","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
SoftwareXPub Date : 2025-05-01DOI: 10.1016/j.softx.2025.102179
B. Repnik, B. Žalik, K. Rizman Žalik
{"title":"Compression of triangulated solids’ surfaces by Decimating Reconstructable Triangles","authors":"B. Repnik, B. Žalik, K. Rizman Žalik","doi":"10.1016/j.softx.2025.102179","DOIUrl":"10.1016/j.softx.2025.102179","url":null,"abstract":"<div><div>This paper introduces a new programming solution for reducing the size of files needed to store 3D geometric solids, whose surfaces are interpolated by watertight irregular triangle meshes. Unlike other approaches, the software does not introduce any special storage data format, but, instead, utilises popular CAD formats such as STL, OBJ, or PLY. This increases the software’s interoperability significantly. The software comprises an encoder and a decoder. The encoder estimates which facets may be removed in such a way that they can later be reconstructed unambiguously by the decoder. The decoder also ensures that the reconstructed triangles are oriented correctly. The encoder and the decoder are straightforward to understand and to implement. They are asymmetric, making any potential programming error easier to identify and correct.</div></div>","PeriodicalId":21905,"journal":{"name":"SoftwareX","volume":"30 ","pages":"Article 102179"},"PeriodicalIF":2.4,"publicationDate":"2025-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"143898481","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}