fMRI BOLD signal

trondheim, no/exploring fmri bold analysis

Ian Philip Eglin

MSc Student and Software Developer

MSc Signal Processing · NTNU

About

I am a software engineer with a background in electronics systems design — pursuing a MSc in signal processing from NTNU, and soon-to-be R&D Developer at Appear.

I work across the stack: TypeScript, React, and Next.js on the front end; Rust, Go, and Python wherever the problem calls for it. My thesis work on frequency-resolved fMRI BOLD processing is where engineering rigour meets creative output, and that dual discipline shapes how I approach every system I build.

location
Trondheim, NO
education
MSc Signal Processing, NTNU
focus
fMRI BOLD · MVMD

Projects

ch.01 · featured

etdagene.no

etdagene.no is a website for the yearly MTELSYS career fair, Elektronikk & Teknologidagene. Built with NUXT, TypeScript, and Firebase DB, it supports user event signups, information on potential employers, company job listings and resumé distribution. Deployed on DigitalOcean using Docker.

TypeScriptNUXT 3FirebaseSASS
id.masters-thesis · Rust · Signal Processing · DSP · MVMD

MSc Thesis — Frequency-Resolved Patterns in fMRI BOLD

Multivariate Variational Mode Decomposition (MVMD) can be used to decompose multichannel fMRI BOLD signals into a set of intrinsic frequency modes that are aligned across brain regions, enabling frequency-resolved functional connectivity analyses within and between large-scale networks. This allows investigation of whether anhedonia-related alterations emerge preferentially in specific slow-frequency bands (e.g., slow-4, slow-5) rather than in the full-band signal. Complementarily, the Continuous Wavelet Transform (CWT) provides a time–frequency representation of BOLD signals, enabling the study of transient and scale-dependent connectivity patterns across time. By combining MVMD (for mode-aligned band separation) with CWT (for fine-grained time–frequency characterization), the thesis can assess how frequency-specific neural dynamics and cross-network interactions differ as a function of anhedonia severity across task-based and resting-state paradigms.

RustSignal ProcessingDSPMVMD
id.skryt · TypeScript · NUXT 3 · Supabase

Omega Skrytelister

Skrytelister is a digital platform launched for Helingball that allows students to exchange anonymous compliments and tokens of appreciation. To participate as a recipient, users must register, as you will only appear in the searchable directory once your account is active. The service is designed to build anticipation leading up to the ball; all messages remain hidden in a locked inbox and are only revealed to the recipients once the designated writing window has closed.

TypeScriptNUXT 3Supabase
id.kefli · Rust · Consensus

Kefli

Kefli is a Rust crate implementing the Raft consensus protocol from scratch. The project prioritises correctness over performance, with a clean public API and comprehensive test coverage for leader election, log replication, and membership changes. Designed as an educational reference and drop-in building block for distributed Rust applications.

RustConsensus
id.elevators · Rust · Concurrent Systems

Elevator Control System

The Elevator Project focuses on designing and implementing a robust, fault-tolerant control system for n elevators operating across m floors in a distributed environment. The system must guarantee that all hall and cab calls are serviced, that button lights represent a service guarantee, and that no calls are lost — even under failure conditions such as network disconnection, packet loss, software crashes, or temporary power loss. A key requirement is resilience: elevators must continue operating independently when disconnected from the network, retain active calls across crashes or power interruptions, and recover automatically without manual reinitialization. The system must ensure consistent behavior of hall button lights across workspaces under normal conditions, while maintaining correct operation even during unreliable networking. Cab calls are local to each elevator, whereas hall calls must be coordinated across the distributed system. In addition to reliability, elevators must behave sensibly and efficiently. They should avoid unnecessary stops, respect travel direction semantics when clearing hall calls, and manage door timing and obstruction logic correctly. Once the core guarantees are satisfied, the system should distribute calls among elevators to minimize service time and optimize overall efficiency. The project emphasizes distributed systems design, state synchronization, failure recovery, real-time control logic, and scalable configuration (supporting variable numbers of elevators and floors without hard-coding). It represents a practical exercise in building a resilient, concurrent control system with strong service guarantees under realistic operational constraints.

RustConcurrent Systems

Work Experience

  1. t = 2025
    Studentmediene i Trondheim

    Board Member · Aug 2025 – Present

  2. t = 2025
    Appear

    Software Developer (Summer Intern) · Jun 2025 – Aug 2025

    • Developed a confidence monitor in Rust displaying rapidly updating image streams.
    RustWASM
  3. t = 2024
    Bekk

    Backend Developer (Summer Intern) · Jun 2024 – Jul 2024

    • Developed alternative login methods for Posten’s document signing platform
    • Participated in secure development workshops focused on minimising risk of critical security vulnerabilities
    • Contributed to backend feature development in a production-grade system
    JavaEntra IDReactJS
  4. t = 2023
    Elektronikk- & Teknologidagene

    Board Member & Head of IT · Mar 2023 – Mar 2024

    • Responsible for technical infrastructure and digital platforms for the yearly career fair
    • Contributed to strategic planning and execution of events for 3rd-year engineering students
    • Led IT-related decision-making and system improvements
    TypeScriptNUXT 3Firebase
  5. t = 2023
    NTNU

    Teaching Assistant — Experts in Teamwork · Jan 2023 – Jun 2023

    • Guided students in analysing teamwork processes and improving collaboration strategies
    • Created structured reflection spaces for handling conflicts and challenging team decisions
    • Supported development of professional communication and teamwork skills
    FacilitationTeam DynamicsProject Guidance
  6. t = 2022
    Adresseavisen

    Web Developer (Summer Intern) · May 2022 – Aug 2022

    • Improved and renewed internal tools for searching national tax records
    • Implemented a new solution for uploading tax figures, significantly improving processing speed over the previous system
    • Collaborated with designers and DevOps engineers, gaining experience in cross-functional development workflows
    TypeScriptVueMongoDB

Skills

band 01Languages
TypeScript
Rust
Python
Go
band 02Frameworks & Libraries
React
Next.js
Node.js
Tailwind CSS
band 03Tools & Platforms
Git
Docker
Vercel
band 04Languages, Hardware & Embedded
Java
MATLAB
Embedded C

Get in touch

·--:--trondheim, no63.43°N 10.40°E
philip@eglin.no