Latest version
Released:
SOR to PDF converters. Convert all kinds of documents, e-books, spreadsheets, presentations or images to PDF. Drop Files here Choose File. Enter URL Dropbox Google Drive. OTDR online converter makes conversion SOR TRC files to PDF. Set date and time for measurements, including timestamps. Simple OTDR SOR file parser written in Python. Trc2sor v.1.2.0 trc2sor is simple OTDR trace trc to sor file converter. GDPR Monitor v.8.0.0 Automatically monitors in real time all personal data processing on your computer network. It helps you promptly identify vulnerabilities and security breaches. Trc2sor trc2sor is simple OTDR trace trc to sor file converter ITLocus Charting IT Locus Charting is an advanced charting application for Long Short Signal Program generates buy and sell signals.
A simple OTDR SOR file parser
Project description
The SOR ('Standard OTDR Record') data format is used to store OTDR(optical time-domainreflectometer) fiber data. The format is defined by the Telcordia SR-4731, issue2standard. While it is a standard, it is unfortunately not open, inthat the specifics of the data format are not openly available. Youcan buy the standards document from Telcordia for $750 US (as of thiswriting), but this was beyond my budget. (And likely comes withall sorts of licensing restrictions. I wouldn't know; I have neverseen the document!)
There are several freely available OTDR trace readers available fordownload on the web, but most do not allow exporting the trace curveinto, say, a CSV file for further analysis, and only one that I'vefound that runs natively on Linux (but without source code; althoughsome of these do work in the Wine emulator). There have been requestson various Internet forums asking for information on how to extractthe trace data, but I am not aware of anyone providing any answersbeyond pointing to the free readers and the Telcordia standard.
Fortunately the data format is not particularly hard to decipher. Thetable of contents on the Telcordia SR-4731, issue2page provides several clues, as does the Wikipedia page on opticaltime-domainreflectometer.
Using a binary-file editor/viewer and comparing the outputs fromsome free OTDR SOR file readers, I was able to piece together most ofthe encoding in the SOR data format and written a simple program (inPython) that parses the SOR file and dumps the trace data into a file.(For a more detailed description, other than reading the source code,see my blogpost).
Presented here for your entertainment are my findings, in the hopethat it will be useful to other people. But be aware that theinformation provided here is based on guess work from looking at alimited number of sample files. I can not guarantee that there are nomistakes, or that I have uncovered all possible exceptions to therules that I have deduced from the sample files. use it at your ownrisk! You have been warned!
The program was ported over from my original pubOTDRwritten in Perl. To parse an OTDR SOR file, run the program as
where 'mfile.sor' is the name (path) to your SOR file. A OTDR trace file 'myfile-trace.dat' and a JSON file 'myfile-dump.json' will be produced. You can also output the results as an XML file 'myfile-dump.xml' with:
There is also a Ruby version (rbOTDR), ajavascript/node version(jsOTDR), and aClojure version (cljotdr); the Clojureversion may be of interest to people looking for a Java version, since Clojure runs on top of a Java Virtual Machine (JVM).
Install
Dev Install
This program requires python 2 or python 3. To install dependencies, run
I recently reorganized the whole package to submit to PyPI (Python Package Index). You shouldnow be able to install the whole thing with
This should create an executable called pyOTDR that is ready to use.
Docker
There is a docker image that you can download with the command
If you would like to build the docker image yourself, a docker file (Dockerfile) is provided to help you test this program. In the top level directory, type the command
or type the command
to build the docker image. It will take a while to download the base image and compile. Ifall goes well, it should successfully build a new docker image sidneyli/pyotdr:latest.You can check with the command:
once the build is completed. You can now run the command
or type the docker command:
to spin up an instance of the docker image. This will start a command shell for you to run the pyOTDR.py program. The docker commandabove will mount your home directory to the /data folder inside the docker instance. Thecommand pyOTDR.py (installed as /pyOTDR/pyOTDR.py) will be in your execution path.The docker instance removes itself when you exit the instance.
(Last Revised 2020-05-09)
Release historyRelease notifications | RSS feed
Otdr Sor File Converter
2.0.0
Otdr Sor File Viewer Software
1.0.1
1.0.0
1.0.0c1 pre-release
1.0.0b1 pre-release
Trc To Sor Converter
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Pyotdr
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size pyOTDR-2.0.0-py2.py3-none-any.whl (49.3 kB) | File type Wheel | Python version py2.py3 | Upload date | Hashes |
Filename, size pyOTDR-2.0.0.tar.gz (15.9 kB) | File type Source | Python version None | Upload date | Hashes |
Hashes for pyOTDR-2.0.0-py2.py3-none-any.whl
Algorithm | Hash digest |
---|---|
SHA256 | 0375f2c2968ff3a7d29df3643d0649b5d612a17436f4909b52997f281a626739 |
MD5 | bb1714f1dd0dde429d1b4851eedeb9a6 |
BLAKE2-256 | aaff6dfce264646e8416a8a30ddf7e3e153bbc1cac68a2337d52fe80cf0e0968 |
Hashes for pyOTDR-2.0.0.tar.gz
Algorithm | Hash digest |
---|---|
SHA256 | 48563d4d657a01d467d0d4310323c1f166d78391605107c5ddc21c4cf1dba6d6 |
MD5 | 0da558b4c4f9c68dee05b50c2d974840 |
BLAKE2-256 | d8149aa311348b60599f6fc6be59bb551c6978f9890e10ee965bf719c8e6ae3d |