Skip to content

Information for contributors

We are excited that you want to contribute to Lovelace’s Square! 🥳 Please read the following information carefully. It will guide you through everything you need to know to prepare and submit your work. We’ve made the process as smooth as possible, and we’re here to support you at every step.

Core requirements

All contributions to Lovelace’s Square must meet these essential requirements:

🔓 Open Licensing

All code and datasets must use recognized open-source or open-data licenses. The most restrictive license we accept allows non-commercial use only (e.g. CC BY-NC 4.0).

📝 Clear Documentation

Every contribution needs proper documentation explaining what it does, how to use it, and any requirements or dependencies.

🔒 Data Privacy

Ensure your datasets are clean and free of sensitive information. Remove any personal identifiers or private data before submission.

⚖️ Legal Rights

You must have the rights to share everything in your submission. Get permission from co-authors if needed and ensure license compatibility.

Contributing algorithms and tools

What you can contribute

We welcome all kinds of content related to chemometrics. If it helps others explore, clean, model, explain, or teach chemical data, it belongs in The Square. You can contribute many different things, including (but not limited to):

  • Algorithms and models
    For dimensionality reduction, regression, classification, clustering, calibration, variable selection, and more.

  • Preprocessing techniques
    Such as baseline correction, smoothing, normalization, centering, scaling, or signal alignment.

  • Visualization tools
    For plotting spectra, score plots, loadings, heatmaps, or interactive displays.

  • Exploratory tools
    To help reveal patterns, trends, or groupings in complex data.

  • Validation and evaluation tools
    Like cross-validation scripts, residual analysis, performance metrics, or model comparison.

  • Helper functions and utilities
    For data cleaning, transformation, formatting, or organizing workflows.

  • Teaching and learning resources
    Examples, templates, notebooks, or small demos to support study and training.

Code can be in any programming language: Python, R, MATLAB, C++, or others.

Making your code reusable

  1. Structure your code clearly

    Organize code as functions or classes rather than one large script. This makes it easier for others to understand and use specific parts.

  2. Avoid hard-coding

    Don’t include specific file paths or system-specific settings. Allow users to input their own data or parameters.

  3. Include examples

    Provide default settings and examples that demonstrate how to use your code.

  4. List requirements

    Clearly state which libraries, toolboxes, or dependencies are needed.

Documentation requirements

When you upload your code to The Square, you will need to fill out two description boxes. This information helps others understand and use your work, and it also supports our review and indexing process.

Short Description: Write a concise line summarizing what your code does. Keep it brief for easy analysis by our system.

Example:
EMSC algorithm for correcting multiplicative/additive effects in spectral data.

Extended Description: This is where you explain your code in more detail. Try to include:

  • Purpose: What problem does the code solve?
  • Algorithm or method: What technique is used?
  • How it works: Main logic or approach used in the script.
  • How to use it: Basic instructions or required inputs.

Example:
The EMSC (Extended Multiplicative Signal Correction) function corrects spectral data by removing multiplicative scaling, additive offsets, and baseline variations. It fits a reference spectrum (e.g., mean/median) to each input spectrum using a polynomial baseline model, estimating scaling (a), offset (b), and baseline coefficients.

We know the extended description field can feel a bit restrictive in terms of space. This limit is intentional; it helps Ada work more efficiently when guiding users. We truly appreciate the effort you make to squeeze your explanation into a compact but meaningful format.

Code package preparation

Your code should be uploaded as a ZIP file containing:

  • All source code files
  • Documentation (README file with clear instructions for use)
  • Example datasets (if needed)

Example Structure:

  • DirectoryEMSC_toolbox.zip
    • EMSC_correction.m # Main function
    • README.txt # Documentation
    • example_data.mat # Sample data
    • example_usage.m # Usage example

Contributing datasets

What you can contribute

We encourage datasets useful for:

  • Teaching chemometric concepts
  • Testing new algorithms
  • Benchmarking method performance
  • Research and development

Dataset types include:

  • Spectral data (NIR, IR, Raman, NMR)
  • Chromatographic data
  • Sensor measurements
  • Simulation data
  • Any multivariate chemical data

Data preparation guidelines

Before sharing data on The Square, we ask you to prepare it with care. Clean, well-documented data helps others understand and use your work more easily. Below are a few key points to keep in mind when organizing and describing your dataset.

🧹 Clean format

Organize data logically with clear headers and consistent structure. Remove errors or corrupt entries. CSV format is often easiest for others to use.

📊 Rich metadata

Explain how data was collected, what each variable represents, units of measurement, and any preprocessing steps applied.

🔒 Privacy protection

Remove any personal identifiers, private information, or confidential details. Ensure compliance with data protection requirements.

💡 Usage suggestions

Include ideas for how the dataset might be used - classification, calibration, method testing, or educational examples.

Data hosting requirements

You must provide a public download link for your dataset. Upload your data to a stable hosting service such as:

  • Zenodo (recommended - provides DOI)
  • Figshare
  • Institutional repositories
  • Google Drive or Dropbox (ensure public access)

Submission process

  1. Visit the submission page

    Go to Lovelace’s Square and navigate to “The Square” section. Choose either:

    • “List your code” for algorithm contributions
    • “List your dataset” for data contributions
  2. Fill in contributor details

    • Authors: Your name and any co-contributors
    • Affiliation: Your institution or organization (optional but recommended)
    • Email: Contact email for communication (not shown publicly)
  3. Provide title and descriptions

    • Name: Clear, concise title for your contribution
    • Short Description: One or two sentences summarizing the content
    • Extended Description: Detailed explanation with usage notes
  4. Specify technical details

    • License: Choose an appropriate open license
    • Keywords: Add relevant tags for discoverability
    • Version: Label your submission (e.g., v1.0)
    • Category: Select the most appropriate classification
    • Programming Language: (for code) or Download Link: (for datasets)
  5. Upload and submit

    • For code: Upload your ZIP file
    • For datasets: Provide the external download URL
    • Agree to our Terms of Use and Privacy Policy
    • Click Submit!

Review and publication process

What happens next

📋 Team Review

Our team verifies your submission is complete, appropriate, and clearly documented. We check for prohibited content and ensure files work correctly.

💬 Possible Feedback

If we find issues or need clarification, we’ll contact you at your provided email. Common requests include missing files, unclear descriptions, or license questions.

✅ Publication

Once approved, your contribution becomes publicly visible in The Square with your name, description, and download links clearly displayed.

🔄 Updates Welcome

You can submit updated versions in the future. We support versioning to keep contributions current and useful.

Why your contribution matters

By contributing to Lovelace’s Square, you are:

  • Helping the community by sharing knowledge and tools that save others time
  • Advancing open science by making chemometric methods more accessible
  • Supporting education by providing resources for students and newcomers
  • Building your reputation as a contributor to open science

Thank you for considering contributing to Lovelace’s Square. We look forward to seeing your algorithms and datasets become part of this growing library of chemometric resources. Together, we push the boundaries of open science in chemometrics.

Happy contributing! 🚀