Repository files navigation

MSUProj

MSUProj is a project to transform images of MSU-MR equipment of Russian ERS satellite "Meteor-M" to geographical projection.

It is developed specially for LRPToffLineDecoder to help amateur radio operators get remote sensing data from "Meteor-M No2" and uses GDAL to operate with raster images.

MSUProj contains a command line and a Qt GUI application.

Meteor-M No2 MSU-MR 1km

Using

For now MSUProj need a GCP file produced with LRPToffLineDecoder.

LRPToffLineDecoder uses the SGP4 model and TLE to calculate ground control points (GCP) for transforming MSU-MR images. To produce a GCP file you should set corresponding options in LRPToffLineDecoder ini file:

  • RoughStartTimeUTC - an image date in format dd.mm.yyyy (for example "21.08.2014")
  • TleFileName - a full path to TLE text file (for example "C:\decoder\norad_M2.txt")

TLE contains input parameters for SGP4 model and can be obtained from celestrak.com on this page or space-track.org. Pay attention that TLE is being constantly updated so you need to refresh your TLE file with the last data.

In future releases KMSSProj library will be able to transform images using TLE directly.

Documentation

Developer documentation is available on GitHub Pages.

Precompiled binaries

  • All stable binaries for Windows are in Releases
  • You also can grab latest development binaries for Windows from Yandex.Disk

Localization

You can translate MSUProj-Qt to your language with Transifex. Translations instructions.

Build

1. Install dependencies

Requared:

  • Compiler (tested with GCC and MSVC2013)
  • CMake
  • OMZModules - cmake modules for configuring project (read below)
  • make or Ninja for GCC
  • GDAL development package with geos and proj support (libgdal-dev in debian)
  • ImageMagick for generating icons

Additional:

  • Qt for building MSUProj-Qt
  • WIX or NSIS for building installer packages on Windows
  • Doxygen for building documentation and help files

2. Install OMZModules

cd ~/build_dir
git clone git@github.com:mentaljam/OMZModules.git
mkdir OMZModules-build
cd OMZModules-build

With make:

cmake ../OMZModules
make install

With ninja:

cmake -G Ninja ../OMZModules
ninja install

3. Clone MSUProj

cd ~/build_dir
git clone git@github.com:mentaljam/MSUProj.git
mkdir MSUProj_build
cd MSUProj_build

4. Compile

Use a -DARCH={32/64} argument for CMake to build a 32bit or a 64bit application, or leave to autodetect

Select which components must be compiled:

  • -DBUILD_CLI={ON/OFF}
  • -DBUILD_QT={ON/OFF}
  • -DBUILD_TOOLS={ON/OFF}

You may want to specify an additional path to gdal lib/ include/ dirs with -DSEARCH_PREFIX="..." or -DCMAKE_SYSTEM_PREFIX_PATH="..." options

With make:

cmake -DARCH=64 -DBUILD_QT=ON -DSEARCH_PREFIX="c:/local/" ../MSUProj
make

With ninja:

cmake -DARCH=64 -DBUILD_QT=ON -G Ninja -DSEARCH_PREFIX="c:/local/" ../MSUProj
ninja

5. Build a package or just install

Windows:

cpack -G NSIS

or

cpack -G ZIP

Debian:

cpack -G DEB
sudo dpkg -i msuproj*.deb

For full list of CPack generators read documentation.

About

No description, website, or topics provided.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

MSUProj

MSUProj is a project to transform images of MSU-MR equipment of Russian ERS satellite "Meteor-M" to geographical projection.

It is developed specially for LRPToffLineDecoder to help amateur radio operators get remote sensing data from "Meteor-M No2" and uses GDAL to operate with raster images.

MSUProj contains a command line and a Qt GUI application.

Meteor-M No2 MSU-MR 1km

Using

For now MSUProj need a GCP file produced with LRPToffLineDecoder.

LRPToffLineDecoder uses the SGP4 model and TLE to calculate ground control points (GCP) for transforming MSU-MR images. To produce a GCP file you should set corresponding options in LRPToffLineDecoder ini file:

  • RoughStartTimeUTC - an image date in format dd.mm.yyyy (for example "21.08.2014")
  • TleFileName - a full path to TLE text file (for example "C:\decoder\norad_M2.txt")

TLE contains input parameters for SGP4 model and can be obtained from celestrak.com on this page or space-track.org. Pay attention that TLE is being constantly updated so you need to refresh your TLE file with the last data.

In future releases KMSSProj library will be able to transform images using TLE directly.

Documentation

Developer documentation is available on GitHub Pages.

Precompiled binaries

  • All stable binaries for Windows are in Releases
  • You also can grab latest development binaries for Windows from Yandex.Disk

Localization

You can translate MSUProj-Qt to your language with Transifex. Translations instructions.

Build

1. Install dependencies

Requared:

  • Compiler (tested with GCC and MSVC2013)
  • CMake
  • OMZModules - cmake modules for configuring project (read below)
  • make or Ninja for GCC
  • GDAL development package with geos and proj support (libgdal-dev in debian)
  • ImageMagick for generating icons

Additional:

  • Qt for building MSUProj-Qt
  • WIX or NSIS for building installer packages on Windows
  • Doxygen for building documentation and help files

2. Install OMZModules

cd ~/build_dir
git clone git@github.com:mentaljam/OMZModules.git
mkdir OMZModules-build
cd OMZModules-build

With make:

cmake ../OMZModules
make install

With ninja:

cmake -G Ninja ../OMZModules
ninja install

3. Clone MSUProj

cd ~/build_dir
git clone git@github.com:mentaljam/MSUProj.git
mkdir MSUProj_build
cd MSUProj_build

4. Compile

Use a -DARCH={32/64} argument for CMake to build a 32bit or a 64bit application, or leave to autodetect

Select which components must be compiled:

  • -DBUILD_CLI={ON/OFF}
  • -DBUILD_QT={ON/OFF}
  • -DBUILD_TOOLS={ON/OFF}

You may want to specify an additional path to gdal lib/ include/ dirs with -DSEARCH_PREFIX="..." or -DCMAKE_SYSTEM_PREFIX_PATH="..." options

With make:

cmake -DARCH=64 -DBUILD_QT=ON -DSEARCH_PREFIX="c:/local/" ../MSUProj
make

With ninja:

cmake -DARCH=64 -DBUILD_QT=ON -G Ninja -DSEARCH_PREFIX="c:/local/" ../MSUProj
ninja

5. Build a package or just install

Windows:

cpack -G NSIS

or

cpack -G ZIP

Debian:

cpack -G DEB
sudo dpkg -i msuproj*.deb

For full list of CPack generators read documentation.

About

No description, website, or topics provided.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MSUProj

MSUProj is a project to transform images of MSU-MR equipment of Russian ERS satellite "Meteor-M" to geographical projection.

It is developed specially for LRPToffLineDecoder to help amateur radio operators get remote sensing data from "Meteor-M No2" and uses GDAL to operate with raster images.

MSUProj contains a command line and a Qt GUI application.

Meteor-M No2 MSU-MR 1km

Using

For now MSUProj need a GCP file produced with LRPToffLineDecoder.

LRPToffLineDecoder uses the SGP4 model and TLE to calculate ground control points (GCP) for transforming MSU-MR images. To produce a GCP file you should set corresponding options in LRPToffLineDecoder ini file:

  • RoughStartTimeUTC - an image date in format dd.mm.yyyy (for example "21.08.2014")
  • TleFileName - a full path to TLE text file (for example "C:\decoder\norad_M2.txt")

TLE contains input parameters for SGP4 model and can be obtained from celestrak.com on this page or space-track.org. Pay attention that TLE is being constantly updated so you need to refresh your TLE file with the last data.

In future releases KMSSProj library will be able to transform images using TLE directly.

Documentation

Developer documentation is available on GitHub Pages.

Precompiled binaries

  • All stable binaries for Windows are in Releases
  • You also can grab latest development binaries for Windows from Yandex.Disk

Localization

You can translate MSUProj-Qt to your language with Transifex. Translations instructions.

Build

1. Install dependencies

Requared:

  • Compiler (tested with GCC and MSVC2013)
  • CMake
  • OMZModules - cmake modules for configuring project (read below)
  • make or Ninja for GCC
  • GDAL development package with geos and proj support (libgdal-dev in debian)
  • ImageMagick for generating icons

Additional:

  • Qt for building MSUProj-Qt
  • WIX or NSIS for building installer packages on Windows
  • Doxygen for building documentation and help files

2. Install OMZModules

cd ~/build_dir
git clone git@github.com:mentaljam/OMZModules.git
mkdir OMZModules-build
cd OMZModules-build

With make:

cmake ../OMZModules
make install

With ninja:

cmake -G Ninja ../OMZModules
ninja install

3. Clone MSUProj

cd ~/build_dir
git clone git@github.com:mentaljam/MSUProj.git
mkdir MSUProj_build
cd MSUProj_build

4. Compile

Use a -DARCH={32/64} argument for CMake to build a 32bit or a 64bit application, or leave to autodetect

Select which components must be compiled:

  • -DBUILD_CLI={ON/OFF}
  • -DBUILD_QT={ON/OFF}
  • -DBUILD_TOOLS={ON/OFF}

You may want to specify an additional path to gdal lib/ include/ dirs with -DSEARCH_PREFIX="..." or -DCMAKE_SYSTEM_PREFIX_PATH="..." options

With make:

cmake -DARCH=64 -DBUILD_QT=ON -DSEARCH_PREFIX="c:/local/" ../MSUProj
make

With ninja:

cmake -DARCH=64 -DBUILD_QT=ON -G Ninja -DSEARCH_PREFIX="c:/local/" ../MSUProj
ninja

5. Build a package or just install

Windows:

cpack -G NSIS

or

cpack -G ZIP

Debian:

cpack -G DEB
sudo dpkg -i msuproj*.deb

For full list of CPack generators read documentation.

About

No description, website, or topics provided.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MSUProj

MSUProj is a project to transform images of MSU-MR equipment of Russian ERS satellite "Meteor-M" to geographical projection.

It is developed specially for LRPToffLineDecoder to help amateur radio operators get remote sensing data from "Meteor-M No2" and uses GDAL to operate with raster images.

MSUProj contains a command line and a Qt GUI application.

Meteor-M No2 MSU-MR 1km

Using

For now MSUProj need a GCP file produced with LRPToffLineDecoder.

LRPToffLineDecoder uses the SGP4 model and TLE to calculate ground control points (GCP) for transforming MSU-MR images. To produce a GCP file you should set corresponding options in LRPToffLineDecoder ini file:

  • RoughStartTimeUTC - an image date in format dd.mm.yyyy (for example "21.08.2014")
  • TleFileName - a full path to TLE text file (for example "C:\decoder\norad_M2.txt")

TLE contains input parameters for SGP4 model and can be obtained from celestrak.com on this page or space-track.org. Pay attention that TLE is being constantly updated so you need to refresh your TLE file with the last data.

In future releases KMSSProj library will be able to transform images using TLE directly.

Documentation

Developer documentation is available on GitHub Pages.

Precompiled binaries

  • All stable binaries for Windows are in Releases
  • You also can grab latest development binaries for Windows from Yandex.Disk

Localization

You can translate MSUProj-Qt to your language with Transifex. Translations instructions.

Build

1. Install dependencies

Requared:

  • Compiler (tested with GCC and MSVC2013)
  • CMake
  • OMZModules - cmake modules for configuring project (read below)
  • make or Ninja for GCC
  • GDAL development package with geos and proj support (libgdal-dev in debian)
  • ImageMagick for generating icons

Additional:

  • Qt for building MSUProj-Qt
  • WIX or NSIS for building installer packages on Windows
  • Doxygen for building documentation and help files

2. Install OMZModules

cd ~/build_dir
git clone git@github.com:mentaljam/OMZModules.git
mkdir OMZModules-build
cd OMZModules-build

With make:

cmake ../OMZModules
make install

With ninja:

cmake -G Ninja ../OMZModules
ninja install

3. Clone MSUProj

cd ~/build_dir
git clone git@github.com:mentaljam/MSUProj.git
mkdir MSUProj_build
cd MSUProj_build

4. Compile

Use a -DARCH={32/64} argument for CMake to build a 32bit or a 64bit application, or leave to autodetect

Select which components must be compiled:

  • -DBUILD_CLI={ON/OFF}
  • -DBUILD_QT={ON/OFF}
  • -DBUILD_TOOLS={ON/OFF}

You may want to specify an additional path to gdal lib/ include/ dirs with -DSEARCH_PREFIX="..." or -DCMAKE_SYSTEM_PREFIX_PATH="..." options

With make:

cmake -DARCH=64 -DBUILD_QT=ON -DSEARCH_PREFIX="c:/local/" ../MSUProj
make

With ninja:

cmake -DARCH=64 -DBUILD_QT=ON -G Ninja -DSEARCH_PREFIX="c:/local/" ../MSUProj
ninja

5. Build a package or just install

Windows:

cpack -G NSIS

or

cpack -G ZIP

Debian:

cpack -G DEB
sudo dpkg -i msuproj*.deb

For full list of CPack generators read documentation.

About

No description, website, or topics provided.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

MSUProj

MSUProj is a project to transform images of MSU-MR equipment of Russian ERS satellite "Meteor-M" to geographical projection.

It is developed specially for LRPToffLineDecoder to help amateur radio operators get remote sensing data from "Meteor-M No2" and uses GDAL to operate with raster images.

MSUProj contains a command line and a Qt GUI application.

Meteor-M No2 MSU-MR 1km

Using

For now MSUProj need a GCP file produced with LRPToffLineDecoder.

LRPToffLineDecoder uses the SGP4 model and TLE to calculate ground control points (GCP) for transforming MSU-MR images. To produce a GCP file you should set corresponding options in LRPToffLineDecoder ini file:

  • RoughStartTimeUTC - an image date in format dd.mm.yyyy (for example "21.08.2014")
  • TleFileName - a full path to TLE text file (for example "C:\decoder\norad_M2.txt")

TLE contains input parameters for SGP4 model and can be obtained from celestrak.com on this page or space-track.org. Pay attention that TLE is being constantly updated so you need to refresh your TLE file with the last data.

In future releases KMSSProj library will be able to transform images using TLE directly.

Documentation

Developer documentation is available on GitHub Pages.

Precompiled binaries

  • All stable binaries for Windows are in Releases
  • You also can grab latest development binaries for Windows from Yandex.Disk

Localization

You can translate MSUProj-Qt to your language with Transifex. Translations instructions.

Build

1. Install dependencies

Requared:

  • Compiler (tested with GCC and MSVC2013)
  • CMake
  • OMZModules - cmake modules for configuring project (read below)
  • make or Ninja for GCC
  • GDAL development package with geos and proj support (libgdal-dev in debian)
  • ImageMagick for generating icons

Additional:

  • Qt for building MSUProj-Qt
  • WIX or NSIS for building installer packages on Windows
  • Doxygen for building documentation and help files

2. Install OMZModules

cd ~/build_dir
git clone git@github.com:mentaljam/OMZModules.git
mkdir OMZModules-build
cd OMZModules-build

With make:

cmake ../OMZModules
make install

With ninja:

cmake -G Ninja ../OMZModules
ninja install

3. Clone MSUProj

cd ~/build_dir
git clone git@github.com:mentaljam/MSUProj.git
mkdir MSUProj_build
cd MSUProj_build

4. Compile

Use a -DARCH={32/64} argument for CMake to build a 32bit or a 64bit application, or leave to autodetect

Select which components must be compiled:

  • -DBUILD_CLI={ON/OFF}
  • -DBUILD_QT={ON/OFF}
  • -DBUILD_TOOLS={ON/OFF}

You may want to specify an additional path to gdal lib/ include/ dirs with -DSEARCH_PREFIX="..." or -DCMAKE_SYSTEM_PREFIX_PATH="..." options

With make:

cmake -DARCH=64 -DBUILD_QT=ON -DSEARCH_PREFIX="c:/local/" ../MSUProj
make

With ninja:

cmake -DARCH=64 -DBUILD_QT=ON -G Ninja -DSEARCH_PREFIX="c:/local/" ../MSUProj
ninja

5. Build a package or just install

Windows:

cpack -G NSIS

or

cpack -G ZIP

Debian:

cpack -G DEB
sudo dpkg -i msuproj*.deb

For full list of CPack generators read documentation.

About

No description, website, or topics provided.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MSUProj

MSUProj is a project to transform images of MSU-MR equipment of Russian ERS satellite "Meteor-M" to geographical projection.

It is developed specially for LRPToffLineDecoder to help amateur radio operators get remote sensing data from "Meteor-M No2" and uses GDAL to operate with raster images.

MSUProj contains a command line and a Qt GUI application.

Meteor-M No2 MSU-MR 1km

Using

For now MSUProj need a GCP file produced with LRPToffLineDecoder.

LRPToffLineDecoder uses the SGP4 model and TLE to calculate ground control points (GCP) for transforming MSU-MR images. To produce a GCP file you should set corresponding options in LRPToffLineDecoder ini file:

  • RoughStartTimeUTC - an image date in format dd.mm.yyyy (for example "21.08.2014")
  • TleFileName - a full path to TLE text file (for example "C:\decoder\norad_M2.txt")

TLE contains input parameters for SGP4 model and can be obtained from celestrak.com on this page or space-track.org. Pay attention that TLE is being constantly updated so you need to refresh your TLE file with the last data.

In future releases KMSSProj library will be able to transform images using TLE directly.

Documentation

Developer documentation is available on GitHub Pages.

Precompiled binaries

  • All stable binaries for Windows are in Releases
  • You also can grab latest development binaries for Windows from Yandex.Disk

Localization

You can translate MSUProj-Qt to your language with Transifex. Translations instructions.

Build

1. Install dependencies

Requared:

  • Compiler (tested with GCC and MSVC2013)
  • CMake
  • OMZModules - cmake modules for configuring project (read below)
  • make or Ninja for GCC
  • GDAL development package with geos and proj support (libgdal-dev in debian)
  • ImageMagick for generating icons

Additional:

  • Qt for building MSUProj-Qt
  • WIX or NSIS for building installer packages on Windows
  • Doxygen for building documentation and help files

2. Install OMZModules

cd ~/build_dir
git clone git@github.com:mentaljam/OMZModules.git
mkdir OMZModules-build
cd OMZModules-build

With make:

cmake ../OMZModules
make install

With ninja:

cmake -G Ninja ../OMZModules
ninja install

3. Clone MSUProj

cd ~/build_dir
git clone git@github.com:mentaljam/MSUProj.git
mkdir MSUProj_build
cd MSUProj_build

4. Compile

Use a -DARCH={32/64} argument for CMake to build a 32bit or a 64bit application, or leave to autodetect

Select which components must be compiled:

  • -DBUILD_CLI={ON/OFF}
  • -DBUILD_QT={ON/OFF}
  • -DBUILD_TOOLS={ON/OFF}

You may want to specify an additional path to gdal lib/ include/ dirs with -DSEARCH_PREFIX="..." or -DCMAKE_SYSTEM_PREFIX_PATH="..." options

With make:

cmake -DARCH=64 -DBUILD_QT=ON -DSEARCH_PREFIX="c:/local/" ../MSUProj
make

With ninja:

cmake -DARCH=64 -DBUILD_QT=ON -G Ninja -DSEARCH_PREFIX="c:/local/" ../MSUProj
ninja

5. Build a package or just install

Windows:

cpack -G NSIS

or

cpack -G ZIP

Debian:

cpack -G DEB
sudo dpkg -i msuproj*.deb

For full list of CPack generators read documentation.

About

No description, website, or topics provided.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

MSUProj

MSUProj is a project to transform images of MSU-MR equipment of Russian ERS satellite "Meteor-M" to geographical projection.

It is developed specially for LRPToffLineDecoder to help amateur radio operators get remote sensing data from "Meteor-M No2" and uses GDAL to operate with raster images.

MSUProj contains a command line and a Qt GUI application.

Meteor-M No2 MSU-MR 1km

Using

For now MSUProj need a GCP file produced with LRPToffLineDecoder.

LRPToffLineDecoder uses the SGP4 model and TLE to calculate ground control points (GCP) for transforming MSU-MR images. To produce a GCP file you should set corresponding options in LRPToffLineDecoder ini file:

  • RoughStartTimeUTC - an image date in format dd.mm.yyyy (for example "21.08.2014")
  • TleFileName - a full path to TLE text file (for example "C:\decoder\norad_M2.txt")

TLE contains input parameters for SGP4 model and can be obtained from celestrak.com on this page or space-track.org. Pay attention that TLE is being constantly updated so you need to refresh your TLE file with the last data.

In future releases KMSSProj library will be able to transform images using TLE directly.

Documentation

Developer documentation is available on GitHub Pages.

Precompiled binaries

  • All stable binaries for Windows are in Releases
  • You also can grab latest development binaries for Windows from Yandex.Disk

Localization

You can translate MSUProj-Qt to your language with Transifex. Translations instructions.

Build

1. Install dependencies

Requared:

  • Compiler (tested with GCC and MSVC2013)
  • CMake
  • OMZModules - cmake modules for configuring project (read below)
  • make or Ninja for GCC
  • GDAL development package with geos and proj support (libgdal-dev in debian)
  • ImageMagick for generating icons

Additional:

  • Qt for building MSUProj-Qt
  • WIX or NSIS for building installer packages on Windows
  • Doxygen for building documentation and help files

2. Install OMZModules

cd ~/build_dir
git clone git@github.com:mentaljam/OMZModules.git
mkdir OMZModules-build
cd OMZModules-build

With make:

cmake ../OMZModules
make install

With ninja:

cmake -G Ninja ../OMZModules
ninja install

3. Clone MSUProj

cd ~/build_dir
git clone git@github.com:mentaljam/MSUProj.git
mkdir MSUProj_build
cd MSUProj_build

4. Compile

Use a -DARCH={32/64} argument for CMake to build a 32bit or a 64bit application, or leave to autodetect

Select which components must be compiled:

  • -DBUILD_CLI={ON/OFF}
  • -DBUILD_QT={ON/OFF}
  • -DBUILD_TOOLS={ON/OFF}

You may want to specify an additional path to gdal lib/ include/ dirs with -DSEARCH_PREFIX="..." or -DCMAKE_SYSTEM_PREFIX_PATH="..." options

With make:

cmake -DARCH=64 -DBUILD_QT=ON -DSEARCH_PREFIX="c:/local/" ../MSUProj
make

With ninja:

cmake -DARCH=64 -DBUILD_QT=ON -G Ninja -DSEARCH_PREFIX="c:/local/" ../MSUProj
ninja

5. Build a package or just install

Windows:

cpack -G NSIS

or

cpack -G ZIP

Debian:

cpack -G DEB
sudo dpkg -i msuproj*.deb

For full list of CPack generators read documentation.

About

No description, website, or topics provided.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

MSUProj

MSUProj is a project to transform images of MSU-MR equipment of Russian ERS satellite "Meteor-M" to geographical projection.

It is developed specially for LRPToffLineDecoder to help amateur radio operators get remote sensing data from "Meteor-M No2" and uses GDAL to operate with raster images.

MSUProj contains a command line and a Qt GUI application.

Meteor-M No2 MSU-MR 1km

Using

For now MSUProj need a GCP file produced with LRPToffLineDecoder.

LRPToffLineDecoder uses the SGP4 model and TLE to calculate ground control points (GCP) for transforming MSU-MR images. To produce a GCP file you should set corresponding options in LRPToffLineDecoder ini file:

  • RoughStartTimeUTC - an image date in format dd.mm.yyyy (for example "21.08.2014")
  • TleFileName - a full path to TLE text file (for example "C:\decoder\norad_M2.txt")

TLE contains input parameters for SGP4 model and can be obtained from celestrak.com on this page or space-track.org. Pay attention that TLE is being constantly updated so you need to refresh your TLE file with the last data.

In future releases KMSSProj library will be able to transform images using TLE directly.

Documentation

Developer documentation is available on GitHub Pages.

Precompiled binaries

  • All stable binaries for Windows are in Releases
  • You also can grab latest development binaries for Windows from Yandex.Disk

Localization

You can translate MSUProj-Qt to your language with Transifex. Translations instructions.

Build

1. Install dependencies

Requared:

  • Compiler (tested with GCC and MSVC2013)
  • CMake
  • OMZModules - cmake modules for configuring project (read below)
  • make or Ninja for GCC
  • GDAL development package with geos and proj support (libgdal-dev in debian)
  • ImageMagick for generating icons

Additional:

  • Qt for building MSUProj-Qt
  • WIX or NSIS for building installer packages on Windows
  • Doxygen for building documentation and help files

2. Install OMZModules

cd ~/build_dir
git clone git@github.com:mentaljam/OMZModules.git
mkdir OMZModules-build
cd OMZModules-build

With make:

cmake ../OMZModules
make install

With ninja:

cmake -G Ninja ../OMZModules
ninja install

3. Clone MSUProj

cd ~/build_dir
git clone git@github.com:mentaljam/MSUProj.git
mkdir MSUProj_build
cd MSUProj_build

4. Compile

Use a -DARCH={32/64} argument for CMake to build a 32bit or a 64bit application, or leave to autodetect

Select which components must be compiled:

  • -DBUILD_CLI={ON/OFF}
  • -DBUILD_QT={ON/OFF}
  • -DBUILD_TOOLS={ON/OFF}

You may want to specify an additional path to gdal lib/ include/ dirs with -DSEARCH_PREFIX="..." or -DCMAKE_SYSTEM_PREFIX_PATH="..." options

With make:

cmake -DARCH=64 -DBUILD_QT=ON -DSEARCH_PREFIX="c:/local/" ../MSUProj
make

With ninja:

cmake -DARCH=64 -DBUILD_QT=ON -G Ninja -DSEARCH_PREFIX="c:/local/" ../MSUProj
ninja

5. Build a package or just install

Windows:

cpack -G NSIS

or

cpack -G ZIP

Debian:

cpack -G DEB
sudo dpkg -i msuproj*.deb

For full list of CPack generators read documentation.

About

No description, website, or topics provided.

Resources

Stars

9 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages