Template:RidgeRun Video Stabilization Library/TOC: Difference between revisions

From RidgeRun Developer Wiki
mNo edit summary
Tag: Manual revert
No edit summary
Line 1: Line 1:
<templatestyles src="RidgeRun Video Stabilization Library/styles.css" />
{{#tag:html|
<head>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
    <style>
        .toc-sub-list {
            display: {{#if:{{{expanded|}}}|block|none}} !important; /* Display sub-lists by default block/none */
        }
    </style>
</head>
<body>
    <div class="wiki-toc">
        {{#if:{{{logo|}}}|
        <div class="wiki-toc-logo">
            <img src="https://developer.ridgerun.com/wiki/images/d/d0/Logo-RVS-Small.png?20240619191902" alt="Logo">
        </div>
        }}
        {{#if:{{{title|}}}|
        <div class="wiki-toc-title">
            <a href="https://developer.ridgerun.com/wiki/index.php?title=Template:RidgeRun_Video_Stabilization_Library">
            RidgeRun Video Stabilization Library</a>
        </div>
        }}
        <div class="wiki-toc-header">
            Table of Contents
            <span class="toc-toggle">[Sticky]</span>
            <span class="collapse-all">
                <i class="fas  {{#if:{{{expanded|}}}|fa-minus|fa-plus}}" id="collapseAllIcon"></i>
            </span>
        </div>
        <div class="wiki-search-bar">
            <input type="text" class="wiki-search-input" id="tocSearchInput" placeholder="Search TOC...">
        </div>
<ul class="wiki-toc-list">
    <li>
        <a class="toc-section-header">
            Basics and Foundation
            <i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i>
        </a>
        <ul class="toc-sub-list">
            <li><a href="RidgeRun_Video_Stabilization_Library/Basics_and_Foundation/What_is_Video_Stabilization">What is Video Stabilization</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Basics_and_Foundation/Video_Stabilization_Process_using_IMU">Video Stabilization Process using IMU</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Basics_and_Foundation/Stabilization_Algorithms_with_IMU">Stabilization Algorithms with IMU</a></li>
        </ul>
    </li>
    <li>
        <a class="toc-section-header">
            Getting Started
            <i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i>
        </a>
        <ul class="toc-sub-list">
            <li><a href="RidgeRun_Video_Stabilization_Library/Getting_Started/Supported_Platforms_and_Backends">Supported Platforms and Backends</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Getting_Started/Evaluating_the_Library">Evaluating the Library</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Getting_Started/Getting_the_Code">Getting the Code</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Getting_Started/Building_the_Library">Building the Library</a></li>
        </ul>
    </li>
    <li>
        <a class="toc-section-header">
            API Reference
            <i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i>
        </a>
        <ul class="toc-sub-list">
            <li><a href="RidgeRun_Video_Stabilization_Library/API_Reference/Library_Architecture">Library Architecture</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/API_Reference/Adding_New_Sensors">Adding New Sensors</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/API_Reference/Adding_Algorithms">Adding Algorithms</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/API_Reference/Adding_Stabilization_Algorithm">Adding Stabilization Algorithm</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/API_Reference/Adding_Backends">Adding Backends</a></li>
            <li><a href="http://ridgerun.pages.ridgerun.com/rnd/ridgerun-video-stabilizer/index.html" target="_blank">API Documentation</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/API_Reference/Examples_Guidebook">Examples Guidebook</a></li>
        </ul>
    </li>
    <li>
        <a class="toc-section-header">
            Library Integration for IMU
            <i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i>
        </a>
        <ul class="toc-sub-list">
            <li><a href="RidgeRun_Video_Stabilization_Library/Library_Integration_for_IMU/Preparing_the_Video">Preparing the Video</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Library_Integration_for_IMU/Preparing_the_IMU_Measurements">Preparing the IMU Measurements</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Library_Integration_for_IMU/Measurement_Integration">Measurement Integration</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Library_Integration_for_IMU/Interpolation">Interpolation</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Library_Integration_for_IMU/Computing_the_Stabilization">Computing the Stabilization</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Library_Integration_for_IMU/Video_Undistortion">Video Undistortion</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Library_Integration_for_IMU/Example_Application">Example Application</a></li>
        </ul>
    </li>
    <li>
        <a class="toc-section-header">
            GStreamer
            <i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i>
        </a>
        <ul class="toc-sub-list">
            <li>Add Support for Video Timestamps</li>
            <li>Add Support for IMU Sensors</li>
            <li>Video Stabilizer Element</li>
            <li>Example Pipelines</li>
        </ul>
    </li>
    <li>
        <a class="toc-section-header">
            Useful Links
            <i class="fas fa-chevron-right icon-toggle {{#if:{{{expanded|}}}|expanded|collapsed}}"></i>
        </a>
        <ul class="toc-sub-list">
            <li><a href="RidgeRun_Video_Stabilization_Library/Useful_Links/BMI160_Setup">BMI160 Setup</a></li>
            <li><a href="RidgeRun_Video_Stabilization_Library/Useful_Links/Performance">Performance</a></li>
        </ul>
    </li>
    <li>
        <a class="toc-section-header" href="RidgeRun_Video_Stabilization_Library/Contact_Us">
            Contact Us
        </a>
    </li>
</ul>
    </div>
    <script>
        document.addEventListener('DOMContentLoaded', function () {
            var icons = document.querySelectorAll('.icon-toggle');
            var toc = document.querySelector('.wiki-toc');
            var tocToggle = document.querySelector('.toc-toggle');
            var collapseAllToggle = document.querySelector('.collapse-all');
            var collapseAllIcon = document.querySelector('#collapseAllIcon');
            // Initialize state of sub-lists
            var isExpanded = collapseAllIcon.classList.contains('fa-minus');
            document.querySelectorAll('.toc-sub-list').forEach(function (subList) {
                if (subList) {
                    subList.style.setProperty('display', isExpanded ? 'block' : 'none', 'important');
                }
            });
            document.querySelectorAll('.icon-toggle').forEach(function (icon) {
                var subList = icon.parentElement.nextElementSibling;
                if (subList) {
                    icon.classList.toggle('expanded', subList.style.display === 'block');
                    icon.classList.toggle('collapsed', subList.style.display !== 'block');
                }
            });
            icons.forEach(function (icon) {
                icon.addEventListener('click', function (event) {
                    event.preventDefault(); // Prevent default link behavior
                    var subList = this.parentElement.nextElementSibling; // Get the sub-list related to this icon
                    if (subList) {
                        if (subList.style.display === 'block') {
                            // subList.style.display = 'none';
                            subList.style.setProperty('display', 'none', 'important');
                            this.classList.remove('expanded');
                            this.classList.add('collapsed');
                        } else {
                            // subList.style.display = 'block';
                            subList.style.setProperty('display', 'block', 'important');
                            this.classList.remove('collapsed');
                            this.classList.add('expanded');
                        }
                    }
                });
            });
            tocToggle.addEventListener('click', function () {
                var isSticky = toc.classList.toggle('sticky');
                tocToggle.textContent = '[' + (isSticky ? 'Floating' : 'Sticky') + ']';
            });
            collapseAllToggle.addEventListener('click', function () {
                isExpanded = !isExpanded; // Toggle state
                document.querySelectorAll('.toc-sub-list').forEach(function (subList) {
                    if (subList) {
                        subList.style.setProperty('display', isExpanded ? 'block' : 'none', 'important');
                    }
                });
                document.querySelectorAll('.icon-toggle').forEach(function (icon) {
                    icon.classList.toggle('expanded', isExpanded);
                    icon.classList.toggle('collapsed', !isExpanded);
                });
                collapseAllIcon.classList.toggle('fa-minus', isExpanded);
                collapseAllIcon.classList.toggle('fa-plus', !isExpanded);
            });
            // Function to highlight the current page
            function highlightCurrentPage() {
                var currentPage = window.location.pathname.split('/').pop(); // Get the current page name
                var links = document.querySelectorAll('.wiki-toc-list a');
                links.forEach(function (link) {
                    var linkPage = link.href.split('/').pop(); // Extract page name from link
                    linkPage = linkPage.replace(/%20/g, '_');
                    linkPage = linkPage.replace(/ /g, '_');
                    if (linkPage === currentPage) {
                        link.classList.add('current-page');
                        var parentLi = link.closest('ul').previousElementSibling;
                        //if (parentLi && parentLi.classList.contains('toc-section-header')) {
                        //parentLi.classList.add('current-section');
                        //}
                    }
                });
            }
            highlightCurrentPage();
 
            // Search functionality
    var tocSearchInput = document.getElementById('tocSearchInput');
    var tocItems = document.querySelectorAll('.wiki-toc-list > li');
    tocSearchInput.addEventListener('input', function () {
        var searchText = tocSearchInput.value.toLowerCase();
        tocItems.forEach(function (item) {
        var links = item.querySelectorAll('a');
                    var matchFound = false;
        links.forEach(function (link) {
            if (link.textContent.toLowerCase().includes(searchText)) {
        matchFound = true;
            }
        });
        if (matchFound) {
            item.style.display = ''; // Show item
        } else {
            item.style.display = 'none'; // Hide item
        }
        });
    });
        });
    </script>
</body>
}}
<!-- old
{{Sidebar
{{Sidebar
| title  = [[RidgeRun Video Stabilization Library|<span style="color:#00008B; font-size:120%;"><u>RidgeRun Video Stabilization Library</u></span>]]
| title  = [[RidgeRun Video Stabilization Library|<span style="color:#00008B; font-size:120%;"><u>RidgeRun Video Stabilization Library</u></span>]]
Line 72: Line 316:


}}
}}
-->


<noinclude>
<noinclude>
[[Category:RidgeRun Video Stabilization Library Templates]]
[[Category:RidgeRun Video Stabilization Library Templates]]
</noinclude>
</noinclude>

Revision as of 12:19, 19 August 2024


Add Support for IMU Sensors
Video Stabilizer Element Example Pipelines

| heading6 = Useful Links | content6 =


| heading7 = Contact Us

}}

-->