<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://photonwiki.ifi.unicamp.br/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jarschel</id>
	<title>Photonicamp Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://photonwiki.ifi.unicamp.br/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jarschel"/>
	<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php/Special:Contributions/Jarschel"/>
	<updated>2026-06-08T19:12:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Wiki_Bot_Example&amp;diff=797</id>
		<title>Wiki Bot Example</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Wiki_Bot_Example&amp;diff=797"/>
		<updated>2025-02-03T19:35:11Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This code is an example of how to automate wiki page creation.&lt;br /&gt;
&lt;br /&gt;
It also features integration with Perplexity AI-Powered web search to generate instrument pages base text.&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
This script scrapes info of all equipments in the old LCO database,&lt;br /&gt;
including pictures and manuals, uses AI to generate a summary about each&lt;br /&gt;
equipment using web searches to improve accuracy, and then creates a&lt;br /&gt;
wiki article about it.&lt;br /&gt;
&lt;br /&gt;
Created by pfjarschel&lt;br /&gt;
Dec 2024  &lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Basic imports&lt;br /&gt;
import os&lt;br /&gt;
import time&lt;br /&gt;
import numpy as np  # For random number generation&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
# Specific imports&lt;br /&gt;
import pandoc&lt;br /&gt;
from PIL import Image&lt;br /&gt;
from openai import OpenAI&lt;br /&gt;
&lt;br /&gt;
# To try and suppress some useless warnings&lt;br /&gt;
import warnings&lt;br /&gt;
&lt;br /&gt;
# Suppress https warnings&lt;br /&gt;
from urllib3.exceptions import InsecureRequestWarning&lt;br /&gt;
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)&lt;br /&gt;
&lt;br /&gt;
# This file&#039;s path&lt;br /&gt;
main_directory = os.path.dirname(os.path.abspath(__file__)).replace(&amp;quot;\\&amp;quot;, &amp;quot;/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class ScrapedEquip:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class simply holds all the information found on a certain equipment&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    raw = requests.Response()&lt;br /&gt;
    id = &amp;quot;LCO000000&amp;quot;&lt;br /&gt;
    inst_type = &amp;quot;&amp;quot;&lt;br /&gt;
    name = &amp;quot;Brand Model&amp;quot;&lt;br /&gt;
    status = &amp;quot;OK&amp;quot;&lt;br /&gt;
    location = &amp;quot;&amp;quot;&lt;br /&gt;
    serial = &amp;quot;&amp;quot;&lt;br /&gt;
    patrimonio = &amp;quot;&amp;quot;&lt;br /&gt;
    date = &amp;quot;&amp;quot;&lt;br /&gt;
    keywords = &amp;quot;&amp;quot;&lt;br /&gt;
    summary = &amp;quot;&amp;quot;&lt;br /&gt;
    summary_citations = []&lt;br /&gt;
    img_url = &amp;quot;&amp;quot;&lt;br /&gt;
    img_file = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class PPLX:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class is the interface to Perplexity&#039;s API&lt;br /&gt;
    A valid API key is needed ¯\_(ツ)_/¯&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, key):&lt;br /&gt;
        self.key = key&lt;br /&gt;
        self.url = &amp;quot;https://api.perplexity.ai&amp;quot;&lt;br /&gt;
        self.client = OpenAI(api_key=self.key, base_url=self.url)&lt;br /&gt;
        &lt;br /&gt;
    def build_msgs(self, msg, system_msg=&amp;quot;&amp;quot;) -&amp;gt; list:&lt;br /&gt;
        msgs = [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;role&amp;quot;: &amp;quot;system&amp;quot;,&lt;br /&gt;
                &amp;quot;content&amp;quot;: (system_msg)&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                &amp;quot;content&amp;quot;: (msg)&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
        &lt;br /&gt;
        return msgs&lt;br /&gt;
&lt;br /&gt;
    def request(self, msg: str, system_msg=&amp;quot;&amp;quot;, model=&amp;quot;llama-3.1-sonar-small-128k-online&amp;quot;):&lt;br /&gt;
        msgs = self.build_msgs(msg, system_msg)&lt;br /&gt;
        citations = []&lt;br /&gt;
        response = self.client.chat.completions.create(&lt;br /&gt;
            model=model,&lt;br /&gt;
            messages=msgs,&lt;br /&gt;
        )&lt;br /&gt;
        reply = response.choices[0].message.content&lt;br /&gt;
        &lt;br /&gt;
        try:&lt;br /&gt;
            for cit in response.citations:&lt;br /&gt;
                if not cit in citations:&lt;br /&gt;
                    citations.append(cit)&lt;br /&gt;
        except:&lt;br /&gt;
            pass&lt;br /&gt;
        &lt;br /&gt;
        return reply, response, citations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class Scraper:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class is responsible for all scraping operations&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, lco_url: str, pplx: PPLX):&lt;br /&gt;
        self.lco_url = lco_url&lt;br /&gt;
        self.lco_equips = f&amp;quot;{lco_url}/ubrowse.php&amp;quot;&lt;br /&gt;
        self.dl_folder = f&amp;quot;{main_directory}/scraped_files&amp;quot;&lt;br /&gt;
        self.imgs_folder = f&amp;quot;{self.dl_folder}/imgs&amp;quot;&lt;br /&gt;
        self.others_folder = f&amp;quot;{self.dl_folder}/other&amp;quot;&lt;br /&gt;
        self.equips_ids = []&lt;br /&gt;
        self.pplx = pplx&lt;br /&gt;
        &lt;br /&gt;
        if not os.path.isdir(self.dl_folder):&lt;br /&gt;
            os.makedirs(self.dl_folder)&lt;br /&gt;
        if not os.path.isdir(self.imgs_folder):&lt;br /&gt;
            os.makedirs(self.imgs_folder)&lt;br /&gt;
        if not os.path.isdir(self.others_folder):&lt;br /&gt;
            os.makedirs(self.others_folder)&lt;br /&gt;
    &lt;br /&gt;
    def get_equips_id_list(self) -&amp;gt; list:&lt;br /&gt;
        equips_raw = requests.get(self.lco_equips)&lt;br /&gt;
        self.equips_ids = []&lt;br /&gt;
        if equips_raw.status_code == 200:&lt;br /&gt;
            try:&lt;br /&gt;
                equips_list_raw = equips_raw.text.split(&amp;quot;&amp;lt;a href=&#039;equip.php?id=&amp;quot;)&lt;br /&gt;
                for span in equips_list_raw:&lt;br /&gt;
                    if span[:3] == &amp;quot;LCO&amp;quot;:&lt;br /&gt;
                        self.equips_ids.append(span[:9])&lt;br /&gt;
            except:&lt;br /&gt;
                print(&amp;quot;Error parsing data. are you sure the site is up and the ID is correct?&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        return self.equips_ids&lt;br /&gt;
&lt;br /&gt;
    def get_equip_data(self, id: str, print_data=False) -&amp;gt; ScrapedEquip:&lt;br /&gt;
        equip = ScrapedEquip()&lt;br /&gt;
        equip.id = id&lt;br /&gt;
        equip_link = f&amp;quot;{self.lco_url}/equip.php?id={equip.id}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        equip.raw = requests.get(equip_link, verify=False)&lt;br /&gt;
        if equip.raw.status_code == 200:&lt;br /&gt;
            equip.raw.encoding = &#039;utf-8&#039;&lt;br /&gt;
            &lt;br /&gt;
            # Get basic information&lt;br /&gt;
            try:&lt;br /&gt;
                equip.inst_type = equip.raw.text.split(&amp;quot;Tipo: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0].split(&amp;quot;: &amp;quot;)[1]&lt;br /&gt;
                equip.name = equip.raw.text.split(&amp;quot;Nome Completo: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.status = equip.raw.text.split(&amp;quot;Status: &amp;lt;/td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;span&amp;quot;)[1].split(&amp;quot;;&#039;&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/span&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.location = equip.raw.text.split(&amp;quot;Local: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.serial = equip.raw.text.split(&amp;quot;Serial: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.patrimonio = equip.raw.text.split(&amp;quot;Patrimônio: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.date = equip.raw.text.split(&amp;quot;Data de Entrada: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.keywords = equip.raw.text.split(&amp;quot;Keywords: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                &lt;br /&gt;
                try:&lt;br /&gt;
                    imgurl_split_l = &amp;quot;&amp;lt;image src=&#039;&amp;quot;&lt;br /&gt;
                    imgurl_split_r = &amp;quot;&#039;&amp;quot;&lt;br /&gt;
                    equip.img_url = f&amp;quot;{self.lco_url}/{equip.raw.text.split(imgurl_split_l)[1].split(imgurl_split_r)[0]}&amp;quot;&lt;br /&gt;
                except:&lt;br /&gt;
                    pass&lt;br /&gt;
            except:&lt;br /&gt;
                print(&amp;quot;Error parsing some data. are you sure the site is up and the ID is correct?&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        if print_data:&lt;br /&gt;
            print(equip.id)&lt;br /&gt;
            print(equip.inst_type)&lt;br /&gt;
            print(equip.name)&lt;br /&gt;
            print(equip.status)&lt;br /&gt;
            print(equip.location)&lt;br /&gt;
            print(equip.serial)&lt;br /&gt;
            print(equip.patrimonio)&lt;br /&gt;
            print(equip.date)&lt;br /&gt;
            print(equip.keywords)&lt;br /&gt;
            print(equip.img_url)&lt;br /&gt;
        &lt;br /&gt;
        return equip&lt;br /&gt;
&lt;br /&gt;
    def save_equip_img(self, equip: ScrapedEquip):&lt;br /&gt;
        if equip.img_url != &amp;quot;&amp;quot;:&lt;br /&gt;
            try:&lt;br /&gt;
                response = requests.get(equip.img_url)&lt;br /&gt;
                if response.status_code == 200:&lt;br /&gt;
                    filename = f&amp;quot;{self.imgs_folder}/{equip.id}&amp;quot;&lt;br /&gt;
                    if &amp;quot;jpg&amp;quot; in equip.img_url.lower() or &amp;quot;jpeg&amp;quot; in equip.img_url:&lt;br /&gt;
                        filename = f&amp;quot;{filename}.jpg&amp;quot;&lt;br /&gt;
                    elif &amp;quot;png&amp;quot; in equip.img_url.lower():&lt;br /&gt;
                        filename = f&amp;quot;{filename}.png&amp;quot;&lt;br /&gt;
                    equip.img_file = filename.split(&amp;quot;/&amp;quot;)[-1]&lt;br /&gt;
                    if not os.path.isfile(filename):&lt;br /&gt;
                        with open(filename, &#039;wb&#039;) as file:&lt;br /&gt;
                            file.write(response.content)&lt;br /&gt;
                        print(f&amp;quot;Image downloaded as: {filename}&amp;quot;)&lt;br /&gt;
                    else:&lt;br /&gt;
                        print(f&amp;quot;Image {filename} already exists.&amp;quot;)&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Failed to download image&amp;quot;)&lt;br /&gt;
            except:&lt;br /&gt;
                pass&lt;br /&gt;
&lt;br /&gt;
    def create_ai_summary(self, equip: ScrapedEquip, wiki_conv=True):&lt;br /&gt;
        model = &amp;quot;llama-3.1-sonar-huge-128k-online&amp;quot;&lt;br /&gt;
        system_msg = &amp;quot;You are a technology test and measurement expert, a brilliant scientist that knows a lot about scientific experiments, &amp;quot; + \&lt;br /&gt;
                    &amp;quot;especially in the fields of electronics, photonics, optics, and telecommunications, &amp;quot; + \&lt;br /&gt;
                    &amp;quot;and also has access to all kowledge available in the internet.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;Your job is to search the internet and find information about the equipments and instruments that are going to be input in the prompt.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;There are going to be some keywords that can help and the type of instrument it is, that can contain some typos or weird characters &amp;quot; + \&lt;br /&gt;
                    &amp;quot;due to text encoding. Ignore them if it harms more than help.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;Summarize all the information you can find, but in a way that can be useful for students and researchers to quickly know what that &amp;quot; + \&lt;br /&gt;
                    &amp;quot;equipment or instrument can and cannot do, and on which scenarios it could be best used.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;Always reply in english, and only the summary of your findings, please ommit interactions with the user.&amp;quot;              &lt;br /&gt;
        prompt = f&amp;quot;Please find information and summarize it for me, about {equip.name}. It should be of the type {equip.inst_type}. &amp;quot; + \&lt;br /&gt;
                 f&amp;quot;Some keywords that may or may not help: {equip.keywords}. Try to format the summary on a way that will look good in a wiki page.&amp;quot; + \&lt;br /&gt;
                 f&amp;quot;Also please, create a References section at the end of the reply, with all the info about the sources used, even if it would be empty! &amp;quot; + \&lt;br /&gt;
                 f&amp;quot;Some information here may be in portuguese, use it, but please write everything in english.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
        try:&lt;br /&gt;
            print(f&amp;quot;Getting AI summary for {equip.name}. This can take a little while...&amp;quot;)&lt;br /&gt;
            reply, response, citations = self.pplx.request(prompt, system_msg, model)&lt;br /&gt;
            print(f&amp;quot;AI summary request for {equip.name} completed successfully.&amp;quot;)&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            print(f&amp;quot;Error getting AI summary for {equip.name}.&amp;quot;)&lt;br /&gt;
            print(e)&lt;br /&gt;
        &lt;br /&gt;
        if wiki_conv:&lt;br /&gt;
            with warnings.catch_warnings():&lt;br /&gt;
                warnings.simplefilter(&amp;quot;ignore&amp;quot;)&lt;br /&gt;
                md_doc = pandoc.read(reply, format=&#039;markdown&#039;)&lt;br /&gt;
                reply = pandoc.write(md_doc, format=&#039;mediawiki&#039;).replace(&amp;quot;===&amp;quot;, &amp;quot;==&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        equip.summary = reply&lt;br /&gt;
        equip.summary_citations = citations&lt;br /&gt;
&lt;br /&gt;
    def get_lorem_ipsum_filler(ps = 5) -&amp;gt; str:&lt;br /&gt;
        raw = requests.get(&amp;quot;https://loremipsum.io/generator?n=5&amp;amp;t=p&amp;quot;).text.split(&#039;id=&amp;quot;text&amp;quot;&#039;)[1].split(&amp;quot;&amp;lt;/div&amp;gt;&amp;quot;)[0]&lt;br /&gt;
        paragraphs = raw.replace(&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;, &amp;quot;&amp;quot;).replace(&amp;quot;&amp;lt;p&amp;gt;&amp;quot;, &amp;quot;\n&amp;quot;).replace(&amp;quot;&amp;lt;&amp;quot;, &amp;quot;&amp;quot;).replace(&amp;quot;&amp;gt;&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
        return paragraphs&lt;br /&gt;
    &lt;br /&gt;
    def scrape_equip(self, id: str, ai_summary=False) -&amp;gt; ScrapedEquip:&lt;br /&gt;
        equip = self.get_equip_data(id)&lt;br /&gt;
        self.save_equip_img(equip)&lt;br /&gt;
        if ai_summary:&lt;br /&gt;
            self.create_ai_summary(equip, True)&lt;br /&gt;
        else:&lt;br /&gt;
            equip.summary = self.get_lorem_ipsum_filler()&lt;br /&gt;
            &lt;br /&gt;
        return equip&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
class WikiAPI:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class is the interface to MediaWiki Action API&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, url, user, passwd):&lt;br /&gt;
        self.url = url&lt;br /&gt;
        self.csrf_token = &amp;quot;&amp;quot;&lt;br /&gt;
        self.session = requests.Session()&lt;br /&gt;
        &lt;br /&gt;
        self.login(user, passwd)&lt;br /&gt;
        &lt;br /&gt;
    def login(self, user, passwd) -&amp;gt; str:        &lt;br /&gt;
        try:&lt;br /&gt;
            PARAMS_0 = {&lt;br /&gt;
                &amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
                &amp;quot;meta&amp;quot;: &amp;quot;tokens&amp;quot;,&lt;br /&gt;
                &amp;quot;type&amp;quot;: &amp;quot;login&amp;quot;,&lt;br /&gt;
                &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            R = self.session.get(url=self.url, params=PARAMS_0, verify=False)&lt;br /&gt;
            DATA = R.json()&lt;br /&gt;
            LOGIN_TOKEN = DATA[&#039;query&#039;][&#039;tokens&#039;][&#039;logintoken&#039;]&lt;br /&gt;
&lt;br /&gt;
            PARAMS_1 = {&lt;br /&gt;
                &amp;quot;action&amp;quot;: &amp;quot;login&amp;quot;,&lt;br /&gt;
                &amp;quot;lgname&amp;quot;: user,&lt;br /&gt;
                &amp;quot;lgpassword&amp;quot;: passwd,&lt;br /&gt;
                &amp;quot;lgtoken&amp;quot;: LOGIN_TOKEN,&lt;br /&gt;
                &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            R = self.session.post(url=self.url, data=PARAMS_1, verify=False)&lt;br /&gt;
&lt;br /&gt;
            PARAMS_2 = {&lt;br /&gt;
                &amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
                &amp;quot;meta&amp;quot;: &amp;quot;tokens&amp;quot;,&lt;br /&gt;
                &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            R = self.session.get(url=self.url, params=PARAMS_2, verify=False)&lt;br /&gt;
            DATA = R.json()&lt;br /&gt;
            self.csrf_token = DATA[&#039;query&#039;][&#039;tokens&#039;][&#039;csrftoken&#039;]&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            print(&amp;quot;Error logging in:&amp;quot;)&lt;br /&gt;
            print(e)&lt;br /&gt;
            &lt;br /&gt;
    def send_edit(self, params) -&amp;gt; bool:&lt;br /&gt;
        R = self.session.post(self.url, data=params)&lt;br /&gt;
        DATA = R.json()&lt;br /&gt;
        try:&lt;br /&gt;
            return DATA[&#039;edit&#039;][&#039;result&#039;] == &#039;Success&#039;&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            try:&lt;br /&gt;
                if DATA[&#039;error&#039;][&#039;code&#039;] == &#039;articleexists&#039;:&lt;br /&gt;
                    print(&amp;quot;Page already exists, moving to override sections&amp;quot;)&lt;br /&gt;
            except Exception as e2:&lt;br /&gt;
                print(e2)&lt;br /&gt;
                print(DATA)&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    def create_page(self, name: str, text: str) -&amp;gt; bool:&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;text&amp;quot;: text,&lt;br /&gt;
            &amp;quot;createonly&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def edit_page(self, name: str, text: str, section = 0, new_section = False, section_title=&amp;quot;&amp;quot;) -&amp;gt; bool:&lt;br /&gt;
        if new_section:&lt;br /&gt;
            section = &amp;quot;new&amp;quot;&lt;br /&gt;
        elif section != 0:&lt;br /&gt;
            text = f&amp;quot;== {section_title} ==\n{text}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;section&amp;quot;: section,&lt;br /&gt;
            &amp;quot;sectiontitle&amp;quot;: section_title,&lt;br /&gt;
            &amp;quot;text&amp;quot;: text,&lt;br /&gt;
            &amp;quot;nocreate&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def prepend_to_page(self, name: str, text: str, section = 0) -&amp;gt; bool:&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;section&amp;quot;: section,&lt;br /&gt;
            &amp;quot;prependtext&amp;quot;: text,&lt;br /&gt;
            &amp;quot;nocreate&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def append_to_page(self, name: str, text: str, section = 0) -&amp;gt; bool:&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;section&amp;quot;: section,&lt;br /&gt;
            &amp;quot;appendtext&amp;quot;: text,&lt;br /&gt;
            &amp;quot;nocreate&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def upload_file(self, file_path: str, comment=&amp;quot;&amp;quot;, text=&amp;quot;&amp;quot;) -&amp;gt; bool:&lt;br /&gt;
        name = file_path.replace(&amp;quot;\\&amp;quot;, &amp;quot;/&amp;quot;).split(&amp;quot;/&amp;quot;)[-1]&lt;br /&gt;
        text = text.encode(&#039;utf-8&#039;)&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;upload&amp;quot;,&lt;br /&gt;
            &amp;quot;filename&amp;quot;: name,&lt;br /&gt;
            &amp;quot;comment&amp;quot;: comment,&lt;br /&gt;
            &amp;quot;text&amp;quot;: text,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;ignorewarnings&amp;quot;: 0&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        FILE = {&#039;file&#039;:(name, open(file_path, &#039;rb&#039;), &#039;multipart/form-data&#039;)}&lt;br /&gt;
&lt;br /&gt;
        try:&lt;br /&gt;
            R = self.session.post(self.url, files=FILE, data=PARAMS, verify=False)&lt;br /&gt;
            DATA = R.json()&lt;br /&gt;
            return DATA[&#039;upload&#039;][&#039;result&#039;] == &#039;Success&#039;&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            print(e)&lt;br /&gt;
            return False&lt;br /&gt;
        &lt;br /&gt;
def create_equip_wiki(equip: ScrapedEquip, abort_if_exists=True, stages_to_override=10*[False]):&lt;br /&gt;
    # Create page and add main text&lt;br /&gt;
    page_created = wiki.create_page(equip.name, &amp;quot;&amp;quot;)&lt;br /&gt;
    if page_created or (not abort_if_exists):       &lt;br /&gt;
        # Set main text&lt;br /&gt;
        s = 0&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            wiki.edit_page(equip.name, equip.summary)&lt;br /&gt;
&lt;br /&gt;
        # Add other scraped info&lt;br /&gt;
        s = 1&lt;br /&gt;
        other_text = f&amp;quot;* &#039;&#039;&#039;Status&#039;&#039;&#039;: {equip.status}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: {equip.location}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Serial&#039;&#039;&#039;: {equip.serial}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: {equip.patrimonio}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: {equip.date}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: {equip.keywords}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: {equip.id}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: {equip.inst_type}\n&amp;quot;&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            wiki.edit_page(equip.name, text=other_text.replace(&amp;quot;  &amp;quot;, &amp;quot;&amp;quot;), new_section=True, section_title=&amp;quot;Other info&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        # Upload Image&lt;br /&gt;
        s = 2&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            img_file = f&amp;quot;{scraper.imgs_folder}/{equip.img_file}&amp;quot;&lt;br /&gt;
            &lt;br /&gt;
            # Resize image to 2160 px high (4K)&lt;br /&gt;
            target_height = 2160&lt;br /&gt;
            img = Image.open(img_file)&lt;br /&gt;
            if img.size[1] &amp;gt; target_height:&lt;br /&gt;
                height_percent = (target_height / float(img.size[1]))&lt;br /&gt;
                target_width = int((float(img.size[0]) * float(height_percent)))&lt;br /&gt;
                resized_image = img.resize((target_width, target_height), Image.Resampling.LANCZOS)&lt;br /&gt;
                resized_image.save(img_file)&lt;br /&gt;
            &lt;br /&gt;
            wiki.upload_file(img_file, comment=f&amp;quot;Photo of {equip.name}&amp;quot;, text=f&amp;quot;Photo of {equip.name}&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        # Place image in text&lt;br /&gt;
        s = 3&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            img_text = f&amp;quot;[[File:{equip.img_file}|alt={equip.name}|thumb|{equip.name}]]&amp;quot;&lt;br /&gt;
            wiki.prepend_to_page(equip.name, text=img_text, section=0)&lt;br /&gt;
        &lt;br /&gt;
        # Set Category&lt;br /&gt;
        s = 4&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            wiki.append_to_page(equip.name, &amp;quot;\n\n[[Category:Instruments]]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Main definitions&lt;br /&gt;
lco_url = &amp;quot;http://beltza.ifi.unicamp.br/LCOSys&amp;quot;&lt;br /&gt;
wiki_type = &amp;quot;prod&amp;quot;  # test or prod&lt;br /&gt;
test_on_random_id = False  # To test on a random equipment. Overrides id set on test_id.&lt;br /&gt;
test_id = &amp;quot;LCO110101&amp;quot;&lt;br /&gt;
ai_summary = True&lt;br /&gt;
abort_if_exists = False&lt;br /&gt;
overrides = [False, False, False, False, False]  # [Main text, Extra text, Image upload, Image in text, Category set]&lt;br /&gt;
&lt;br /&gt;
# Enable this to run for many equipments&lt;br /&gt;
# To do ALL, set start_i to 0, and end_i to -1&lt;br /&gt;
DO_MANY = True&lt;br /&gt;
start_i = 100&lt;br /&gt;
end_i = -1&lt;br /&gt;
&lt;br /&gt;
# Connect to Perplexity&lt;br /&gt;
with open(&amp;quot;pplx_api.txt&amp;quot;, &#039;r&#039;, encoding=&#039;utf-8&#039;) as file:&lt;br /&gt;
    pplx_key = file.readline()&lt;br /&gt;
pplx = PPLX(pplx_key)&lt;br /&gt;
&lt;br /&gt;
# Create Scraper&lt;br /&gt;
scraper = Scraper(lco_url, pplx)&lt;br /&gt;
&lt;br /&gt;
# Switch between test and prod Wiki&lt;br /&gt;
if wiki_type == &amp;quot;prod&amp;quot;:&lt;br /&gt;
    wiki_url = &amp;quot;https://photonwiki.ifi.unicamp.br/wiki/api.php&amp;quot;&lt;br /&gt;
    credsfile = &amp;quot;photonbot.txt&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
    wiki_url = &amp;quot;http://beltza.ifi.unicamp.br/media_wiki_demo/api.php&amp;quot;&lt;br /&gt;
    credsfile = &amp;quot;testbot.txt&amp;quot;&lt;br /&gt;
with open(credsfile, &#039;r&#039;, encoding=&#039;utf-8&#039;) as file:&lt;br /&gt;
    bot_login = file.readline()[:-1]&lt;br /&gt;
    bot_passwd = file.readline()&lt;br /&gt;
&lt;br /&gt;
# Connect to Wiki&lt;br /&gt;
wiki = WikiAPI(wiki_url, bot_login, bot_passwd)&lt;br /&gt;
&lt;br /&gt;
# Get equipment id list&lt;br /&gt;
scraper.get_equips_id_list()&lt;br /&gt;
if end_i &amp;lt; 0:&lt;br /&gt;
    end_i = len(scraper.equips_ids) - 1&lt;br /&gt;
if DO_MANY:&lt;br /&gt;
    n_equips = end_i - start_i + 1&lt;br /&gt;
else:&lt;br /&gt;
    n_equips = 1&lt;br /&gt;
    &lt;br /&gt;
if not DO_MANY:&lt;br /&gt;
    # Specify equip to test, or try a random one&lt;br /&gt;
    if test_on_random_id:&lt;br /&gt;
        id_idx = np.random.randint(0, len(scraper.equips_ids))&lt;br /&gt;
        test_id = scraper.equips_ids[id_idx]&lt;br /&gt;
&lt;br /&gt;
    # Scrape data for selected equipment(s)&lt;br /&gt;
    test_equip = scraper.scrape_equip(test_id, ai_summary=ai_summary)&lt;br /&gt;
&lt;br /&gt;
    # Create Wiki page and fill it&lt;br /&gt;
    create_equip_wiki(test_equip, abort_if_exists, overrides)&lt;br /&gt;
else:&lt;br /&gt;
    # Do the above for the range of equipments selected&lt;br /&gt;
    t00 = time.time()&lt;br /&gt;
    t0 = time.time()&lt;br /&gt;
    for i in range(start_i, end_i + 1):&lt;br /&gt;
        equip_id = scraper.equips_ids[i]&lt;br /&gt;
        equip = scraper.scrape_equip(equip_id, ai_summary=ai_summary)&lt;br /&gt;
        create_equip_wiki(equip, abort_if_exists, overrides)&lt;br /&gt;
        perc = (i - start_i + 1)/(n_equips)&lt;br /&gt;
        t1 = time.time()&lt;br /&gt;
        dt = t1 - t0&lt;br /&gt;
        el_t = t1 - t00&lt;br /&gt;
        tt = el_t/perc&lt;br /&gt;
        rt = tt - el_t&lt;br /&gt;
        t0 = time.time()&lt;br /&gt;
        print(f&amp;quot;{i - start_i + 1}/{n_equips} pages done ({100.0*perc:.2f}%). {rt:.2f} s left.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Wiki_Bot_Example&amp;diff=796</id>
		<title>Wiki Bot Example</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Wiki_Bot_Example&amp;diff=796"/>
		<updated>2025-02-03T19:34:28Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This code is an example of how to automate wiki page creation.&lt;br /&gt;
&lt;br /&gt;
It also features integration with Perplexity AI-Powered web search to generate instrument pages base text.&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
This script scrapes info of all equipments in the old LCO database,&lt;br /&gt;
including pictures and manuals, uses AI to generate a summary about each&lt;br /&gt;
equipment using web searches to improve accuracy, and then creates a&lt;br /&gt;
wiki article about it.&lt;br /&gt;
&lt;br /&gt;
Created by pfjarschel&lt;br /&gt;
Dec 2024  &lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Basic imports&lt;br /&gt;
import os&lt;br /&gt;
import time&lt;br /&gt;
import numpy as np  # For random number generation&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
# Specific imports&lt;br /&gt;
import pandoc&lt;br /&gt;
from PIL import Image&lt;br /&gt;
from openai import OpenAI&lt;br /&gt;
&lt;br /&gt;
# To try and suppress some useless warnings&lt;br /&gt;
import warnings&lt;br /&gt;
&lt;br /&gt;
# Suppress https warnings&lt;br /&gt;
from urllib3.exceptions import InsecureRequestWarning&lt;br /&gt;
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)&lt;br /&gt;
&lt;br /&gt;
# This file&#039;s path&lt;br /&gt;
main_directory = os.path.dirname(os.path.abspath(__file__)).replace(&amp;quot;\\&amp;quot;, &amp;quot;/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class ScrapedEquip:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class simply holds all the information found on a certain equipment&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    raw = requests.Response()&lt;br /&gt;
    id = &amp;quot;LCO000000&amp;quot;&lt;br /&gt;
    inst_type = &amp;quot;&amp;quot;&lt;br /&gt;
    name = &amp;quot;Brand Model&amp;quot;&lt;br /&gt;
    status = &amp;quot;OK&amp;quot;&lt;br /&gt;
    location = &amp;quot;&amp;quot;&lt;br /&gt;
    serial = &amp;quot;&amp;quot;&lt;br /&gt;
    patrimonio = &amp;quot;&amp;quot;&lt;br /&gt;
    date = &amp;quot;&amp;quot;&lt;br /&gt;
    keywords = &amp;quot;&amp;quot;&lt;br /&gt;
    summary = &amp;quot;&amp;quot;&lt;br /&gt;
    summary_citations = []&lt;br /&gt;
    img_url = &amp;quot;&amp;quot;&lt;br /&gt;
    img_file = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class PPLX:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class is the interface to Perplexity&#039;s API&lt;br /&gt;
    A valid API key is needed ¯\_(ツ)_/¯&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, key):&lt;br /&gt;
        self.key = key&lt;br /&gt;
        self.url = &amp;quot;https://api.perplexity.ai&amp;quot;&lt;br /&gt;
        self.client = OpenAI(api_key=self.key, base_url=self.url)&lt;br /&gt;
        &lt;br /&gt;
    def build_msgs(self, msg, system_msg=&amp;quot;&amp;quot;) -&amp;gt; list:&lt;br /&gt;
        msgs = [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;role&amp;quot;: &amp;quot;system&amp;quot;,&lt;br /&gt;
                &amp;quot;content&amp;quot;: (system_msg)&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                &amp;quot;content&amp;quot;: (msg)&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
        &lt;br /&gt;
        return msgs&lt;br /&gt;
&lt;br /&gt;
    def request(self, msg: str, system_msg=&amp;quot;&amp;quot;, model=&amp;quot;llama-3.1-sonar-small-128k-online&amp;quot;):&lt;br /&gt;
        msgs = self.build_msgs(msg, system_msg)&lt;br /&gt;
        citations = []&lt;br /&gt;
        response = self.client.chat.completions.create(&lt;br /&gt;
            model=model,&lt;br /&gt;
            messages=msgs,&lt;br /&gt;
        )&lt;br /&gt;
        reply = response.choices[0].message.content&lt;br /&gt;
        &lt;br /&gt;
        try:&lt;br /&gt;
            for cit in response.citations:&lt;br /&gt;
                if not cit in citations:&lt;br /&gt;
                    citations.append(cit)&lt;br /&gt;
        except:&lt;br /&gt;
            pass&lt;br /&gt;
        &lt;br /&gt;
        return reply, response, citations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class Scraper:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class is responsible for all scraping operations&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, lco_url: str, pplx: PPLX):&lt;br /&gt;
        self.lco_url = lco_url&lt;br /&gt;
        self.lco_equips = f&amp;quot;{lco_url}/ubrowse.php&amp;quot;&lt;br /&gt;
        self.dl_folder = f&amp;quot;{main_directory}/scraped_files&amp;quot;&lt;br /&gt;
        self.imgs_folder = f&amp;quot;{self.dl_folder}/imgs&amp;quot;&lt;br /&gt;
        self.others_folder = f&amp;quot;{self.dl_folder}/other&amp;quot;&lt;br /&gt;
        self.equips_ids = []&lt;br /&gt;
        self.pplx = pplx&lt;br /&gt;
        &lt;br /&gt;
        if not os.path.isdir(self.dl_folder):&lt;br /&gt;
            os.makedirs(self.dl_folder)&lt;br /&gt;
        if not os.path.isdir(self.imgs_folder):&lt;br /&gt;
            os.makedirs(self.imgs_folder)&lt;br /&gt;
        if not os.path.isdir(self.others_folder):&lt;br /&gt;
            os.makedirs(self.others_folder)&lt;br /&gt;
    &lt;br /&gt;
    def get_equips_id_list(self) -&amp;gt; list:&lt;br /&gt;
        equips_raw = requests.get(self.lco_equips)&lt;br /&gt;
        self.equips_ids = []&lt;br /&gt;
        if equips_raw.status_code == 200:&lt;br /&gt;
            try:&lt;br /&gt;
                equips_list_raw = equips_raw.text.split(&amp;quot;&amp;lt;a href=&#039;equip.php?id=&amp;quot;)&lt;br /&gt;
                for span in equips_list_raw:&lt;br /&gt;
                    if span[:3] == &amp;quot;LCO&amp;quot;:&lt;br /&gt;
                        self.equips_ids.append(span[:9])&lt;br /&gt;
            except:&lt;br /&gt;
                print(&amp;quot;Error parsing data. are you sure the site is up and the ID is correct?&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        return self.equips_ids&lt;br /&gt;
&lt;br /&gt;
    def get_equip_data(self, id: str, print_data=False) -&amp;gt; ScrapedEquip:&lt;br /&gt;
        equip = ScrapedEquip()&lt;br /&gt;
        equip.id = id&lt;br /&gt;
        equip_link = f&amp;quot;{self.lco_url}/equip.php?id={equip.id}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        equip.raw = requests.get(equip_link, verify=False)&lt;br /&gt;
        if equip.raw.status_code == 200:&lt;br /&gt;
            equip.raw.encoding = &#039;utf-8&#039;&lt;br /&gt;
            &lt;br /&gt;
            # Get basic information&lt;br /&gt;
            try:&lt;br /&gt;
                equip.inst_type = equip.raw.text.split(&amp;quot;Tipo: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0].split(&amp;quot;: &amp;quot;)[1]&lt;br /&gt;
                equip.name = equip.raw.text.split(&amp;quot;Nome Completo: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.status = equip.raw.text.split(&amp;quot;Status: &amp;lt;/td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;span&amp;quot;)[1].split(&amp;quot;;&#039;&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/span&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.location = equip.raw.text.split(&amp;quot;Local: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.serial = equip.raw.text.split(&amp;quot;Serial: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.patrimonio = equip.raw.text.split(&amp;quot;Patrimônio: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.date = equip.raw.text.split(&amp;quot;Data de Entrada: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.keywords = equip.raw.text.split(&amp;quot;Keywords: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                &lt;br /&gt;
                try:&lt;br /&gt;
                    imgurl_split_l = &amp;quot;&amp;lt;image src=&#039;&amp;quot;&lt;br /&gt;
                    imgurl_split_r = &amp;quot;&#039;&amp;quot;&lt;br /&gt;
                    equip.img_url = f&amp;quot;{self.lco_url}/{equip.raw.text.split(imgurl_split_l)[1].split(imgurl_split_r)[0]}&amp;quot;&lt;br /&gt;
                except:&lt;br /&gt;
                    pass&lt;br /&gt;
            except:&lt;br /&gt;
                print(&amp;quot;Error parsing some data. are you sure the site is up and the ID is correct?&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        if print_data:&lt;br /&gt;
            print(equip.id)&lt;br /&gt;
            print(equip.inst_type)&lt;br /&gt;
            print(equip.name)&lt;br /&gt;
            print(equip.status)&lt;br /&gt;
            print(equip.location)&lt;br /&gt;
            print(equip.serial)&lt;br /&gt;
            print(equip.patrimonio)&lt;br /&gt;
            print(equip.date)&lt;br /&gt;
            print(equip.keywords)&lt;br /&gt;
            print(equip.img_url)&lt;br /&gt;
        &lt;br /&gt;
        return equip&lt;br /&gt;
&lt;br /&gt;
    def save_equip_img(self, equip: ScrapedEquip):&lt;br /&gt;
        if equip.img_url != &amp;quot;&amp;quot;:&lt;br /&gt;
            try:&lt;br /&gt;
                response = requests.get(equip.img_url)&lt;br /&gt;
                if response.status_code == 200:&lt;br /&gt;
                    filename = f&amp;quot;{self.imgs_folder}/{equip.id}&amp;quot;&lt;br /&gt;
                    if &amp;quot;jpg&amp;quot; in equip.img_url.lower() or &amp;quot;jpeg&amp;quot; in equip.img_url:&lt;br /&gt;
                        filename = f&amp;quot;{filename}.jpg&amp;quot;&lt;br /&gt;
                    elif &amp;quot;png&amp;quot; in equip.img_url.lower():&lt;br /&gt;
                        filename = f&amp;quot;{filename}.png&amp;quot;&lt;br /&gt;
                    equip.img_file = filename.split(&amp;quot;/&amp;quot;)[-1]&lt;br /&gt;
                    if not os.path.isfile(filename):&lt;br /&gt;
                        with open(filename, &#039;wb&#039;) as file:&lt;br /&gt;
                            file.write(response.content)&lt;br /&gt;
                        print(f&amp;quot;Image downloaded as: {filename}&amp;quot;)&lt;br /&gt;
                    else:&lt;br /&gt;
                        print(f&amp;quot;Image {filename} already exists.&amp;quot;)&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Failed to download image&amp;quot;)&lt;br /&gt;
            except:&lt;br /&gt;
                pass&lt;br /&gt;
&lt;br /&gt;
    def create_ai_summary(self, equip: ScrapedEquip, wiki_conv=True):&lt;br /&gt;
        model = &amp;quot;llama-3.1-sonar-huge-128k-online&amp;quot;&lt;br /&gt;
        system_msg = &amp;quot;You are a technology test and measurement expert, a brilliant scientist that knows a lot about scientific experiments, &amp;quot; + \&lt;br /&gt;
                    &amp;quot;especially in the fields of electronics, photonics, optics, and telecommunications, &amp;quot; + \&lt;br /&gt;
                    &amp;quot;and also has access to all kowledge available in the internet.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;Your job is to search the internet and find information about the equipments and instruments that are going to be input in the prompt.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;There are going to be some keywords that can help and the type of instrument it is, that can contain some typos or weird characters &amp;quot; + \&lt;br /&gt;
                    &amp;quot;due to text encoding. Ignore them if it harms more than help.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;Summarize all the information you can find, but in a way that can be useful for students and researchers to quickly know what that &amp;quot; + \&lt;br /&gt;
                    &amp;quot;equipment or instrument can and cannot do, and on which scenarios it could be best used.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;Always reply in english, and only the summary of your findings, please ommit interactions with the user.&amp;quot;              &lt;br /&gt;
        prompt = f&amp;quot;Please find information and summarize it for me, about {equip.name}. It should be of the type {equip.inst_type}. &amp;quot; + \&lt;br /&gt;
                 f&amp;quot;Some keywords that may or may not help: {equip.keywords}. Try to format the summary on a way that will look good in a wiki page.&amp;quot; + \&lt;br /&gt;
                 f&amp;quot;Also please, create a References section at the end of the reply, with all the info about the sources used, even if it would be empty! &amp;quot; + \&lt;br /&gt;
                 f&amp;quot;Some information here may be in portuguese, use it, but please write everything in english.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
        try:&lt;br /&gt;
            print(f&amp;quot;Getting AI summary for {equip.name}. This can take a little while...&amp;quot;)&lt;br /&gt;
            reply, response, citations = self.pplx.request(prompt, system_msg, model)&lt;br /&gt;
            print(f&amp;quot;AI summary request for {equip.name} completed successfully.&amp;quot;)&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            print(f&amp;quot;Error getting AI summary for {equip.name}.&amp;quot;)&lt;br /&gt;
            print(e)&lt;br /&gt;
        &lt;br /&gt;
        if wiki_conv:&lt;br /&gt;
            with warnings.catch_warnings():&lt;br /&gt;
                warnings.simplefilter(&amp;quot;ignore&amp;quot;)&lt;br /&gt;
                md_doc = pandoc.read(reply, format=&#039;markdown&#039;)&lt;br /&gt;
                reply = pandoc.write(md_doc, format=&#039;mediawiki&#039;).replace(&amp;quot;===&amp;quot;, &amp;quot;==&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        equip.summary = reply&lt;br /&gt;
        equip.summary_citations = citations&lt;br /&gt;
&lt;br /&gt;
    def get_lorem_ipsum_filler(ps = 5) -&amp;gt; str:&lt;br /&gt;
        raw = requests.get(&amp;quot;https://loremipsum.io/generator?n=5&amp;amp;t=p&amp;quot;).text.split(&#039;id=&amp;quot;text&amp;quot;&#039;)[1].split(&amp;quot;&amp;lt;/div&amp;gt;&amp;quot;)[0]&lt;br /&gt;
        paragraphs = raw.replace(&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;, &amp;quot;&amp;quot;).replace(&amp;quot;&amp;lt;p&amp;gt;&amp;quot;, &amp;quot;\n&amp;quot;).replace(&amp;quot;&amp;lt;&amp;quot;, &amp;quot;&amp;quot;).replace(&amp;quot;&amp;gt;&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
        return paragraphs&lt;br /&gt;
    &lt;br /&gt;
    def scrape_equip(self, id: str, ai_summary=False) -&amp;gt; ScrapedEquip:&lt;br /&gt;
        equip = self.get_equip_data(id)&lt;br /&gt;
        self.save_equip_img(equip)&lt;br /&gt;
        if ai_summary:&lt;br /&gt;
            self.create_ai_summary(equip, True)&lt;br /&gt;
        else:&lt;br /&gt;
            equip.summary = self.get_lorem_ipsum_filler()&lt;br /&gt;
            &lt;br /&gt;
        return equip&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
class WikiAPI:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class is the interface to MediaWiki Action API&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, url, user, passwd):&lt;br /&gt;
        self.url = url&lt;br /&gt;
        self.csrf_token = &amp;quot;&amp;quot;&lt;br /&gt;
        self.session = requests.Session()&lt;br /&gt;
        &lt;br /&gt;
        self.login(user, passwd)&lt;br /&gt;
        &lt;br /&gt;
    def login(self, user, passwd) -&amp;gt; str:        &lt;br /&gt;
        try:&lt;br /&gt;
            PARAMS_0 = {&lt;br /&gt;
                &amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
                &amp;quot;meta&amp;quot;: &amp;quot;tokens&amp;quot;,&lt;br /&gt;
                &amp;quot;type&amp;quot;: &amp;quot;login&amp;quot;,&lt;br /&gt;
                &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            R = self.session.get(url=self.url, params=PARAMS_0, verify=False)&lt;br /&gt;
            DATA = R.json()&lt;br /&gt;
            LOGIN_TOKEN = DATA[&#039;query&#039;][&#039;tokens&#039;][&#039;logintoken&#039;]&lt;br /&gt;
&lt;br /&gt;
            PARAMS_1 = {&lt;br /&gt;
                &amp;quot;action&amp;quot;: &amp;quot;login&amp;quot;,&lt;br /&gt;
                &amp;quot;lgname&amp;quot;: user,&lt;br /&gt;
                &amp;quot;lgpassword&amp;quot;: passwd,&lt;br /&gt;
                &amp;quot;lgtoken&amp;quot;: LOGIN_TOKEN,&lt;br /&gt;
                &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            R = self.session.post(url=self.url, data=PARAMS_1, verify=False)&lt;br /&gt;
&lt;br /&gt;
            PARAMS_2 = {&lt;br /&gt;
                &amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
                &amp;quot;meta&amp;quot;: &amp;quot;tokens&amp;quot;,&lt;br /&gt;
                &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            R = self.session.get(url=self.url, params=PARAMS_2, verify=False)&lt;br /&gt;
            DATA = R.json()&lt;br /&gt;
            self.csrf_token = DATA[&#039;query&#039;][&#039;tokens&#039;][&#039;csrftoken&#039;]&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            print(&amp;quot;Error logging in:&amp;quot;)&lt;br /&gt;
            print(e)&lt;br /&gt;
            &lt;br /&gt;
    def send_edit(self, params) -&amp;gt; bool:&lt;br /&gt;
        R = self.session.post(self.url, data=params)&lt;br /&gt;
        DATA = R.json()&lt;br /&gt;
        try:&lt;br /&gt;
            return DATA[&#039;edit&#039;][&#039;result&#039;] == &#039;Success&#039;&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            try:&lt;br /&gt;
                if DATA[&#039;error&#039;][&#039;code&#039;] == &#039;articleexists&#039;:&lt;br /&gt;
                    print(&amp;quot;Page already exists, moving to override sections&amp;quot;)&lt;br /&gt;
            except Exception as e2:&lt;br /&gt;
                print(e2)&lt;br /&gt;
                print(DATA)&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    def create_page(self, name: str, text: str) -&amp;gt; bool:&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;text&amp;quot;: text,&lt;br /&gt;
            &amp;quot;createonly&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def edit_page(self, name: str, text: str, section = 0, new_section = False, section_title=&amp;quot;&amp;quot;) -&amp;gt; bool:&lt;br /&gt;
        if new_section:&lt;br /&gt;
            section = &amp;quot;new&amp;quot;&lt;br /&gt;
        elif section != 0:&lt;br /&gt;
            text = f&amp;quot;== {section_title} ==\n{text}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;section&amp;quot;: section,&lt;br /&gt;
            &amp;quot;sectiontitle&amp;quot;: section_title,&lt;br /&gt;
            &amp;quot;text&amp;quot;: text,&lt;br /&gt;
            &amp;quot;nocreate&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def prepend_to_page(self, name: str, text: str, section = 0) -&amp;gt; bool:&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;section&amp;quot;: section,&lt;br /&gt;
            &amp;quot;prependtext&amp;quot;: text,&lt;br /&gt;
            &amp;quot;nocreate&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def append_to_page(self, name: str, text: str, section = 0) -&amp;gt; bool:&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;section&amp;quot;: section,&lt;br /&gt;
            &amp;quot;appendtext&amp;quot;: text,&lt;br /&gt;
            &amp;quot;nocreate&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def upload_file(self, file_path: str, comment=&amp;quot;&amp;quot;, text=&amp;quot;&amp;quot;) -&amp;gt; bool:&lt;br /&gt;
        name = file_path.replace(&amp;quot;\\&amp;quot;, &amp;quot;/&amp;quot;).split(&amp;quot;/&amp;quot;)[-1]&lt;br /&gt;
        text = text.encode(&#039;utf-8&#039;)&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;upload&amp;quot;,&lt;br /&gt;
            &amp;quot;filename&amp;quot;: name,&lt;br /&gt;
            &amp;quot;comment&amp;quot;: comment,&lt;br /&gt;
            &amp;quot;text&amp;quot;: text,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;ignorewarnings&amp;quot;: 0&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        FILE = {&#039;file&#039;:(name, open(file_path, &#039;rb&#039;), &#039;multipart/form-data&#039;)}&lt;br /&gt;
&lt;br /&gt;
        try:&lt;br /&gt;
            R = self.session.post(self.url, files=FILE, data=PARAMS, verify=False)&lt;br /&gt;
            DATA = R.json()&lt;br /&gt;
            return DATA[&#039;upload&#039;][&#039;result&#039;] == &#039;Success&#039;&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            print(e)&lt;br /&gt;
            return False&lt;br /&gt;
        &lt;br /&gt;
def create_equip_wiki(equip: ScrapedEquip, abort_if_exists=True, stages_to_override=10*[False]):&lt;br /&gt;
    # Create page and add main text&lt;br /&gt;
    page_created = wiki.create_page(equip.name, &amp;quot;&amp;quot;)&lt;br /&gt;
    if page_created or (not abort_if_exists):       &lt;br /&gt;
        # Set main text&lt;br /&gt;
        s = 0&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            wiki.edit_page(equip.name, equip.summary)&lt;br /&gt;
&lt;br /&gt;
        # Add other scraped info&lt;br /&gt;
        s = 1&lt;br /&gt;
        other_text = f&amp;quot;* &#039;&#039;&#039;Status&#039;&#039;&#039;: {equip.status}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: {equip.location}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Serial&#039;&#039;&#039;: {equip.serial}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: {equip.patrimonio}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: {equip.date}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: {equip.keywords}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: {equip.id}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: {equip.inst_type}\n&amp;quot;&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            wiki.edit_page(equip.name, text=other_text.replace(&amp;quot;  &amp;quot;, &amp;quot;&amp;quot;), new_section=True, section_title=&amp;quot;Other info&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        # Upload Image&lt;br /&gt;
        s = 2&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            img_file = f&amp;quot;{scraper.imgs_folder}/{equip.img_file}&amp;quot;&lt;br /&gt;
            &lt;br /&gt;
            # Resize image to 2160 px high (4K)&lt;br /&gt;
            target_height = 2160&lt;br /&gt;
            img = Image.open(img_file)&lt;br /&gt;
            if img.size[1] &amp;gt; target_height:&lt;br /&gt;
                height_percent = (target_height / float(img.size[1]))&lt;br /&gt;
                target_width = int((float(img.size[0]) * float(height_percent)))&lt;br /&gt;
                resized_image = img.resize((target_width, target_height), Image.Resampling.LANCZOS)&lt;br /&gt;
                resized_image.save(img_file)&lt;br /&gt;
            &lt;br /&gt;
            wiki.upload_file(img_file, comment=f&amp;quot;Photo of {equip.name}&amp;quot;, text=f&amp;quot;Photo of {equip.name}&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        # Place image in text&lt;br /&gt;
        s = 3&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            img_text = f&amp;quot;[[File:{equip.img_file}|alt={equip.name}|thumb|{equip.name}]]&amp;quot;&lt;br /&gt;
            wiki.prepend_to_page(equip.name, text=img_text, section=0)&lt;br /&gt;
        &lt;br /&gt;
        # Set Category&lt;br /&gt;
        s = 4&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            wiki.append_to_page(equip.name, &amp;quot;\n\n[[Category:Instruments]]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Main definitions&lt;br /&gt;
lco_url = &amp;quot;http://beltza.ifi.unicamp.br/LCOSys&amp;quot;&lt;br /&gt;
wiki_type = &amp;quot;prod&amp;quot;  # test or prod&lt;br /&gt;
test_on_random_id = False  # To test on a random equipment. Overrides id set on test_id.&lt;br /&gt;
test_id = &amp;quot;LCO110101&amp;quot;&lt;br /&gt;
ai_summary = True&lt;br /&gt;
abort_if_exists = False&lt;br /&gt;
overrides = [False, False, False, False, False]  # [Main text, Extra text, Image upload, Image in text, Category set]&lt;br /&gt;
&lt;br /&gt;
# Enable this to run for many equipments&lt;br /&gt;
# To do ALL, set start_i to 0, and end_i to -1&lt;br /&gt;
DO_MANY = True&lt;br /&gt;
start_i = 100&lt;br /&gt;
end_i = -1&lt;br /&gt;
&lt;br /&gt;
# Connect to Perplexity&lt;br /&gt;
with open(&amp;quot;pplx_api.txt&amp;quot;, &#039;r&#039;, encoding=&#039;utf-8&#039;) as file:&lt;br /&gt;
    pplx_key = file.readline()&lt;br /&gt;
pplx = PPLX(pplx_key)&lt;br /&gt;
&lt;br /&gt;
# Create Scraper&lt;br /&gt;
scraper = Scraper(lco_url, pplx)&lt;br /&gt;
&lt;br /&gt;
# Switch between test and prod Wiki&lt;br /&gt;
if wiki_type == &amp;quot;prod&amp;quot;:&lt;br /&gt;
    wiki_url = &amp;quot;https://photonwiki.ifi.unicamp.br/wiki/api.php&amp;quot;&lt;br /&gt;
    credsfile = &amp;quot;photonbot.txt&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
    wiki_url = &amp;quot;http://143.106.153.11/media_wiki_demo/api.php&amp;quot;&lt;br /&gt;
    credsfile = &amp;quot;testbot.txt&amp;quot;&lt;br /&gt;
with open(credsfile, &#039;r&#039;, encoding=&#039;utf-8&#039;) as file:&lt;br /&gt;
    bot_login = file.readline()[:-1]&lt;br /&gt;
    bot_passwd = file.readline()&lt;br /&gt;
&lt;br /&gt;
# Connect to Wiki&lt;br /&gt;
wiki = WikiAPI(wiki_url, bot_login, bot_passwd)&lt;br /&gt;
&lt;br /&gt;
# Get equipment id list&lt;br /&gt;
scraper.get_equips_id_list()&lt;br /&gt;
if end_i &amp;lt; 0:&lt;br /&gt;
    end_i = len(scraper.equips_ids) - 1&lt;br /&gt;
if DO_MANY:&lt;br /&gt;
    n_equips = end_i - start_i + 1&lt;br /&gt;
else:&lt;br /&gt;
    n_equips = 1&lt;br /&gt;
    &lt;br /&gt;
if not DO_MANY:&lt;br /&gt;
    # Specify equip to test, or try a random one&lt;br /&gt;
    if test_on_random_id:&lt;br /&gt;
        id_idx = np.random.randint(0, len(scraper.equips_ids))&lt;br /&gt;
        test_id = scraper.equips_ids[id_idx]&lt;br /&gt;
&lt;br /&gt;
    # Scrape data for selected equipment(s)&lt;br /&gt;
    test_equip = scraper.scrape_equip(test_id, ai_summary=ai_summary)&lt;br /&gt;
&lt;br /&gt;
    # Create Wiki page and fill it&lt;br /&gt;
    create_equip_wiki(test_equip, abort_if_exists, overrides)&lt;br /&gt;
else:&lt;br /&gt;
    # Do the above for the range of equipments selected&lt;br /&gt;
    t00 = time.time()&lt;br /&gt;
    t0 = time.time()&lt;br /&gt;
    for i in range(start_i, end_i + 1):&lt;br /&gt;
        equip_id = scraper.equips_ids[i]&lt;br /&gt;
        equip = scraper.scrape_equip(equip_id, ai_summary=ai_summary)&lt;br /&gt;
        create_equip_wiki(equip, abort_if_exists, overrides)&lt;br /&gt;
        perc = (i - start_i + 1)/(n_equips)&lt;br /&gt;
        t1 = time.time()&lt;br /&gt;
        dt = t1 - t0&lt;br /&gt;
        el_t = t1 - t00&lt;br /&gt;
        tt = el_t/perc&lt;br /&gt;
        rt = tt - el_t&lt;br /&gt;
        t0 = time.time()&lt;br /&gt;
        print(f&amp;quot;{i - start_i + 1}/{n_equips} pages done ({100.0*perc:.2f}%). {rt:.2f} s left.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Wiki_Bot_Example&amp;diff=795</id>
		<title>Wiki Bot Example</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Wiki_Bot_Example&amp;diff=795"/>
		<updated>2025-02-03T14:29:09Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Created page with &amp;quot;This code is an example of how to automate wiki page creation.  It also features integration with Perplexity AI-Powered web search to generate instrument pages base text.&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039; This script scrapes info of all equipments in the old LCO database, including pictures and manuals, uses AI to generate a summary about each equipment using web searches to improve accuracy, and then creates a wiki article about it.  Created by pfjarschel Dec...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This code is an example of how to automate wiki page creation.&lt;br /&gt;
&lt;br /&gt;
It also features integration with Perplexity AI-Powered web search to generate instrument pages base text.&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
This script scrapes info of all equipments in the old LCO database,&lt;br /&gt;
including pictures and manuals, uses AI to generate a summary about each&lt;br /&gt;
equipment using web searches to improve accuracy, and then creates a&lt;br /&gt;
wiki article about it.&lt;br /&gt;
&lt;br /&gt;
Created by pfjarschel&lt;br /&gt;
Dec 2024  &lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Basic imports&lt;br /&gt;
import os&lt;br /&gt;
import time&lt;br /&gt;
import numpy as np  # For random number generation&lt;br /&gt;
import requests&lt;br /&gt;
&lt;br /&gt;
# Specific imports&lt;br /&gt;
import pandoc&lt;br /&gt;
from PIL import Image&lt;br /&gt;
from openai import OpenAI&lt;br /&gt;
&lt;br /&gt;
# To try and suppress some useless warnings&lt;br /&gt;
import warnings&lt;br /&gt;
&lt;br /&gt;
# Suppress https warnings&lt;br /&gt;
from urllib3.exceptions import InsecureRequestWarning&lt;br /&gt;
requests.packages.urllib3.disable_warnings(category=InsecureRequestWarning)&lt;br /&gt;
&lt;br /&gt;
# This file&#039;s path&lt;br /&gt;
main_directory = os.path.dirname(os.path.abspath(__file__)).replace(&amp;quot;\\&amp;quot;, &amp;quot;/&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class ScrapedEquip:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class simply holds all the information found on a certain equipment&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    raw = requests.Response()&lt;br /&gt;
    id = &amp;quot;LCO000000&amp;quot;&lt;br /&gt;
    inst_type = &amp;quot;&amp;quot;&lt;br /&gt;
    name = &amp;quot;Brand Model&amp;quot;&lt;br /&gt;
    status = &amp;quot;OK&amp;quot;&lt;br /&gt;
    location = &amp;quot;&amp;quot;&lt;br /&gt;
    serial = &amp;quot;&amp;quot;&lt;br /&gt;
    patrimonio = &amp;quot;&amp;quot;&lt;br /&gt;
    date = &amp;quot;&amp;quot;&lt;br /&gt;
    keywords = &amp;quot;&amp;quot;&lt;br /&gt;
    summary = &amp;quot;&amp;quot;&lt;br /&gt;
    summary_citations = []&lt;br /&gt;
    img_url = &amp;quot;&amp;quot;&lt;br /&gt;
    img_file = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class PPLX:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class is the interface to Perplexity&#039;s API&lt;br /&gt;
    A valid API key is needed ¯\_(ツ)_/¯&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, key):&lt;br /&gt;
        self.key = key&lt;br /&gt;
        self.url = &amp;quot;https://api.perplexity.ai&amp;quot;&lt;br /&gt;
        self.client = OpenAI(api_key=self.key, base_url=self.url)&lt;br /&gt;
        &lt;br /&gt;
    def build_msgs(self, msg, system_msg=&amp;quot;&amp;quot;) -&amp;gt; list:&lt;br /&gt;
        msgs = [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;role&amp;quot;: &amp;quot;system&amp;quot;,&lt;br /&gt;
                &amp;quot;content&amp;quot;: (system_msg)&lt;br /&gt;
            },&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                &amp;quot;content&amp;quot;: (msg)&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
        &lt;br /&gt;
        return msgs&lt;br /&gt;
&lt;br /&gt;
    def request(self, msg: str, system_msg=&amp;quot;&amp;quot;, model=&amp;quot;llama-3.1-sonar-small-128k-online&amp;quot;):&lt;br /&gt;
        msgs = self.build_msgs(msg, system_msg)&lt;br /&gt;
        citations = []&lt;br /&gt;
        response = self.client.chat.completions.create(&lt;br /&gt;
            model=model,&lt;br /&gt;
            messages=msgs,&lt;br /&gt;
        )&lt;br /&gt;
        reply = response.choices[0].message.content&lt;br /&gt;
        &lt;br /&gt;
        try:&lt;br /&gt;
            for cit in response.citations:&lt;br /&gt;
                if not cit in citations:&lt;br /&gt;
                    citations.append(cit)&lt;br /&gt;
        except:&lt;br /&gt;
            pass&lt;br /&gt;
        &lt;br /&gt;
        return reply, response, citations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class Scraper:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class is responsible for all scraping operations&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, lco_url: str, pplx: PPLX):&lt;br /&gt;
        self.lco_url = lco_url&lt;br /&gt;
        self.lco_equips = f&amp;quot;{lco_url}/ubrowse.php&amp;quot;&lt;br /&gt;
        self.dl_folder = f&amp;quot;{main_directory}/scraped_files&amp;quot;&lt;br /&gt;
        self.imgs_folder = f&amp;quot;{self.dl_folder}/imgs&amp;quot;&lt;br /&gt;
        self.others_folder = f&amp;quot;{self.dl_folder}/other&amp;quot;&lt;br /&gt;
        self.equips_ids = []&lt;br /&gt;
        self.pplx = pplx&lt;br /&gt;
        &lt;br /&gt;
        if not os.path.isdir(self.dl_folder):&lt;br /&gt;
            os.makedirs(self.dl_folder)&lt;br /&gt;
        if not os.path.isdir(self.imgs_folder):&lt;br /&gt;
            os.makedirs(self.imgs_folder)&lt;br /&gt;
        if not os.path.isdir(self.others_folder):&lt;br /&gt;
            os.makedirs(self.others_folder)&lt;br /&gt;
    &lt;br /&gt;
    def get_equips_id_list(self) -&amp;gt; list:&lt;br /&gt;
        equips_raw = requests.get(self.lco_equips)&lt;br /&gt;
        self.equips_ids = []&lt;br /&gt;
        if equips_raw.status_code == 200:&lt;br /&gt;
            try:&lt;br /&gt;
                equips_list_raw = equips_raw.text.split(&amp;quot;&amp;lt;a href=&#039;equip.php?id=&amp;quot;)&lt;br /&gt;
                for span in equips_list_raw:&lt;br /&gt;
                    if span[:3] == &amp;quot;LCO&amp;quot;:&lt;br /&gt;
                        self.equips_ids.append(span[:9])&lt;br /&gt;
            except:&lt;br /&gt;
                print(&amp;quot;Error parsing data. are you sure the site is up and the ID is correct?&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        return self.equips_ids&lt;br /&gt;
&lt;br /&gt;
    def get_equip_data(self, id: str, print_data=False) -&amp;gt; ScrapedEquip:&lt;br /&gt;
        equip = ScrapedEquip()&lt;br /&gt;
        equip.id = id&lt;br /&gt;
        equip_link = f&amp;quot;{self.lco_url}/equip.php?id={equip.id}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        equip.raw = requests.get(equip_link, verify=False)&lt;br /&gt;
        if equip.raw.status_code == 200:&lt;br /&gt;
            equip.raw.encoding = &#039;utf-8&#039;&lt;br /&gt;
            &lt;br /&gt;
            # Get basic information&lt;br /&gt;
            try:&lt;br /&gt;
                equip.inst_type = equip.raw.text.split(&amp;quot;Tipo: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0].split(&amp;quot;: &amp;quot;)[1]&lt;br /&gt;
                equip.name = equip.raw.text.split(&amp;quot;Nome Completo: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.status = equip.raw.text.split(&amp;quot;Status: &amp;lt;/td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;span&amp;quot;)[1].split(&amp;quot;;&#039;&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/span&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.location = equip.raw.text.split(&amp;quot;Local: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.serial = equip.raw.text.split(&amp;quot;Serial: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.patrimonio = equip.raw.text.split(&amp;quot;Patrimônio: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.date = equip.raw.text.split(&amp;quot;Data de Entrada: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                equip.keywords = equip.raw.text.split(&amp;quot;Keywords: &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;quot;)[1].split(&amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;quot;)[0]&lt;br /&gt;
                &lt;br /&gt;
                try:&lt;br /&gt;
                    imgurl_split_l = &amp;quot;&amp;lt;image src=&#039;&amp;quot;&lt;br /&gt;
                    imgurl_split_r = &amp;quot;&#039;&amp;quot;&lt;br /&gt;
                    equip.img_url = f&amp;quot;{self.lco_url}/{equip.raw.text.split(imgurl_split_l)[1].split(imgurl_split_r)[0]}&amp;quot;&lt;br /&gt;
                except:&lt;br /&gt;
                    pass&lt;br /&gt;
            except:&lt;br /&gt;
                print(&amp;quot;Error parsing some data. are you sure the site is up and the ID is correct?&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        if print_data:&lt;br /&gt;
            print(equip.id)&lt;br /&gt;
            print(equip.inst_type)&lt;br /&gt;
            print(equip.name)&lt;br /&gt;
            print(equip.status)&lt;br /&gt;
            print(equip.location)&lt;br /&gt;
            print(equip.serial)&lt;br /&gt;
            print(equip.patrimonio)&lt;br /&gt;
            print(equip.date)&lt;br /&gt;
            print(equip.keywords)&lt;br /&gt;
            print(equip.img_url)&lt;br /&gt;
        &lt;br /&gt;
        return equip&lt;br /&gt;
&lt;br /&gt;
    def save_equip_img(self, equip: ScrapedEquip):&lt;br /&gt;
        if equip.img_url != &amp;quot;&amp;quot;:&lt;br /&gt;
            try:&lt;br /&gt;
                response = requests.get(equip.img_url)&lt;br /&gt;
                if response.status_code == 200:&lt;br /&gt;
                    filename = f&amp;quot;{self.imgs_folder}/{equip.id}&amp;quot;&lt;br /&gt;
                    if &amp;quot;jpg&amp;quot; in equip.img_url.lower() or &amp;quot;jpeg&amp;quot; in equip.img_url:&lt;br /&gt;
                        filename = f&amp;quot;{filename}.jpg&amp;quot;&lt;br /&gt;
                    elif &amp;quot;png&amp;quot; in equip.img_url.lower():&lt;br /&gt;
                        filename = f&amp;quot;{filename}.png&amp;quot;&lt;br /&gt;
                    equip.img_file = filename.split(&amp;quot;/&amp;quot;)[-1]&lt;br /&gt;
                    if not os.path.isfile(filename):&lt;br /&gt;
                        with open(filename, &#039;wb&#039;) as file:&lt;br /&gt;
                            file.write(response.content)&lt;br /&gt;
                        print(f&amp;quot;Image downloaded as: {filename}&amp;quot;)&lt;br /&gt;
                    else:&lt;br /&gt;
                        print(f&amp;quot;Image {filename} already exists.&amp;quot;)&lt;br /&gt;
                else:&lt;br /&gt;
                    print(&amp;quot;Failed to download image&amp;quot;)&lt;br /&gt;
            except:&lt;br /&gt;
                pass&lt;br /&gt;
&lt;br /&gt;
    def create_ai_summary(self, equip: ScrapedEquip, wiki_conv=True):&lt;br /&gt;
        model = &amp;quot;llama-3.1-sonar-huge-128k-online&amp;quot;&lt;br /&gt;
        system_msg = &amp;quot;You are a technology test and measurement expert, a brilliant scientist that knows a lot about scientific experiments, &amp;quot; + \&lt;br /&gt;
                    &amp;quot;especially in the fields of electronics, photonics, optics, and telecommunications, &amp;quot; + \&lt;br /&gt;
                    &amp;quot;and also has access to all kowledge available in the internet.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;Your job is to search the internet and find information about the equipments and instruments that are going to be input in the prompt.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;There are going to be some keywords that can help and the type of instrument it is, that can contain some typos or weird characters &amp;quot; + \&lt;br /&gt;
                    &amp;quot;due to text encoding. Ignore them if it harms more than help.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;Summarize all the information you can find, but in a way that can be useful for students and researchers to quickly know what that &amp;quot; + \&lt;br /&gt;
                    &amp;quot;equipment or instrument can and cannot do, and on which scenarios it could be best used.&amp;quot; + \&lt;br /&gt;
                    &amp;quot;Always reply in english, and only the summary of your findings, please ommit interactions with the user.&amp;quot;              &lt;br /&gt;
        prompt = f&amp;quot;Please find information and summarize it for me, about {equip.name}. It should be of the type {equip.inst_type}. &amp;quot; + \&lt;br /&gt;
                 f&amp;quot;Some keywords that may or may not help: {equip.keywords}. Try to format the summary on a way that will look good in a wiki page.&amp;quot; + \&lt;br /&gt;
                 f&amp;quot;Also please, create a References section at the end of the reply, with all the info about the sources used, even if it would be empty! &amp;quot; + \&lt;br /&gt;
                 f&amp;quot;Some information here may be in portuguese, use it, but please write everything in english.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
        try:&lt;br /&gt;
            print(f&amp;quot;Getting AI summary for {equip.name}. This can take a little while...&amp;quot;)&lt;br /&gt;
            reply, response, citations = self.pplx.request(prompt, system_msg, model)&lt;br /&gt;
            print(f&amp;quot;AI summary request for {equip.name} completed successfully.&amp;quot;)&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            print(f&amp;quot;Error getting AI summary for {equip.name}.&amp;quot;)&lt;br /&gt;
            print(e)&lt;br /&gt;
        &lt;br /&gt;
        if wiki_conv:&lt;br /&gt;
            with warnings.catch_warnings():&lt;br /&gt;
                warnings.simplefilter(&amp;quot;ignore&amp;quot;)&lt;br /&gt;
                md_doc = pandoc.read(reply, format=&#039;markdown&#039;)&lt;br /&gt;
                reply = pandoc.write(md_doc, format=&#039;mediawiki&#039;).replace(&amp;quot;===&amp;quot;, &amp;quot;==&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        equip.summary = reply&lt;br /&gt;
        equip.summary_citations = citations&lt;br /&gt;
&lt;br /&gt;
    def get_lorem_ipsum_filler(ps = 5) -&amp;gt; str:&lt;br /&gt;
        raw = requests.get(&amp;quot;https://loremipsum.io/generator?n=5&amp;amp;t=p&amp;quot;).text.split(&#039;id=&amp;quot;text&amp;quot;&#039;)[1].split(&amp;quot;&amp;lt;/div&amp;gt;&amp;quot;)[0]&lt;br /&gt;
        paragraphs = raw.replace(&amp;quot;&amp;lt;/p&amp;gt;&amp;quot;, &amp;quot;&amp;quot;).replace(&amp;quot;&amp;lt;p&amp;gt;&amp;quot;, &amp;quot;\n&amp;quot;).replace(&amp;quot;&amp;lt;&amp;quot;, &amp;quot;&amp;quot;).replace(&amp;quot;&amp;gt;&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
        return paragraphs&lt;br /&gt;
    &lt;br /&gt;
    def scrape_equip(self, id: str, ai_summary=False) -&amp;gt; ScrapedEquip:&lt;br /&gt;
        equip = self.get_equip_data(id)&lt;br /&gt;
        self.save_equip_img(equip)&lt;br /&gt;
        if ai_summary:&lt;br /&gt;
            self.create_ai_summary(equip, True)&lt;br /&gt;
        else:&lt;br /&gt;
            equip.summary = self.get_lorem_ipsum_filler()&lt;br /&gt;
            &lt;br /&gt;
        return equip&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
class WikiAPI:&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    This class is the interface to MediaWiki Action API&lt;br /&gt;
    &#039;&#039;&#039;&lt;br /&gt;
    &lt;br /&gt;
    def __init__(self, url, user, passwd):&lt;br /&gt;
        self.url = url&lt;br /&gt;
        self.csrf_token = &amp;quot;&amp;quot;&lt;br /&gt;
        self.session = requests.Session()&lt;br /&gt;
        &lt;br /&gt;
        self.login(user, passwd)&lt;br /&gt;
        &lt;br /&gt;
    def login(self, user, passwd) -&amp;gt; str:        &lt;br /&gt;
        try:&lt;br /&gt;
            PARAMS_0 = {&lt;br /&gt;
                &amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
                &amp;quot;meta&amp;quot;: &amp;quot;tokens&amp;quot;,&lt;br /&gt;
                &amp;quot;type&amp;quot;: &amp;quot;login&amp;quot;,&lt;br /&gt;
                &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            R = self.session.get(url=self.url, params=PARAMS_0, verify=False)&lt;br /&gt;
            DATA = R.json()&lt;br /&gt;
            LOGIN_TOKEN = DATA[&#039;query&#039;][&#039;tokens&#039;][&#039;logintoken&#039;]&lt;br /&gt;
&lt;br /&gt;
            PARAMS_1 = {&lt;br /&gt;
                &amp;quot;action&amp;quot;: &amp;quot;login&amp;quot;,&lt;br /&gt;
                &amp;quot;lgname&amp;quot;: user,&lt;br /&gt;
                &amp;quot;lgpassword&amp;quot;: passwd,&lt;br /&gt;
                &amp;quot;lgtoken&amp;quot;: LOGIN_TOKEN,&lt;br /&gt;
                &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            R = self.session.post(url=self.url, data=PARAMS_1, verify=False)&lt;br /&gt;
&lt;br /&gt;
            PARAMS_2 = {&lt;br /&gt;
                &amp;quot;action&amp;quot;: &amp;quot;query&amp;quot;,&lt;br /&gt;
                &amp;quot;meta&amp;quot;: &amp;quot;tokens&amp;quot;,&lt;br /&gt;
                &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
            R = self.session.get(url=self.url, params=PARAMS_2, verify=False)&lt;br /&gt;
            DATA = R.json()&lt;br /&gt;
            self.csrf_token = DATA[&#039;query&#039;][&#039;tokens&#039;][&#039;csrftoken&#039;]&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            print(&amp;quot;Error logging in:&amp;quot;)&lt;br /&gt;
            print(e)&lt;br /&gt;
            &lt;br /&gt;
    def send_edit(self, params) -&amp;gt; bool:&lt;br /&gt;
        R = self.session.post(self.url, data=params)&lt;br /&gt;
        DATA = R.json()&lt;br /&gt;
        try:&lt;br /&gt;
            return DATA[&#039;edit&#039;][&#039;result&#039;] == &#039;Success&#039;&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            try:&lt;br /&gt;
                if DATA[&#039;error&#039;][&#039;code&#039;] == &#039;articleexists&#039;:&lt;br /&gt;
                    print(&amp;quot;Page already exists, moving to override sections&amp;quot;)&lt;br /&gt;
            except Exception as e2:&lt;br /&gt;
                print(e2)&lt;br /&gt;
                print(DATA)&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    def create_page(self, name: str, text: str) -&amp;gt; bool:&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;text&amp;quot;: text,&lt;br /&gt;
            &amp;quot;createonly&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def edit_page(self, name: str, text: str, section = 0, new_section = False, section_title=&amp;quot;&amp;quot;) -&amp;gt; bool:&lt;br /&gt;
        if new_section:&lt;br /&gt;
            section = &amp;quot;new&amp;quot;&lt;br /&gt;
        elif section != 0:&lt;br /&gt;
            text = f&amp;quot;== {section_title} ==\n{text}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;section&amp;quot;: section,&lt;br /&gt;
            &amp;quot;sectiontitle&amp;quot;: section_title,&lt;br /&gt;
            &amp;quot;text&amp;quot;: text,&lt;br /&gt;
            &amp;quot;nocreate&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def prepend_to_page(self, name: str, text: str, section = 0) -&amp;gt; bool:&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;section&amp;quot;: section,&lt;br /&gt;
            &amp;quot;prependtext&amp;quot;: text,&lt;br /&gt;
            &amp;quot;nocreate&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def append_to_page(self, name: str, text: str, section = 0) -&amp;gt; bool:&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;edit&amp;quot;,&lt;br /&gt;
            &amp;quot;title&amp;quot;: name,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;section&amp;quot;: section,&lt;br /&gt;
            &amp;quot;appendtext&amp;quot;: text,&lt;br /&gt;
            &amp;quot;nocreate&amp;quot;: &amp;quot;true&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        return self.send_edit(PARAMS)&lt;br /&gt;
        &lt;br /&gt;
    def upload_file(self, file_path: str, comment=&amp;quot;&amp;quot;, text=&amp;quot;&amp;quot;) -&amp;gt; bool:&lt;br /&gt;
        name = file_path.replace(&amp;quot;\\&amp;quot;, &amp;quot;/&amp;quot;).split(&amp;quot;/&amp;quot;)[-1]&lt;br /&gt;
        text = text.encode(&#039;utf-8&#039;)&lt;br /&gt;
        PARAMS = {&lt;br /&gt;
            &amp;quot;action&amp;quot;: &amp;quot;upload&amp;quot;,&lt;br /&gt;
            &amp;quot;filename&amp;quot;: name,&lt;br /&gt;
            &amp;quot;comment&amp;quot;: comment,&lt;br /&gt;
            &amp;quot;text&amp;quot;: text,&lt;br /&gt;
            &amp;quot;format&amp;quot;: &amp;quot;json&amp;quot;,&lt;br /&gt;
            &amp;quot;token&amp;quot;: self.csrf_token,&lt;br /&gt;
            &amp;quot;ignorewarnings&amp;quot;: 0&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        FILE = {&#039;file&#039;:(name, open(file_path, &#039;rb&#039;), &#039;multipart/form-data&#039;)}&lt;br /&gt;
&lt;br /&gt;
        try:&lt;br /&gt;
            R = self.session.post(self.url, files=FILE, data=PARAMS, verify=False)&lt;br /&gt;
            DATA = R.json()&lt;br /&gt;
            return DATA[&#039;upload&#039;][&#039;result&#039;] == &#039;Success&#039;&lt;br /&gt;
        except Exception as e:&lt;br /&gt;
            print(e)&lt;br /&gt;
            return False&lt;br /&gt;
        &lt;br /&gt;
def create_equip_wiki(equip: ScrapedEquip, abort_if_exists=True, stages_to_override=10*[False]):&lt;br /&gt;
    # Create page and add main text&lt;br /&gt;
    page_created = wiki.create_page(equip.name, &amp;quot;&amp;quot;)&lt;br /&gt;
    if page_created or (not abort_if_exists):       &lt;br /&gt;
        # Set main text&lt;br /&gt;
        s = 0&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            wiki.edit_page(equip.name, equip.summary)&lt;br /&gt;
&lt;br /&gt;
        # Add other scraped info&lt;br /&gt;
        s = 1&lt;br /&gt;
        other_text = f&amp;quot;* &#039;&#039;&#039;Status&#039;&#039;&#039;: {equip.status}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: {equip.location}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Serial&#039;&#039;&#039;: {equip.serial}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: {equip.patrimonio}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: {equip.date}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: {equip.keywords}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: {equip.id}\n&amp;quot; + \&lt;br /&gt;
                     f&amp;quot;* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: {equip.inst_type}\n&amp;quot;&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            wiki.edit_page(equip.name, text=other_text.replace(&amp;quot;  &amp;quot;, &amp;quot;&amp;quot;), new_section=True, section_title=&amp;quot;Other info&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        # Upload Image&lt;br /&gt;
        s = 2&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            img_file = f&amp;quot;{scraper.imgs_folder}/{equip.img_file}&amp;quot;&lt;br /&gt;
            &lt;br /&gt;
            # Resize image to 2160 px high (4K)&lt;br /&gt;
            target_height = 2160&lt;br /&gt;
            img = Image.open(img_file)&lt;br /&gt;
            if img.size[1] &amp;gt; target_height:&lt;br /&gt;
                height_percent = (target_height / float(img.size[1]))&lt;br /&gt;
                target_width = int((float(img.size[0]) * float(height_percent)))&lt;br /&gt;
                resized_image = img.resize((target_width, target_height), Image.Resampling.LANCZOS)&lt;br /&gt;
                resized_image.save(img_file)&lt;br /&gt;
            &lt;br /&gt;
            wiki.upload_file(img_file, comment=f&amp;quot;Photo of {equip.name}&amp;quot;, text=f&amp;quot;Photo of {equip.name}&amp;quot;)&lt;br /&gt;
        &lt;br /&gt;
        # Place image in text&lt;br /&gt;
        s = 3&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            img_text = f&amp;quot;[[File:{equip.img_file}|alt={equip.name}|thumb|{equip.name}]]&amp;quot;&lt;br /&gt;
            wiki.prepend_to_page(equip.name, text=img_text, section=0)&lt;br /&gt;
        &lt;br /&gt;
        # Set Category&lt;br /&gt;
        s = 4&lt;br /&gt;
        if page_created or (not page_created and stages_to_override[s]):&lt;br /&gt;
            wiki.append_to_page(equip.name, &amp;quot;\n\n[[Category:Instruments]]&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Main definitions&lt;br /&gt;
lco_url = &amp;quot;http://143.106.153.11/LCOSys&amp;quot;&lt;br /&gt;
wiki_type = &amp;quot;prod&amp;quot;  # test or prod&lt;br /&gt;
test_on_random_id = False  # To test on a random equipment. Overrides id set on test_id.&lt;br /&gt;
test_id = &amp;quot;LCO110101&amp;quot;&lt;br /&gt;
ai_summary = True&lt;br /&gt;
abort_if_exists = False&lt;br /&gt;
overrides = [False, False, False, False, False]  # [Main text, Extra text, Image upload, Image in text, Category set]&lt;br /&gt;
&lt;br /&gt;
# Enable this to run for many equipments&lt;br /&gt;
# To do ALL, set start_i to 0, and end_i to -1&lt;br /&gt;
DO_MANY = True&lt;br /&gt;
start_i = 100&lt;br /&gt;
end_i = -1&lt;br /&gt;
&lt;br /&gt;
# Connect to Perplexity&lt;br /&gt;
with open(&amp;quot;pplx_api.txt&amp;quot;, &#039;r&#039;, encoding=&#039;utf-8&#039;) as file:&lt;br /&gt;
    pplx_key = file.readline()&lt;br /&gt;
pplx = PPLX(pplx_key)&lt;br /&gt;
&lt;br /&gt;
# Create Scraper&lt;br /&gt;
scraper = Scraper(lco_url, pplx)&lt;br /&gt;
&lt;br /&gt;
# Switch between test and prod Wiki&lt;br /&gt;
if wiki_type == &amp;quot;prod&amp;quot;:&lt;br /&gt;
    wiki_url = &amp;quot;https://photonwiki.ifi.unicamp.br/wiki/api.php&amp;quot;&lt;br /&gt;
    credsfile = &amp;quot;photonbot.txt&amp;quot;&lt;br /&gt;
else:&lt;br /&gt;
    wiki_url = &amp;quot;http://143.106.153.11/media_wiki_demo/api.php&amp;quot;&lt;br /&gt;
    credsfile = &amp;quot;testbot.txt&amp;quot;&lt;br /&gt;
with open(credsfile, &#039;r&#039;, encoding=&#039;utf-8&#039;) as file:&lt;br /&gt;
    bot_login = file.readline()[:-1]&lt;br /&gt;
    bot_passwd = file.readline()&lt;br /&gt;
&lt;br /&gt;
# Connect to Wiki&lt;br /&gt;
wiki = WikiAPI(wiki_url, bot_login, bot_passwd)&lt;br /&gt;
&lt;br /&gt;
# Get equipment id list&lt;br /&gt;
scraper.get_equips_id_list()&lt;br /&gt;
if end_i &amp;lt; 0:&lt;br /&gt;
    end_i = len(scraper.equips_ids) - 1&lt;br /&gt;
if DO_MANY:&lt;br /&gt;
    n_equips = end_i - start_i + 1&lt;br /&gt;
else:&lt;br /&gt;
    n_equips = 1&lt;br /&gt;
    &lt;br /&gt;
if not DO_MANY:&lt;br /&gt;
    # Specify equip to test, or try a random one&lt;br /&gt;
    if test_on_random_id:&lt;br /&gt;
        id_idx = np.random.randint(0, len(scraper.equips_ids))&lt;br /&gt;
        test_id = scraper.equips_ids[id_idx]&lt;br /&gt;
&lt;br /&gt;
    # Scrape data for selected equipment(s)&lt;br /&gt;
    test_equip = scraper.scrape_equip(test_id, ai_summary=ai_summary)&lt;br /&gt;
&lt;br /&gt;
    # Create Wiki page and fill it&lt;br /&gt;
    create_equip_wiki(test_equip, abort_if_exists, overrides)&lt;br /&gt;
else:&lt;br /&gt;
    # Do the above for the range of equipments selected&lt;br /&gt;
    t00 = time.time()&lt;br /&gt;
    t0 = time.time()&lt;br /&gt;
    for i in range(start_i, end_i + 1):&lt;br /&gt;
        equip_id = scraper.equips_ids[i]&lt;br /&gt;
        equip = scraper.scrape_equip(equip_id, ai_summary=ai_summary)&lt;br /&gt;
        create_equip_wiki(equip, abort_if_exists, overrides)&lt;br /&gt;
        perc = (i - start_i + 1)/(n_equips)&lt;br /&gt;
        t1 = time.time()&lt;br /&gt;
        dt = t1 - t0&lt;br /&gt;
        el_t = t1 - t00&lt;br /&gt;
        tt = el_t/perc&lt;br /&gt;
        rt = tt - el_t&lt;br /&gt;
        t0 = time.time()&lt;br /&gt;
        print(f&amp;quot;{i - start_i + 1}/{n_equips} pages done ({100.0*perc:.2f}%). {rt:.2f} s left.&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=794</id>
		<title>Optolink BSI95 Power Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=794"/>
		<updated>2024-12-16T16:59:05Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO790301.jpg|alt=Optolink BSI95 Power Splitter|thumb|Optolink BSI95 Power Splitter]]&#039;&#039;&#039;Optolink BSI95 Power Splitter Summary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the search results provided do not contain any information about the Optolink BSI95 Power Splitter. The search results are unrelated to the query and discuss different topics such as power splitters for radio frequencies[1], optical splitters for audio applications[2], output transformers for tube amplifiers[3], and troubleshooting SPDIF input boards[4].&lt;br /&gt;
&lt;br /&gt;
Given the lack of relevant information, it is not possible to provide a summary of the Optolink BSI95 Power Splitter’s features, capabilities, or usage scenarios.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[1] MECA - LPR3D-1.950WWP, 120 Watts, DIN-Female, 1.7-2.2 GHz. (n.d.). Retrieved from https://e-meca.com/products/lpr3d-1-950wwp-120-watts-din-female-1-7-2-2-ghz&lt;br /&gt;
&lt;br /&gt;
[2] DIY Mobile Audio - Powered vs. non-powered Toslink splitter. (2016, November 25). Retrieved from https://www.diymobileaudio.com/threads/powered-vs-non-powered-toslink-splitter.311218/&lt;br /&gt;
&lt;br /&gt;
[3] diyAudio - Selecting an OPT. (2023, February 12). Retrieved from https://www.diyaudio.com/community/threads/selecting-an-opt.395712/&lt;br /&gt;
&lt;br /&gt;
[4] Arylic Forum - Trouble adding SPDIF IN add-on Board. (2021, May 10). Retrieved from https://forum.arylic.com/t/trouble-adding-spdif-in-add-on-board/190&lt;br /&gt;
&lt;br /&gt;
Note: The references provided are not relevant to the Optolink BSI95 Power Splitter, but are included to document the sources searched.&lt;br /&gt;
&lt;br /&gt;
[[Category:Instruments]]&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Mesa �?ptica 3&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 04/9010&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: divisor pot�?ªncia&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO790301&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Outro&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=793</id>
		<title>Optolink BSI95 Power Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=793"/>
		<updated>2024-12-16T16:59:05Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO790301.jpg|alt=Optolink BSI95 Power Splitter|thumb|Optolink BSI95 Power Splitter]]&#039;&#039;&#039;Optolink BSI95 Power Splitter Summary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the search results provided do not contain any information about the Optolink BSI95 Power Splitter. The search results are unrelated to the query and discuss different topics such as power splitters for radio frequencies[1], optical splitters for audio applications[2], output transformers for tube amplifiers[3], and troubleshooting SPDIF input boards[4].&lt;br /&gt;
&lt;br /&gt;
Given the lack of relevant information, it is not possible to provide a summary of the Optolink BSI95 Power Splitter’s features, capabilities, or usage scenarios.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[1] MECA - LPR3D-1.950WWP, 120 Watts, DIN-Female, 1.7-2.2 GHz. (n.d.). Retrieved from https://e-meca.com/products/lpr3d-1-950wwp-120-watts-din-female-1-7-2-2-ghz&lt;br /&gt;
&lt;br /&gt;
[2] DIY Mobile Audio - Powered vs. non-powered Toslink splitter. (2016, November 25). Retrieved from https://www.diymobileaudio.com/threads/powered-vs-non-powered-toslink-splitter.311218/&lt;br /&gt;
&lt;br /&gt;
[3] diyAudio - Selecting an OPT. (2023, February 12). Retrieved from https://www.diyaudio.com/community/threads/selecting-an-opt.395712/&lt;br /&gt;
&lt;br /&gt;
[4] Arylic Forum - Trouble adding SPDIF IN add-on Board. (2021, May 10). Retrieved from https://forum.arylic.com/t/trouble-adding-spdif-in-add-on-board/190&lt;br /&gt;
&lt;br /&gt;
Note: The references provided are not relevant to the Optolink BSI95 Power Splitter, but are included to document the sources searched.&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Mesa �?ptica 3&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 04/9010&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: divisor pot�?ªncia&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO790301&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Outro&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO790301.jpg&amp;diff=792</id>
		<title>File:LCO790301.jpg</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO790301.jpg&amp;diff=792"/>
		<updated>2024-12-16T16:59:05Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Photo of Optolink BSI95 Power Splitter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Photo of Optolink BSI95 Power Splitter&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=791</id>
		<title>Optolink BSI95 Power Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=791"/>
		<updated>2024-12-16T16:59:04Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: /* Other info */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Optolink BSI95 Power Splitter Summary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the search results provided do not contain any information about the Optolink BSI95 Power Splitter. The search results are unrelated to the query and discuss different topics such as power splitters for radio frequencies[1], optical splitters for audio applications[2], output transformers for tube amplifiers[3], and troubleshooting SPDIF input boards[4].&lt;br /&gt;
&lt;br /&gt;
Given the lack of relevant information, it is not possible to provide a summary of the Optolink BSI95 Power Splitter’s features, capabilities, or usage scenarios.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[1] MECA - LPR3D-1.950WWP, 120 Watts, DIN-Female, 1.7-2.2 GHz. (n.d.). Retrieved from https://e-meca.com/products/lpr3d-1-950wwp-120-watts-din-female-1-7-2-2-ghz&lt;br /&gt;
&lt;br /&gt;
[2] DIY Mobile Audio - Powered vs. non-powered Toslink splitter. (2016, November 25). Retrieved from https://www.diymobileaudio.com/threads/powered-vs-non-powered-toslink-splitter.311218/&lt;br /&gt;
&lt;br /&gt;
[3] diyAudio - Selecting an OPT. (2023, February 12). Retrieved from https://www.diyaudio.com/community/threads/selecting-an-opt.395712/&lt;br /&gt;
&lt;br /&gt;
[4] Arylic Forum - Trouble adding SPDIF IN add-on Board. (2021, May 10). Retrieved from https://forum.arylic.com/t/trouble-adding-spdif-in-add-on-board/190&lt;br /&gt;
&lt;br /&gt;
Note: The references provided are not relevant to the Optolink BSI95 Power Splitter, but are included to document the sources searched.&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Mesa �?ptica 3&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 04/9010&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: divisor pot�?ªncia&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO790301&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Outro&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=790</id>
		<title>Optolink BSI95 Power Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=790"/>
		<updated>2024-12-16T16:59:04Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Optolink BSI95 Power Splitter Summary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the search results provided do not contain any information about the Optolink BSI95 Power Splitter. The search results are unrelated to the query and discuss different topics such as power splitters for radio frequencies[1], optical splitters for audio applications[2], output transformers for tube amplifiers[3], and troubleshooting SPDIF input boards[4].&lt;br /&gt;
&lt;br /&gt;
Given the lack of relevant information, it is not possible to provide a summary of the Optolink BSI95 Power Splitter’s features, capabilities, or usage scenarios.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[1] MECA - LPR3D-1.950WWP, 120 Watts, DIN-Female, 1.7-2.2 GHz. (n.d.). Retrieved from https://e-meca.com/products/lpr3d-1-950wwp-120-watts-din-female-1-7-2-2-ghz&lt;br /&gt;
&lt;br /&gt;
[2] DIY Mobile Audio - Powered vs. non-powered Toslink splitter. (2016, November 25). Retrieved from https://www.diymobileaudio.com/threads/powered-vs-non-powered-toslink-splitter.311218/&lt;br /&gt;
&lt;br /&gt;
[3] diyAudio - Selecting an OPT. (2023, February 12). Retrieved from https://www.diyaudio.com/community/threads/selecting-an-opt.395712/&lt;br /&gt;
&lt;br /&gt;
[4] Arylic Forum - Trouble adding SPDIF IN add-on Board. (2021, May 10). Retrieved from https://forum.arylic.com/t/trouble-adding-spdif-in-add-on-board/190&lt;br /&gt;
&lt;br /&gt;
Note: The references provided are not relevant to the Optolink BSI95 Power Splitter, but are included to document the sources searched.&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=789</id>
		<title>Optolink BSI95 Power Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_BSI95_Power_Splitter&amp;diff=789"/>
		<updated>2024-12-16T16:59:04Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=788</id>
		<title>Newport Wavelength Reference Standard 2010WR-A</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=788"/>
		<updated>2024-12-16T16:58:45Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO790201.jpg|alt=Newport Wavelength Reference Standard 2010WR-A|thumb|Newport Wavelength Reference Standard 2010WR-A]]&#039;&#039;&#039;Newport Wavelength Reference Standard 2010WR-A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Newport Wavelength Reference Standard 2010WR-A is a calibration tool designed for use with optical wavelength measuring devices such as Optical Spectrum Analyzers (OSAs). It provides stable reference wavelengths over multiple regions of interest in the optical spectrum, ensuring accurate measurements across a wide range of wavelengths.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Key Features:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multipoint Calibration:&#039;&#039;&#039; The device uses a multipoint calibration technique, which involves taking calibration error measurements at multiple known wavelengths. This approach improves measurement accuracy over a wider range compared to single-point calibration methods[2][3].&lt;br /&gt;
* &#039;&#039;&#039;Gas Cells:&#039;&#039;&#039; The reference standard utilizes gas cells containing mixtures of gases such as methane and acetylene. These gases produce sharp and deep absorption lines at known wavelengths when illuminated by a broadband source[1][3][4].&lt;br /&gt;
* &#039;&#039;&#039;Segmented Calibration:&#039;&#039;&#039; The calibration process can be extended by segmenting the wavelength range and using separate calibration constants for each segment. This allows for higher accuracy in critical wavelength regions and flexibility in choosing different correction models for different segments[2][3].&lt;br /&gt;
* &#039;&#039;&#039;Statistical Analysis:&#039;&#039;&#039; The calibration method includes statistical analysis to remove outlying data points and calculate weighted averages, ensuring robust and reliable calibration constants[2][3].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applications:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Optical Spectrum Analyzers (OSAs):&#039;&#039;&#039; The 2010WR-A is primarily used for calibrating OSAs, which are critical in various optical and photonic applications.&lt;br /&gt;
* &#039;&#039;&#039;Tunable Laser Calibration:&#039;&#039;&#039; It can also be used for calibrating tunable lasers, ensuring precise wavelength control.&lt;br /&gt;
* &#039;&#039;&#039;Fiber-Bragg Interrogation:&#039;&#039;&#039; The device is applicable in fiber-Bragg interrogation systems, which are used in sensing applications.&lt;br /&gt;
* &#039;&#039;&#039;Gas Sensing:&#039;&#039;&#039; The gas cells can be used in gas sensing applications, leveraging the absorption lines of different gases[4].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technical Specifications:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Gas Cell Configurations:&#039;&#039;&#039; Various configurations are available, including different gas mixtures and path lengths up to 80cm with folded optics in multi-pass housings[4].&lt;br /&gt;
* &#039;&#039;&#039;Fiber Options:&#039;&#039;&#039; The device uses Corning SMF 28e Ultra fiber, optimized for 1310nm ± 40nm or 1550 ± 40nm, with FC or SC, PC or APC connectors[4].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;US6249343B1 - Wavelength reference standard using multiple gases&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6249343B1/en&lt;br /&gt;
# &#039;&#039;&#039;US6362878B1 - Multipoint wavelength calibration technique&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6362878B1/en&lt;br /&gt;
# &#039;&#039;&#039;US6249343B1 - Wavelength reference standard using multiple gases&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6249343B1/en&lt;br /&gt;
# &#039;&#039;&#039;Reference Cells, Gas Cells | Wavelength References&#039;&#039;&#039;. Wavelength References. https://www.wavelengthreferences.com/product/gas-cells/&lt;br /&gt;
# &#039;&#039;&#039;Power and Wavelength Measurement Heads&#039;&#039;&#039;. Newport Corporation. https://www.newport.com/f/power-and-wavelength-measurement-heads&lt;br /&gt;
&lt;br /&gt;
[[Category:Instruments]]&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: Emprestado&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Suporte inferior da mesa óptica 1&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 05012010WR01&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: 08/27730&lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: refer�?ªncia comprimento de onda led&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO790201&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Outro&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=787</id>
		<title>Newport Wavelength Reference Standard 2010WR-A</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=787"/>
		<updated>2024-12-16T16:58:45Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO790201.jpg|alt=Newport Wavelength Reference Standard 2010WR-A|thumb|Newport Wavelength Reference Standard 2010WR-A]]&#039;&#039;&#039;Newport Wavelength Reference Standard 2010WR-A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Newport Wavelength Reference Standard 2010WR-A is a calibration tool designed for use with optical wavelength measuring devices such as Optical Spectrum Analyzers (OSAs). It provides stable reference wavelengths over multiple regions of interest in the optical spectrum, ensuring accurate measurements across a wide range of wavelengths.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Key Features:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multipoint Calibration:&#039;&#039;&#039; The device uses a multipoint calibration technique, which involves taking calibration error measurements at multiple known wavelengths. This approach improves measurement accuracy over a wider range compared to single-point calibration methods[2][3].&lt;br /&gt;
* &#039;&#039;&#039;Gas Cells:&#039;&#039;&#039; The reference standard utilizes gas cells containing mixtures of gases such as methane and acetylene. These gases produce sharp and deep absorption lines at known wavelengths when illuminated by a broadband source[1][3][4].&lt;br /&gt;
* &#039;&#039;&#039;Segmented Calibration:&#039;&#039;&#039; The calibration process can be extended by segmenting the wavelength range and using separate calibration constants for each segment. This allows for higher accuracy in critical wavelength regions and flexibility in choosing different correction models for different segments[2][3].&lt;br /&gt;
* &#039;&#039;&#039;Statistical Analysis:&#039;&#039;&#039; The calibration method includes statistical analysis to remove outlying data points and calculate weighted averages, ensuring robust and reliable calibration constants[2][3].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applications:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Optical Spectrum Analyzers (OSAs):&#039;&#039;&#039; The 2010WR-A is primarily used for calibrating OSAs, which are critical in various optical and photonic applications.&lt;br /&gt;
* &#039;&#039;&#039;Tunable Laser Calibration:&#039;&#039;&#039; It can also be used for calibrating tunable lasers, ensuring precise wavelength control.&lt;br /&gt;
* &#039;&#039;&#039;Fiber-Bragg Interrogation:&#039;&#039;&#039; The device is applicable in fiber-Bragg interrogation systems, which are used in sensing applications.&lt;br /&gt;
* &#039;&#039;&#039;Gas Sensing:&#039;&#039;&#039; The gas cells can be used in gas sensing applications, leveraging the absorption lines of different gases[4].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technical Specifications:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Gas Cell Configurations:&#039;&#039;&#039; Various configurations are available, including different gas mixtures and path lengths up to 80cm with folded optics in multi-pass housings[4].&lt;br /&gt;
* &#039;&#039;&#039;Fiber Options:&#039;&#039;&#039; The device uses Corning SMF 28e Ultra fiber, optimized for 1310nm ± 40nm or 1550 ± 40nm, with FC or SC, PC or APC connectors[4].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;US6249343B1 - Wavelength reference standard using multiple gases&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6249343B1/en&lt;br /&gt;
# &#039;&#039;&#039;US6362878B1 - Multipoint wavelength calibration technique&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6362878B1/en&lt;br /&gt;
# &#039;&#039;&#039;US6249343B1 - Wavelength reference standard using multiple gases&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6249343B1/en&lt;br /&gt;
# &#039;&#039;&#039;Reference Cells, Gas Cells | Wavelength References&#039;&#039;&#039;. Wavelength References. https://www.wavelengthreferences.com/product/gas-cells/&lt;br /&gt;
# &#039;&#039;&#039;Power and Wavelength Measurement Heads&#039;&#039;&#039;. Newport Corporation. https://www.newport.com/f/power-and-wavelength-measurement-heads&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: Emprestado&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Suporte inferior da mesa óptica 1&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 05012010WR01&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: 08/27730&lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: refer�?ªncia comprimento de onda led&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO790201&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Outro&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO790201.jpg&amp;diff=786</id>
		<title>File:LCO790201.jpg</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO790201.jpg&amp;diff=786"/>
		<updated>2024-12-16T16:58:45Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Photo of Newport Wavelength Reference Standard 2010WR-A&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Photo of Newport Wavelength Reference Standard 2010WR-A&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=785</id>
		<title>Newport Wavelength Reference Standard 2010WR-A</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=785"/>
		<updated>2024-12-16T16:58:44Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: /* Other info */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Newport Wavelength Reference Standard 2010WR-A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Newport Wavelength Reference Standard 2010WR-A is a calibration tool designed for use with optical wavelength measuring devices such as Optical Spectrum Analyzers (OSAs). It provides stable reference wavelengths over multiple regions of interest in the optical spectrum, ensuring accurate measurements across a wide range of wavelengths.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Key Features:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multipoint Calibration:&#039;&#039;&#039; The device uses a multipoint calibration technique, which involves taking calibration error measurements at multiple known wavelengths. This approach improves measurement accuracy over a wider range compared to single-point calibration methods[2][3].&lt;br /&gt;
* &#039;&#039;&#039;Gas Cells:&#039;&#039;&#039; The reference standard utilizes gas cells containing mixtures of gases such as methane and acetylene. These gases produce sharp and deep absorption lines at known wavelengths when illuminated by a broadband source[1][3][4].&lt;br /&gt;
* &#039;&#039;&#039;Segmented Calibration:&#039;&#039;&#039; The calibration process can be extended by segmenting the wavelength range and using separate calibration constants for each segment. This allows for higher accuracy in critical wavelength regions and flexibility in choosing different correction models for different segments[2][3].&lt;br /&gt;
* &#039;&#039;&#039;Statistical Analysis:&#039;&#039;&#039; The calibration method includes statistical analysis to remove outlying data points and calculate weighted averages, ensuring robust and reliable calibration constants[2][3].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applications:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Optical Spectrum Analyzers (OSAs):&#039;&#039;&#039; The 2010WR-A is primarily used for calibrating OSAs, which are critical in various optical and photonic applications.&lt;br /&gt;
* &#039;&#039;&#039;Tunable Laser Calibration:&#039;&#039;&#039; It can also be used for calibrating tunable lasers, ensuring precise wavelength control.&lt;br /&gt;
* &#039;&#039;&#039;Fiber-Bragg Interrogation:&#039;&#039;&#039; The device is applicable in fiber-Bragg interrogation systems, which are used in sensing applications.&lt;br /&gt;
* &#039;&#039;&#039;Gas Sensing:&#039;&#039;&#039; The gas cells can be used in gas sensing applications, leveraging the absorption lines of different gases[4].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technical Specifications:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Gas Cell Configurations:&#039;&#039;&#039; Various configurations are available, including different gas mixtures and path lengths up to 80cm with folded optics in multi-pass housings[4].&lt;br /&gt;
* &#039;&#039;&#039;Fiber Options:&#039;&#039;&#039; The device uses Corning SMF 28e Ultra fiber, optimized for 1310nm ± 40nm or 1550 ± 40nm, with FC or SC, PC or APC connectors[4].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;US6249343B1 - Wavelength reference standard using multiple gases&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6249343B1/en&lt;br /&gt;
# &#039;&#039;&#039;US6362878B1 - Multipoint wavelength calibration technique&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6362878B1/en&lt;br /&gt;
# &#039;&#039;&#039;US6249343B1 - Wavelength reference standard using multiple gases&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6249343B1/en&lt;br /&gt;
# &#039;&#039;&#039;Reference Cells, Gas Cells | Wavelength References&#039;&#039;&#039;. Wavelength References. https://www.wavelengthreferences.com/product/gas-cells/&lt;br /&gt;
# &#039;&#039;&#039;Power and Wavelength Measurement Heads&#039;&#039;&#039;. Newport Corporation. https://www.newport.com/f/power-and-wavelength-measurement-heads&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: Emprestado&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Suporte inferior da mesa óptica 1&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 05012010WR01&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: 08/27730&lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: refer�?ªncia comprimento de onda led&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO790201&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Outro&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=784</id>
		<title>Newport Wavelength Reference Standard 2010WR-A</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=784"/>
		<updated>2024-12-16T16:58:44Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Newport Wavelength Reference Standard 2010WR-A&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Newport Wavelength Reference Standard 2010WR-A is a calibration tool designed for use with optical wavelength measuring devices such as Optical Spectrum Analyzers (OSAs). It provides stable reference wavelengths over multiple regions of interest in the optical spectrum, ensuring accurate measurements across a wide range of wavelengths.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Key Features:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multipoint Calibration:&#039;&#039;&#039; The device uses a multipoint calibration technique, which involves taking calibration error measurements at multiple known wavelengths. This approach improves measurement accuracy over a wider range compared to single-point calibration methods[2][3].&lt;br /&gt;
* &#039;&#039;&#039;Gas Cells:&#039;&#039;&#039; The reference standard utilizes gas cells containing mixtures of gases such as methane and acetylene. These gases produce sharp and deep absorption lines at known wavelengths when illuminated by a broadband source[1][3][4].&lt;br /&gt;
* &#039;&#039;&#039;Segmented Calibration:&#039;&#039;&#039; The calibration process can be extended by segmenting the wavelength range and using separate calibration constants for each segment. This allows for higher accuracy in critical wavelength regions and flexibility in choosing different correction models for different segments[2][3].&lt;br /&gt;
* &#039;&#039;&#039;Statistical Analysis:&#039;&#039;&#039; The calibration method includes statistical analysis to remove outlying data points and calculate weighted averages, ensuring robust and reliable calibration constants[2][3].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applications:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Optical Spectrum Analyzers (OSAs):&#039;&#039;&#039; The 2010WR-A is primarily used for calibrating OSAs, which are critical in various optical and photonic applications.&lt;br /&gt;
* &#039;&#039;&#039;Tunable Laser Calibration:&#039;&#039;&#039; It can also be used for calibrating tunable lasers, ensuring precise wavelength control.&lt;br /&gt;
* &#039;&#039;&#039;Fiber-Bragg Interrogation:&#039;&#039;&#039; The device is applicable in fiber-Bragg interrogation systems, which are used in sensing applications.&lt;br /&gt;
* &#039;&#039;&#039;Gas Sensing:&#039;&#039;&#039; The gas cells can be used in gas sensing applications, leveraging the absorption lines of different gases[4].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Technical Specifications:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Gas Cell Configurations:&#039;&#039;&#039; Various configurations are available, including different gas mixtures and path lengths up to 80cm with folded optics in multi-pass housings[4].&lt;br /&gt;
* &#039;&#039;&#039;Fiber Options:&#039;&#039;&#039; The device uses Corning SMF 28e Ultra fiber, optimized for 1310nm ± 40nm or 1550 ± 40nm, with FC or SC, PC or APC connectors[4].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;US6249343B1 - Wavelength reference standard using multiple gases&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6249343B1/en&lt;br /&gt;
# &#039;&#039;&#039;US6362878B1 - Multipoint wavelength calibration technique&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6362878B1/en&lt;br /&gt;
# &#039;&#039;&#039;US6249343B1 - Wavelength reference standard using multiple gases&#039;&#039;&#039;. Google Patents. https://patents.google.com/patent/US6249343B1/en&lt;br /&gt;
# &#039;&#039;&#039;Reference Cells, Gas Cells | Wavelength References&#039;&#039;&#039;. Wavelength References. https://www.wavelengthreferences.com/product/gas-cells/&lt;br /&gt;
# &#039;&#039;&#039;Power and Wavelength Measurement Heads&#039;&#039;&#039;. Newport Corporation. https://www.newport.com/f/power-and-wavelength-measurement-heads&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=783</id>
		<title>Newport Wavelength Reference Standard 2010WR-A</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Newport_Wavelength_Reference_Standard_2010WR-A&amp;diff=783"/>
		<updated>2024-12-16T16:58:44Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=782</id>
		<title>Optolink Polarization Beam Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=782"/>
		<updated>2024-12-16T16:58:09Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO790101.jpg|alt=Optolink Polarization Beam Splitter|thumb|Optolink Polarization Beam Splitter]]&#039;&#039;&#039;Optolink Polarization Beam Splitter (PBS)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Optolink Polarization Beam Splitter (PBS) is a type of optical beam splitter designed to divide a single beam of light into two beams with distinct linear polarizations. This device is crucial in various applications where conserving the energy of the original input beam is paramount.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Instruments]]&lt;br /&gt;
&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Polarization Division&#039;&#039;&#039;: The PBS splits light into two beams based on their polarization states. It reflects S-polarized beams and transmits P-polarized beams.&lt;br /&gt;
* &#039;&#039;&#039;Cube Configuration&#039;&#039;&#039;: Typically configured as a cube, it eliminates ghost images and ensures clean, polarized output beams.&lt;br /&gt;
* &#039;&#039;&#039;Dielectric Coatings&#039;&#039;&#039;: The use of dielectric coatings allows for customization for specific applications, providing control over the amount of light transmitted or reflected in the S and P polarizations.&lt;br /&gt;
* &#039;&#039;&#039;High-Powered Laser Compatibility&#039;&#039;&#039;: Polarizing beam splitter cubes with large damage threshold dielectric coatings can withstand high-powered laser beams.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;High-Powered Laser Systems&#039;&#039;&#039;: Used in high-powered laser applications due to their ability to withstand high-powered laser beams.&lt;br /&gt;
* &#039;&#039;&#039;Optical Instruments&#039;&#039;&#039;: Enhances imaging clarity by selectively allowing desirable light through, ensuring optimal visual output.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Optics&#039;&#039;&#039;: Employed in isolators and fiber amplifiers to isolate P-/S ratios, enhancing signal control.&lt;br /&gt;
* &#039;&#039;&#039;LCOS Projectors&#039;&#039;&#039;: Embedded polarizing beam splitter cubes contribute to increased contrast and superior image quality in high-resolution LCOS projectors.&lt;br /&gt;
* &#039;&#039;&#039;Telecommunications&#039;&#039;&#039;: Used in fiber optic networks to route and distribute signals efficiently.&lt;br /&gt;
* &#039;&#039;&#039;Microscopy&#039;&#039;&#039;: Essential in fluorescence microscopy for separating excitation and emission light, and in confocal microscopy for splitting light between the specimen and the detector.&lt;br /&gt;
* &#039;&#039;&#039;Interferometry&#039;&#039;&#039;: Used to divide a single beam of light into two, subsequently combining them to create an interference pattern for precise distance measurements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Splitting Ratio&#039;&#039;&#039;: While non-polarizing beam splitters are specified by their splitting ratio, polarizing beam splitters are specified by their extinction ratio, which is the ratio of P-polarized light to S-polarized light in the transmitted arm.&lt;br /&gt;
* &#039;&#039;&#039;Polarization States&#039;&#039;&#039;: The device splits light into S-polarized beams that are reflected and P-polarized beams that are transmitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Avantier Inc.&#039;&#039;&#039; - “How Do Polarizing Beam Splitters Work?” - https://avantierinc.com/resources/application-note/how-do-polarizing-beam-splitters-work/&lt;br /&gt;
# &#039;&#039;&#039;Thorlabs&#039;&#039;&#039; - “Beamsplitter Guide” - https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=9028&lt;br /&gt;
# &#039;&#039;&#039;Laser Focus World&#039;&#039;&#039; - “Exploring the Dynamics and Applications of Polarizing Beam Splitters” - https://www.laserfocusworld.com/directory/finished-optics-coatings-components/beamsplitters/blog/14305999/shanghai-optics-inc-exploring-the-dynamics-and-applications-of-polarizing-beam-splitters&lt;br /&gt;
# &#039;&#039;&#039;Avantier Inc.&#039;&#039;&#039; - “What Are Optical Beam Splitters?” - https://avantierinc.com/resources/knowledge-center/what-are-optical-beam-splitters/&lt;br /&gt;
# &#039;&#039;&#039;Blue Ridge Optics&#039;&#039;&#039; - “The Guide to Beam Splitters for Optical Applications” - https://blueridgeoptics.com/guide-to-beam-splitters/&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Suporte superior da mesa óptica 2&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: N/A&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: pbs&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO790101&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Outro&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=781</id>
		<title>Optolink Polarization Beam Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=781"/>
		<updated>2024-12-16T16:58:09Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO790101.jpg|alt=Optolink Polarization Beam Splitter|thumb|Optolink Polarization Beam Splitter]]&#039;&#039;&#039;Optolink Polarization Beam Splitter (PBS)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Optolink Polarization Beam Splitter (PBS) is a type of optical beam splitter designed to divide a single beam of light into two beams with distinct linear polarizations. This device is crucial in various applications where conserving the energy of the original input beam is paramount.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Polarization Division&#039;&#039;&#039;: The PBS splits light into two beams based on their polarization states. It reflects S-polarized beams and transmits P-polarized beams.&lt;br /&gt;
* &#039;&#039;&#039;Cube Configuration&#039;&#039;&#039;: Typically configured as a cube, it eliminates ghost images and ensures clean, polarized output beams.&lt;br /&gt;
* &#039;&#039;&#039;Dielectric Coatings&#039;&#039;&#039;: The use of dielectric coatings allows for customization for specific applications, providing control over the amount of light transmitted or reflected in the S and P polarizations.&lt;br /&gt;
* &#039;&#039;&#039;High-Powered Laser Compatibility&#039;&#039;&#039;: Polarizing beam splitter cubes with large damage threshold dielectric coatings can withstand high-powered laser beams.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;High-Powered Laser Systems&#039;&#039;&#039;: Used in high-powered laser applications due to their ability to withstand high-powered laser beams.&lt;br /&gt;
* &#039;&#039;&#039;Optical Instruments&#039;&#039;&#039;: Enhances imaging clarity by selectively allowing desirable light through, ensuring optimal visual output.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Optics&#039;&#039;&#039;: Employed in isolators and fiber amplifiers to isolate P-/S ratios, enhancing signal control.&lt;br /&gt;
* &#039;&#039;&#039;LCOS Projectors&#039;&#039;&#039;: Embedded polarizing beam splitter cubes contribute to increased contrast and superior image quality in high-resolution LCOS projectors.&lt;br /&gt;
* &#039;&#039;&#039;Telecommunications&#039;&#039;&#039;: Used in fiber optic networks to route and distribute signals efficiently.&lt;br /&gt;
* &#039;&#039;&#039;Microscopy&#039;&#039;&#039;: Essential in fluorescence microscopy for separating excitation and emission light, and in confocal microscopy for splitting light between the specimen and the detector.&lt;br /&gt;
* &#039;&#039;&#039;Interferometry&#039;&#039;&#039;: Used to divide a single beam of light into two, subsequently combining them to create an interference pattern for precise distance measurements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Splitting Ratio&#039;&#039;&#039;: While non-polarizing beam splitters are specified by their splitting ratio, polarizing beam splitters are specified by their extinction ratio, which is the ratio of P-polarized light to S-polarized light in the transmitted arm.&lt;br /&gt;
* &#039;&#039;&#039;Polarization States&#039;&#039;&#039;: The device splits light into S-polarized beams that are reflected and P-polarized beams that are transmitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Avantier Inc.&#039;&#039;&#039; - “How Do Polarizing Beam Splitters Work?” - https://avantierinc.com/resources/application-note/how-do-polarizing-beam-splitters-work/&lt;br /&gt;
# &#039;&#039;&#039;Thorlabs&#039;&#039;&#039; - “Beamsplitter Guide” - https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=9028&lt;br /&gt;
# &#039;&#039;&#039;Laser Focus World&#039;&#039;&#039; - “Exploring the Dynamics and Applications of Polarizing Beam Splitters” - https://www.laserfocusworld.com/directory/finished-optics-coatings-components/beamsplitters/blog/14305999/shanghai-optics-inc-exploring-the-dynamics-and-applications-of-polarizing-beam-splitters&lt;br /&gt;
# &#039;&#039;&#039;Avantier Inc.&#039;&#039;&#039; - “What Are Optical Beam Splitters?” - https://avantierinc.com/resources/knowledge-center/what-are-optical-beam-splitters/&lt;br /&gt;
# &#039;&#039;&#039;Blue Ridge Optics&#039;&#039;&#039; - “The Guide to Beam Splitters for Optical Applications” - https://blueridgeoptics.com/guide-to-beam-splitters/&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Suporte superior da mesa óptica 2&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: N/A&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: pbs&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO790101&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Outro&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO790101.jpg&amp;diff=780</id>
		<title>File:LCO790101.jpg</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO790101.jpg&amp;diff=780"/>
		<updated>2024-12-16T16:58:09Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Photo of Optolink Polarization Beam Splitter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Photo of Optolink Polarization Beam Splitter&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=779</id>
		<title>Optolink Polarization Beam Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=779"/>
		<updated>2024-12-16T16:58:08Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: /* Other info */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Optolink Polarization Beam Splitter (PBS)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Optolink Polarization Beam Splitter (PBS) is a type of optical beam splitter designed to divide a single beam of light into two beams with distinct linear polarizations. This device is crucial in various applications where conserving the energy of the original input beam is paramount.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Polarization Division&#039;&#039;&#039;: The PBS splits light into two beams based on their polarization states. It reflects S-polarized beams and transmits P-polarized beams.&lt;br /&gt;
* &#039;&#039;&#039;Cube Configuration&#039;&#039;&#039;: Typically configured as a cube, it eliminates ghost images and ensures clean, polarized output beams.&lt;br /&gt;
* &#039;&#039;&#039;Dielectric Coatings&#039;&#039;&#039;: The use of dielectric coatings allows for customization for specific applications, providing control over the amount of light transmitted or reflected in the S and P polarizations.&lt;br /&gt;
* &#039;&#039;&#039;High-Powered Laser Compatibility&#039;&#039;&#039;: Polarizing beam splitter cubes with large damage threshold dielectric coatings can withstand high-powered laser beams.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;High-Powered Laser Systems&#039;&#039;&#039;: Used in high-powered laser applications due to their ability to withstand high-powered laser beams.&lt;br /&gt;
* &#039;&#039;&#039;Optical Instruments&#039;&#039;&#039;: Enhances imaging clarity by selectively allowing desirable light through, ensuring optimal visual output.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Optics&#039;&#039;&#039;: Employed in isolators and fiber amplifiers to isolate P-/S ratios, enhancing signal control.&lt;br /&gt;
* &#039;&#039;&#039;LCOS Projectors&#039;&#039;&#039;: Embedded polarizing beam splitter cubes contribute to increased contrast and superior image quality in high-resolution LCOS projectors.&lt;br /&gt;
* &#039;&#039;&#039;Telecommunications&#039;&#039;&#039;: Used in fiber optic networks to route and distribute signals efficiently.&lt;br /&gt;
* &#039;&#039;&#039;Microscopy&#039;&#039;&#039;: Essential in fluorescence microscopy for separating excitation and emission light, and in confocal microscopy for splitting light between the specimen and the detector.&lt;br /&gt;
* &#039;&#039;&#039;Interferometry&#039;&#039;&#039;: Used to divide a single beam of light into two, subsequently combining them to create an interference pattern for precise distance measurements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Splitting Ratio&#039;&#039;&#039;: While non-polarizing beam splitters are specified by their splitting ratio, polarizing beam splitters are specified by their extinction ratio, which is the ratio of P-polarized light to S-polarized light in the transmitted arm.&lt;br /&gt;
* &#039;&#039;&#039;Polarization States&#039;&#039;&#039;: The device splits light into S-polarized beams that are reflected and P-polarized beams that are transmitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Avantier Inc.&#039;&#039;&#039; - “How Do Polarizing Beam Splitters Work?” - https://avantierinc.com/resources/application-note/how-do-polarizing-beam-splitters-work/&lt;br /&gt;
# &#039;&#039;&#039;Thorlabs&#039;&#039;&#039; - “Beamsplitter Guide” - https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=9028&lt;br /&gt;
# &#039;&#039;&#039;Laser Focus World&#039;&#039;&#039; - “Exploring the Dynamics and Applications of Polarizing Beam Splitters” - https://www.laserfocusworld.com/directory/finished-optics-coatings-components/beamsplitters/blog/14305999/shanghai-optics-inc-exploring-the-dynamics-and-applications-of-polarizing-beam-splitters&lt;br /&gt;
# &#039;&#039;&#039;Avantier Inc.&#039;&#039;&#039; - “What Are Optical Beam Splitters?” - https://avantierinc.com/resources/knowledge-center/what-are-optical-beam-splitters/&lt;br /&gt;
# &#039;&#039;&#039;Blue Ridge Optics&#039;&#039;&#039; - “The Guide to Beam Splitters for Optical Applications” - https://blueridgeoptics.com/guide-to-beam-splitters/&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Suporte superior da mesa óptica 2&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: N/A&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: pbs&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO790101&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Outro&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=778</id>
		<title>Optolink Polarization Beam Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=778"/>
		<updated>2024-12-16T16:58:08Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Optolink Polarization Beam Splitter (PBS)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Optolink Polarization Beam Splitter (PBS) is a type of optical beam splitter designed to divide a single beam of light into two beams with distinct linear polarizations. This device is crucial in various applications where conserving the energy of the original input beam is paramount.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Polarization Division&#039;&#039;&#039;: The PBS splits light into two beams based on their polarization states. It reflects S-polarized beams and transmits P-polarized beams.&lt;br /&gt;
* &#039;&#039;&#039;Cube Configuration&#039;&#039;&#039;: Typically configured as a cube, it eliminates ghost images and ensures clean, polarized output beams.&lt;br /&gt;
* &#039;&#039;&#039;Dielectric Coatings&#039;&#039;&#039;: The use of dielectric coatings allows for customization for specific applications, providing control over the amount of light transmitted or reflected in the S and P polarizations.&lt;br /&gt;
* &#039;&#039;&#039;High-Powered Laser Compatibility&#039;&#039;&#039;: Polarizing beam splitter cubes with large damage threshold dielectric coatings can withstand high-powered laser beams.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;High-Powered Laser Systems&#039;&#039;&#039;: Used in high-powered laser applications due to their ability to withstand high-powered laser beams.&lt;br /&gt;
* &#039;&#039;&#039;Optical Instruments&#039;&#039;&#039;: Enhances imaging clarity by selectively allowing desirable light through, ensuring optimal visual output.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Optics&#039;&#039;&#039;: Employed in isolators and fiber amplifiers to isolate P-/S ratios, enhancing signal control.&lt;br /&gt;
* &#039;&#039;&#039;LCOS Projectors&#039;&#039;&#039;: Embedded polarizing beam splitter cubes contribute to increased contrast and superior image quality in high-resolution LCOS projectors.&lt;br /&gt;
* &#039;&#039;&#039;Telecommunications&#039;&#039;&#039;: Used in fiber optic networks to route and distribute signals efficiently.&lt;br /&gt;
* &#039;&#039;&#039;Microscopy&#039;&#039;&#039;: Essential in fluorescence microscopy for separating excitation and emission light, and in confocal microscopy for splitting light between the specimen and the detector.&lt;br /&gt;
* &#039;&#039;&#039;Interferometry&#039;&#039;&#039;: Used to divide a single beam of light into two, subsequently combining them to create an interference pattern for precise distance measurements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Splitting Ratio&#039;&#039;&#039;: While non-polarizing beam splitters are specified by their splitting ratio, polarizing beam splitters are specified by their extinction ratio, which is the ratio of P-polarized light to S-polarized light in the transmitted arm.&lt;br /&gt;
* &#039;&#039;&#039;Polarization States&#039;&#039;&#039;: The device splits light into S-polarized beams that are reflected and P-polarized beams that are transmitted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Avantier Inc.&#039;&#039;&#039; - “How Do Polarizing Beam Splitters Work?” - https://avantierinc.com/resources/application-note/how-do-polarizing-beam-splitters-work/&lt;br /&gt;
# &#039;&#039;&#039;Thorlabs&#039;&#039;&#039; - “Beamsplitter Guide” - https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=9028&lt;br /&gt;
# &#039;&#039;&#039;Laser Focus World&#039;&#039;&#039; - “Exploring the Dynamics and Applications of Polarizing Beam Splitters” - https://www.laserfocusworld.com/directory/finished-optics-coatings-components/beamsplitters/blog/14305999/shanghai-optics-inc-exploring-the-dynamics-and-applications-of-polarizing-beam-splitters&lt;br /&gt;
# &#039;&#039;&#039;Avantier Inc.&#039;&#039;&#039; - “What Are Optical Beam Splitters?” - https://avantierinc.com/resources/knowledge-center/what-are-optical-beam-splitters/&lt;br /&gt;
# &#039;&#039;&#039;Blue Ridge Optics&#039;&#039;&#039; - “The Guide to Beam Splitters for Optical Applications” - https://blueridgeoptics.com/guide-to-beam-splitters/&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=777</id>
		<title>Optolink Polarization Beam Splitter</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Optolink_Polarization_Beam_Splitter&amp;diff=777"/>
		<updated>2024-12-16T16:58:08Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=776</id>
		<title>Ericsson FSU 925</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=776"/>
		<updated>2024-12-16T16:57:29Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO770401.jpg|alt=Ericsson FSU 925|thumb|Ericsson FSU 925]]&#039;&#039;&#039;Ericsson FSU 925 Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Ericsson FSU 925 is a fusion splicer designed for splicing all types of single-mode and multimode silica fibers used in telecommunications, sensors, and data applications. It can handle fibers with colored or uncolored, loose or tight secondary coatings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Instruments]]&lt;br /&gt;
&lt;br /&gt;
== Key Features: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Versatility&#039;&#039;&#039;: Splices all single-mode and multimode fibers available on the market.&lt;br /&gt;
* &#039;&#039;&#039;Compatibility&#039;&#039;&#039;: Handles fibers with various secondary coatings, including loose tube and tight secondary coatings.&lt;br /&gt;
* &#039;&#039;&#039;Accessories&#039;&#039;&#039;: Often includes a high precision fiber cleaver (USFiberOptic USF-21), fiber optic stripper (Clauss CFS-02), and a comprehensive 6-month fusion splicer care kit.&lt;br /&gt;
* &#039;&#039;&#039;Additional Tools&#039;&#039;&#039;: Comes with a hard carrying case, AC adapter/charger, power cord, RS232 PC interface cable, and a user manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: Single-mode and multimode silica fibers.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Cladding Diameter&#039;&#039;&#039;: Specific details not provided, but it is designed to handle standard fiber cladding diameters.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Coating Diameter&#039;&#039;&#039;: Up to 2 mm of coating diameters.&lt;br /&gt;
* &#039;&#039;&#039;Alignment/Positioning&#039;&#039;&#039;: Automatic core or cladding alignment for single-mode and multimode fibers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Additional Information: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Condition&#039;&#039;&#039;: Often available refurbished and calibrated with a 90-day exchange warranty.&lt;br /&gt;
* &#039;&#039;&#039;Care Kit&#039;&#039;&#039;: Includes alcohol, non-lint dry wipes, fiber optic wipes, mirror spray, camera swabs, V-groove swabs, and other cleaning tools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References: ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Testwall&#039;&#039;&#039; - Ericsson FSU-925 Fusion Splicer: https://www.testwall.com/product/ericsson-fsu-925/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 925 PM Panda Fiber Fusion Splicer w/ Cleaver: https://www.aaatesters.com/ericsson-fsu-925-pm-fusion-splicer-model-fsu-925-pm-ericsson-925-pm.html&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 925 Fiber Fusion Splicer w/ Cleaver: https://www.aaatesters.com/ericsson-fsu925-fusion-splicer-model-fsu-925-ericsson-925.html&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 975 Fiber Fusion Splicer w/ Cleaver (for comparative information): https://www.aaatesters.com/ericsson-fsu975-fusion-splicer-model-fsu-975-ericsson-975.html&lt;br /&gt;
# &#039;&#039;&#039;Precision Fiber Products&#039;&#039;&#039; - Ericsson Splicer Electrode Model FSU Series 925: https://www.precisionfiberproducts.com/product-page/ericsson-splicer-electrode-model-fsu-series-925&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Prateleira (Topo)&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 6624&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: 08/18039&lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: splicer velha fusão&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770401&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=775</id>
		<title>Ericsson FSU 925</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=775"/>
		<updated>2024-12-16T16:57:29Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO770401.jpg|alt=Ericsson FSU 925|thumb|Ericsson FSU 925]]&#039;&#039;&#039;Ericsson FSU 925 Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Ericsson FSU 925 is a fusion splicer designed for splicing all types of single-mode and multimode silica fibers used in telecommunications, sensors, and data applications. It can handle fibers with colored or uncolored, loose or tight secondary coatings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Features: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Versatility&#039;&#039;&#039;: Splices all single-mode and multimode fibers available on the market.&lt;br /&gt;
* &#039;&#039;&#039;Compatibility&#039;&#039;&#039;: Handles fibers with various secondary coatings, including loose tube and tight secondary coatings.&lt;br /&gt;
* &#039;&#039;&#039;Accessories&#039;&#039;&#039;: Often includes a high precision fiber cleaver (USFiberOptic USF-21), fiber optic stripper (Clauss CFS-02), and a comprehensive 6-month fusion splicer care kit.&lt;br /&gt;
* &#039;&#039;&#039;Additional Tools&#039;&#039;&#039;: Comes with a hard carrying case, AC adapter/charger, power cord, RS232 PC interface cable, and a user manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: Single-mode and multimode silica fibers.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Cladding Diameter&#039;&#039;&#039;: Specific details not provided, but it is designed to handle standard fiber cladding diameters.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Coating Diameter&#039;&#039;&#039;: Up to 2 mm of coating diameters.&lt;br /&gt;
* &#039;&#039;&#039;Alignment/Positioning&#039;&#039;&#039;: Automatic core or cladding alignment for single-mode and multimode fibers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Additional Information: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Condition&#039;&#039;&#039;: Often available refurbished and calibrated with a 90-day exchange warranty.&lt;br /&gt;
* &#039;&#039;&#039;Care Kit&#039;&#039;&#039;: Includes alcohol, non-lint dry wipes, fiber optic wipes, mirror spray, camera swabs, V-groove swabs, and other cleaning tools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References: ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Testwall&#039;&#039;&#039; - Ericsson FSU-925 Fusion Splicer: https://www.testwall.com/product/ericsson-fsu-925/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 925 PM Panda Fiber Fusion Splicer w/ Cleaver: https://www.aaatesters.com/ericsson-fsu-925-pm-fusion-splicer-model-fsu-925-pm-ericsson-925-pm.html&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 925 Fiber Fusion Splicer w/ Cleaver: https://www.aaatesters.com/ericsson-fsu925-fusion-splicer-model-fsu-925-ericsson-925.html&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 975 Fiber Fusion Splicer w/ Cleaver (for comparative information): https://www.aaatesters.com/ericsson-fsu975-fusion-splicer-model-fsu-975-ericsson-975.html&lt;br /&gt;
# &#039;&#039;&#039;Precision Fiber Products&#039;&#039;&#039; - Ericsson Splicer Electrode Model FSU Series 925: https://www.precisionfiberproducts.com/product-page/ericsson-splicer-electrode-model-fsu-series-925&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Prateleira (Topo)&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 6624&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: 08/18039&lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: splicer velha fusão&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770401&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO770401.jpg&amp;diff=774</id>
		<title>File:LCO770401.jpg</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO770401.jpg&amp;diff=774"/>
		<updated>2024-12-16T16:57:29Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Photo of Ericsson FSU 925&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Photo of Ericsson FSU 925&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=773</id>
		<title>Ericsson FSU 925</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=773"/>
		<updated>2024-12-16T16:57:28Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: /* Other info */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ericsson FSU 925 Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Ericsson FSU 925 is a fusion splicer designed for splicing all types of single-mode and multimode silica fibers used in telecommunications, sensors, and data applications. It can handle fibers with colored or uncolored, loose or tight secondary coatings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Versatility&#039;&#039;&#039;: Splices all single-mode and multimode fibers available on the market.&lt;br /&gt;
* &#039;&#039;&#039;Compatibility&#039;&#039;&#039;: Handles fibers with various secondary coatings, including loose tube and tight secondary coatings.&lt;br /&gt;
* &#039;&#039;&#039;Accessories&#039;&#039;&#039;: Often includes a high precision fiber cleaver (USFiberOptic USF-21), fiber optic stripper (Clauss CFS-02), and a comprehensive 6-month fusion splicer care kit.&lt;br /&gt;
* &#039;&#039;&#039;Additional Tools&#039;&#039;&#039;: Comes with a hard carrying case, AC adapter/charger, power cord, RS232 PC interface cable, and a user manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: Single-mode and multimode silica fibers.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Cladding Diameter&#039;&#039;&#039;: Specific details not provided, but it is designed to handle standard fiber cladding diameters.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Coating Diameter&#039;&#039;&#039;: Up to 2 mm of coating diameters.&lt;br /&gt;
* &#039;&#039;&#039;Alignment/Positioning&#039;&#039;&#039;: Automatic core or cladding alignment for single-mode and multimode fibers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Additional Information: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Condition&#039;&#039;&#039;: Often available refurbished and calibrated with a 90-day exchange warranty.&lt;br /&gt;
* &#039;&#039;&#039;Care Kit&#039;&#039;&#039;: Includes alcohol, non-lint dry wipes, fiber optic wipes, mirror spray, camera swabs, V-groove swabs, and other cleaning tools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References: ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Testwall&#039;&#039;&#039; - Ericsson FSU-925 Fusion Splicer: https://www.testwall.com/product/ericsson-fsu-925/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 925 PM Panda Fiber Fusion Splicer w/ Cleaver: https://www.aaatesters.com/ericsson-fsu-925-pm-fusion-splicer-model-fsu-925-pm-ericsson-925-pm.html&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 925 Fiber Fusion Splicer w/ Cleaver: https://www.aaatesters.com/ericsson-fsu925-fusion-splicer-model-fsu-925-ericsson-925.html&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 975 Fiber Fusion Splicer w/ Cleaver (for comparative information): https://www.aaatesters.com/ericsson-fsu975-fusion-splicer-model-fsu-975-ericsson-975.html&lt;br /&gt;
# &#039;&#039;&#039;Precision Fiber Products&#039;&#039;&#039; - Ericsson Splicer Electrode Model FSU Series 925: https://www.precisionfiberproducts.com/product-page/ericsson-splicer-electrode-model-fsu-series-925&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Prateleira (Topo)&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 6624&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: 08/18039&lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: splicer velha fusão&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770401&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=772</id>
		<title>Ericsson FSU 925</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=772"/>
		<updated>2024-12-16T16:57:28Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Ericsson FSU 925 Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Ericsson FSU 925 is a fusion splicer designed for splicing all types of single-mode and multimode silica fibers used in telecommunications, sensors, and data applications. It can handle fibers with colored or uncolored, loose or tight secondary coatings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Versatility&#039;&#039;&#039;: Splices all single-mode and multimode fibers available on the market.&lt;br /&gt;
* &#039;&#039;&#039;Compatibility&#039;&#039;&#039;: Handles fibers with various secondary coatings, including loose tube and tight secondary coatings.&lt;br /&gt;
* &#039;&#039;&#039;Accessories&#039;&#039;&#039;: Often includes a high precision fiber cleaver (USFiberOptic USF-21), fiber optic stripper (Clauss CFS-02), and a comprehensive 6-month fusion splicer care kit.&lt;br /&gt;
* &#039;&#039;&#039;Additional Tools&#039;&#039;&#039;: Comes with a hard carrying case, AC adapter/charger, power cord, RS232 PC interface cable, and a user manual.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: Single-mode and multimode silica fibers.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Cladding Diameter&#039;&#039;&#039;: Specific details not provided, but it is designed to handle standard fiber cladding diameters.&lt;br /&gt;
* &#039;&#039;&#039;Fiber Coating Diameter&#039;&#039;&#039;: Up to 2 mm of coating diameters.&lt;br /&gt;
* &#039;&#039;&#039;Alignment/Positioning&#039;&#039;&#039;: Automatic core or cladding alignment for single-mode and multimode fibers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-information&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Additional Information: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Condition&#039;&#039;&#039;: Often available refurbished and calibrated with a 90-day exchange warranty.&lt;br /&gt;
* &#039;&#039;&#039;Care Kit&#039;&#039;&#039;: Includes alcohol, non-lint dry wipes, fiber optic wipes, mirror spray, camera swabs, V-groove swabs, and other cleaning tools.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References: ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Testwall&#039;&#039;&#039; - Ericsson FSU-925 Fusion Splicer: https://www.testwall.com/product/ericsson-fsu-925/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 925 PM Panda Fiber Fusion Splicer w/ Cleaver: https://www.aaatesters.com/ericsson-fsu-925-pm-fusion-splicer-model-fsu-925-pm-ericsson-925-pm.html&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 925 Fiber Fusion Splicer w/ Cleaver: https://www.aaatesters.com/ericsson-fsu925-fusion-splicer-model-fsu-925-ericsson-925.html&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039; - Ericsson FSU 975 Fiber Fusion Splicer w/ Cleaver (for comparative information): https://www.aaatesters.com/ericsson-fsu975-fusion-splicer-model-fsu-975-ericsson-975.html&lt;br /&gt;
# &#039;&#039;&#039;Precision Fiber Products&#039;&#039;&#039; - Ericsson Splicer Electrode Model FSU Series 925: https://www.precisionfiberproducts.com/product-page/ericsson-splicer-electrode-model-fsu-series-925&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=771</id>
		<title>Ericsson FSU 925</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Ericsson_FSU_925&amp;diff=771"/>
		<updated>2024-12-16T16:57:28Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=770</id>
		<title>ULTRA TEC FTTx Portable Fiber Polisher</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=770"/>
		<updated>2024-12-16T16:56:59Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO770301.jpg|alt=ULTRA TEC FTTx Portable Fiber Polisher|thumb|ULTRA TEC FTTx Portable Fiber Polisher]]&#039;&#039;&#039;ULTRA TEC FTTx Portable Fiber Polisher&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The ULTRA TEC FTTx Portable Fiber Polisher is a versatile and robust tool designed for in-field and retro-polishing applications in fiber optic installations. It is suitable for various industries including FTTx, LAN, CATV, and aircraft/shipboard applications.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Instruments]]&lt;br /&gt;
&lt;br /&gt;
== Key Features: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Portability&#039;&#039;&#039;: The polisher is designed for true portable operation, allowing it to be used in small workspaces, cross-connects, fiber nodes, and wire closets. It can be held at any desired angle during operation[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Power Options&#039;&#039;&#039;: It can be operated with either a battery pack or a power supply, both of which are included in the standard package[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Bench-top Stand&#039;&#039;&#039;: The unit comes with a bench-top stand that converts the polisher for small production use in the factory[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Retro-polishing&#039;&#039;&#039;: It is capable of bringing already-installed connectors up to current industry requirements[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Industry-standard Polishes&#039;&#039;&#039;: The polisher achieves industry-standard polishes due to its robust design and the use of the latest techniques[1][4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Product Code&#039;&#039;&#039;: 9005.4&lt;br /&gt;
* &#039;&#039;&#039;Package Includes&#039;&#039;&#039;: Polishing unit, bench-top stand, and necessary accessories[4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FTTx&#039;&#039;&#039;: Fiber to the x (home, building, etc.)&lt;br /&gt;
* &#039;&#039;&#039;LAN&#039;&#039;&#039;: Local Area Network&lt;br /&gt;
* &#039;&#039;&#039;CATV&#039;&#039;&#039;: Cable Television&lt;br /&gt;
* &#039;&#039;&#039;Aircraft/Shipboard&#039;&#039;&#039;: For use in aircraft and shipboard applications[1][4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References: ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;ULTRA TEC Manufacturing, Inc.&#039;&#039;&#039; - FTTx Polisher. https://www.ultratecusa.com/product/fttx/&lt;br /&gt;
# &#039;&#039;&#039;Accu-Glass Products, Inc.&#039;&#039;&#039; - Fiber Optic Cleaning Tools. https://www.accuglassproducts.com/fiber-optics/polishing-cleaning/tools-hardware&lt;br /&gt;
# &#039;&#039;&#039;ULTRA TEC Manufacturing, Inc.&#039;&#039;&#039; - CTC Polisher. https://www.ultratecusa.com/product/ctc-polisher/&lt;br /&gt;
# &#039;&#039;&#039;Laser Components&#039;&#039;&#039; - FTTX Portable Fiber Polisher. https://www.lasercomponents.com/fileadmin/user_upload/home/Datasheets/ultra-tec/fttx-polisher.pdf&lt;br /&gt;
# &#039;&#039;&#039;Ripley Tools&#039;&#039;&#039; - Miller Fiber Optic Polishing Kit. https://www.ripley-tools.com/product/fiber-optic-polishing-kit/&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Balcão&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/06/2011&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: politriz polir polimento&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770301&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=769</id>
		<title>ULTRA TEC FTTx Portable Fiber Polisher</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=769"/>
		<updated>2024-12-16T16:56:59Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO770301.jpg|alt=ULTRA TEC FTTx Portable Fiber Polisher|thumb|ULTRA TEC FTTx Portable Fiber Polisher]]&#039;&#039;&#039;ULTRA TEC FTTx Portable Fiber Polisher&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The ULTRA TEC FTTx Portable Fiber Polisher is a versatile and robust tool designed for in-field and retro-polishing applications in fiber optic installations. It is suitable for various industries including FTTx, LAN, CATV, and aircraft/shipboard applications.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Features: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Portability&#039;&#039;&#039;: The polisher is designed for true portable operation, allowing it to be used in small workspaces, cross-connects, fiber nodes, and wire closets. It can be held at any desired angle during operation[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Power Options&#039;&#039;&#039;: It can be operated with either a battery pack or a power supply, both of which are included in the standard package[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Bench-top Stand&#039;&#039;&#039;: The unit comes with a bench-top stand that converts the polisher for small production use in the factory[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Retro-polishing&#039;&#039;&#039;: It is capable of bringing already-installed connectors up to current industry requirements[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Industry-standard Polishes&#039;&#039;&#039;: The polisher achieves industry-standard polishes due to its robust design and the use of the latest techniques[1][4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Product Code&#039;&#039;&#039;: 9005.4&lt;br /&gt;
* &#039;&#039;&#039;Package Includes&#039;&#039;&#039;: Polishing unit, bench-top stand, and necessary accessories[4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FTTx&#039;&#039;&#039;: Fiber to the x (home, building, etc.)&lt;br /&gt;
* &#039;&#039;&#039;LAN&#039;&#039;&#039;: Local Area Network&lt;br /&gt;
* &#039;&#039;&#039;CATV&#039;&#039;&#039;: Cable Television&lt;br /&gt;
* &#039;&#039;&#039;Aircraft/Shipboard&#039;&#039;&#039;: For use in aircraft and shipboard applications[1][4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References: ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;ULTRA TEC Manufacturing, Inc.&#039;&#039;&#039; - FTTx Polisher. https://www.ultratecusa.com/product/fttx/&lt;br /&gt;
# &#039;&#039;&#039;Accu-Glass Products, Inc.&#039;&#039;&#039; - Fiber Optic Cleaning Tools. https://www.accuglassproducts.com/fiber-optics/polishing-cleaning/tools-hardware&lt;br /&gt;
# &#039;&#039;&#039;ULTRA TEC Manufacturing, Inc.&#039;&#039;&#039; - CTC Polisher. https://www.ultratecusa.com/product/ctc-polisher/&lt;br /&gt;
# &#039;&#039;&#039;Laser Components&#039;&#039;&#039; - FTTX Portable Fiber Polisher. https://www.lasercomponents.com/fileadmin/user_upload/home/Datasheets/ultra-tec/fttx-polisher.pdf&lt;br /&gt;
# &#039;&#039;&#039;Ripley Tools&#039;&#039;&#039; - Miller Fiber Optic Polishing Kit. https://www.ripley-tools.com/product/fiber-optic-polishing-kit/&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Balcão&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/06/2011&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: politriz polir polimento&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770301&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO770301.jpg&amp;diff=768</id>
		<title>File:LCO770301.jpg</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO770301.jpg&amp;diff=768"/>
		<updated>2024-12-16T16:56:59Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Photo of ULTRA TEC FTTx Portable Fiber Polisher&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Photo of ULTRA TEC FTTx Portable Fiber Polisher&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=767</id>
		<title>ULTRA TEC FTTx Portable Fiber Polisher</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=767"/>
		<updated>2024-12-16T16:56:58Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: /* Other info */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ULTRA TEC FTTx Portable Fiber Polisher&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The ULTRA TEC FTTx Portable Fiber Polisher is a versatile and robust tool designed for in-field and retro-polishing applications in fiber optic installations. It is suitable for various industries including FTTx, LAN, CATV, and aircraft/shipboard applications.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Portability&#039;&#039;&#039;: The polisher is designed for true portable operation, allowing it to be used in small workspaces, cross-connects, fiber nodes, and wire closets. It can be held at any desired angle during operation[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Power Options&#039;&#039;&#039;: It can be operated with either a battery pack or a power supply, both of which are included in the standard package[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Bench-top Stand&#039;&#039;&#039;: The unit comes with a bench-top stand that converts the polisher for small production use in the factory[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Retro-polishing&#039;&#039;&#039;: It is capable of bringing already-installed connectors up to current industry requirements[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Industry-standard Polishes&#039;&#039;&#039;: The polisher achieves industry-standard polishes due to its robust design and the use of the latest techniques[1][4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Product Code&#039;&#039;&#039;: 9005.4&lt;br /&gt;
* &#039;&#039;&#039;Package Includes&#039;&#039;&#039;: Polishing unit, bench-top stand, and necessary accessories[4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FTTx&#039;&#039;&#039;: Fiber to the x (home, building, etc.)&lt;br /&gt;
* &#039;&#039;&#039;LAN&#039;&#039;&#039;: Local Area Network&lt;br /&gt;
* &#039;&#039;&#039;CATV&#039;&#039;&#039;: Cable Television&lt;br /&gt;
* &#039;&#039;&#039;Aircraft/Shipboard&#039;&#039;&#039;: For use in aircraft and shipboard applications[1][4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References: ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;ULTRA TEC Manufacturing, Inc.&#039;&#039;&#039; - FTTx Polisher. https://www.ultratecusa.com/product/fttx/&lt;br /&gt;
# &#039;&#039;&#039;Accu-Glass Products, Inc.&#039;&#039;&#039; - Fiber Optic Cleaning Tools. https://www.accuglassproducts.com/fiber-optics/polishing-cleaning/tools-hardware&lt;br /&gt;
# &#039;&#039;&#039;ULTRA TEC Manufacturing, Inc.&#039;&#039;&#039; - CTC Polisher. https://www.ultratecusa.com/product/ctc-polisher/&lt;br /&gt;
# &#039;&#039;&#039;Laser Components&#039;&#039;&#039; - FTTX Portable Fiber Polisher. https://www.lasercomponents.com/fileadmin/user_upload/home/Datasheets/ultra-tec/fttx-polisher.pdf&lt;br /&gt;
# &#039;&#039;&#039;Ripley Tools&#039;&#039;&#039; - Miller Fiber Optic Polishing Kit. https://www.ripley-tools.com/product/fiber-optic-polishing-kit/&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Balcão&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/06/2011&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: politriz polir polimento&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770301&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=766</id>
		<title>ULTRA TEC FTTx Portable Fiber Polisher</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=766"/>
		<updated>2024-12-16T16:56:58Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ULTRA TEC FTTx Portable Fiber Polisher&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The ULTRA TEC FTTx Portable Fiber Polisher is a versatile and robust tool designed for in-field and retro-polishing applications in fiber optic installations. It is suitable for various industries including FTTx, LAN, CATV, and aircraft/shipboard applications.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Portability&#039;&#039;&#039;: The polisher is designed for true portable operation, allowing it to be used in small workspaces, cross-connects, fiber nodes, and wire closets. It can be held at any desired angle during operation[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Power Options&#039;&#039;&#039;: It can be operated with either a battery pack or a power supply, both of which are included in the standard package[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Bench-top Stand&#039;&#039;&#039;: The unit comes with a bench-top stand that converts the polisher for small production use in the factory[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Retro-polishing&#039;&#039;&#039;: It is capable of bringing already-installed connectors up to current industry requirements[1][4].&lt;br /&gt;
* &#039;&#039;&#039;Industry-standard Polishes&#039;&#039;&#039;: The polisher achieves industry-standard polishes due to its robust design and the use of the latest techniques[1][4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;technical-specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Technical Specifications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Product Code&#039;&#039;&#039;: 9005.4&lt;br /&gt;
* &#039;&#039;&#039;Package Includes&#039;&#039;&#039;: Polishing unit, bench-top stand, and necessary accessories[4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications: ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FTTx&#039;&#039;&#039;: Fiber to the x (home, building, etc.)&lt;br /&gt;
* &#039;&#039;&#039;LAN&#039;&#039;&#039;: Local Area Network&lt;br /&gt;
* &#039;&#039;&#039;CATV&#039;&#039;&#039;: Cable Television&lt;br /&gt;
* &#039;&#039;&#039;Aircraft/Shipboard&#039;&#039;&#039;: For use in aircraft and shipboard applications[1][4].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References: ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;ULTRA TEC Manufacturing, Inc.&#039;&#039;&#039; - FTTx Polisher. https://www.ultratecusa.com/product/fttx/&lt;br /&gt;
# &#039;&#039;&#039;Accu-Glass Products, Inc.&#039;&#039;&#039; - Fiber Optic Cleaning Tools. https://www.accuglassproducts.com/fiber-optics/polishing-cleaning/tools-hardware&lt;br /&gt;
# &#039;&#039;&#039;ULTRA TEC Manufacturing, Inc.&#039;&#039;&#039; - CTC Polisher. https://www.ultratecusa.com/product/ctc-polisher/&lt;br /&gt;
# &#039;&#039;&#039;Laser Components&#039;&#039;&#039; - FTTX Portable Fiber Polisher. https://www.lasercomponents.com/fileadmin/user_upload/home/Datasheets/ultra-tec/fttx-polisher.pdf&lt;br /&gt;
# &#039;&#039;&#039;Ripley Tools&#039;&#039;&#039; - Miller Fiber Optic Polishing Kit. https://www.ripley-tools.com/product/fiber-optic-polishing-kit/&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=765</id>
		<title>ULTRA TEC FTTx Portable Fiber Polisher</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=ULTRA_TEC_FTTx_Portable_Fiber_Polisher&amp;diff=765"/>
		<updated>2024-12-16T16:56:58Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=764</id>
		<title>Sumitomo Type-39</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=764"/>
		<updated>2024-12-16T16:56:34Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO770201.jpg|alt=Sumitomo Type-39|thumb|Sumitomo Type-39]]&#039;&#039;&#039;Sumitomo Type-39 Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Sumitomo Type-39 FastCat is a fully automatic, highly portable, self-contained core alignment fusion splicer designed for creating quick and effortless low-loss optical fiber splices in any environment. It features a Dual-Automatic Heater System with Auto Start Heater and Auto Start Splice functions, making it the fastest splicer available today.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Instruments]]&lt;br /&gt;
&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Dual Independent Splice Protection Heaters&#039;&#039;&#039;: Reduces the bottleneck of “heater wait time” by 88%.&lt;br /&gt;
* &#039;&#039;&#039;Automatic Splice and Heater Start&#039;&#039;&#039;: Improves splicing efficiency by 70%.&lt;br /&gt;
* &#039;&#039;&#039;Automatic Fiber Profiling Detection&#039;&#039;&#039;: Ensures accurate and repeatable splice results.&lt;br /&gt;
* &#039;&#039;&#039;High-resolution Direct Core Monitoring (HDCM) Technology&#039;&#039;&#039;: Forms repeatable low-loss splice results.&lt;br /&gt;
* &#039;&#039;&#039;5.6” Switchable Color Monitor&#039;&#039;&#039;: Allows for front to back or back to front operation.&lt;br /&gt;
* &#039;&#039;&#039;Built-in LED for V-Groove Illumination&#039;&#039;&#039;: Enhances visibility during splicing.&lt;br /&gt;
* &#039;&#039;&#039;User-Friendly Menu Selection System&#039;&#039;&#039;: Simplifies operation.&lt;br /&gt;
* &#039;&#039;&#039;Easier to Load Fiber Holder Unit (Type-39FH)&#039;&#039;&#039;: Compatible with splice-on connectors.&lt;br /&gt;
* &#039;&#039;&#039;24-Hour Technical Support&#039;&#039;&#039;: Available via 888-SPLICER.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: Single-mode, multimode, dispersion shifted, and other specialty fibers.&lt;br /&gt;
* &#039;&#039;&#039;Typical Splice Loss&#039;&#039;&#039;: 0.02 dB for identical single-mode fiber.&lt;br /&gt;
* &#039;&#039;&#039;Heater Cycle Time&#039;&#039;&#039;: 30 seconds for 60mm Fiber Protection Sleeves.&lt;br /&gt;
* &#039;&#039;&#039;Splice Cycle Time&#039;&#039;&#039;: 9 seconds.&lt;br /&gt;
* &#039;&#039;&#039;Power Requirement&#039;&#039;&#039;: 100 to 240V AC; 50/60Hz, 12V DC.&lt;br /&gt;
* &#039;&#039;&#039;Weight&#039;&#039;&#039;: 2.8 kg (6.2 lbs).&lt;br /&gt;
* &#039;&#039;&#039;Dimensions&#039;&#039;&#039;: 150W x 150D x 150H mm (5.9W x 5.9D x 5.9H in).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Optical Fiber Splicing&#039;&#039;&#039;: Suitable for various environments and fiber types.&lt;br /&gt;
* &#039;&#039;&#039;Splice-On Connectors&#039;&#039;&#039;: Compatible with Type-39FH fiber holder unit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: Sumitomo Type-39 Fusion Splicer Specifications. https://www.aaatesters.com/pub/media/datasheets/sumitomo_type-39_specifications_spec_sheet.pdf&lt;br /&gt;
# &#039;&#039;&#039;Fiberoptics4Sale&#039;&#039;&#039;: Sumitomo Type-39 FastCat Core Alignment Fusion Splicer Kit 2. https://www.fiberoptics4sale.com/products/type-39-kit-2&lt;br /&gt;
# &#039;&#039;&#039;RentTele&#039;&#039;&#039;: Sumitomo Type-39 Fusion Splicer. https://renttele.com/product/sumitomo-type-39-fusion-splicer/&lt;br /&gt;
# &#039;&#039;&#039;SplicerStore&#039;&#039;&#039;: Sumitomo Fusion Splicer - Type-39. https://splicerstore.com/fusion-splicer/sumitomo-fusion-splicer-type-39/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: Sumitomo Type-39 SM MM Fusion Splicer w/ Cleaver. https://www.aaatesters.com/sumitomo-type-39-fusion-splicer-model-type39-sumitomo-39.html&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Bancada no fundo&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 11284&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: splicer fusão automático&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770201&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=763</id>
		<title>Sumitomo Type-39</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=763"/>
		<updated>2024-12-16T16:56:33Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO770201.jpg|alt=Sumitomo Type-39|thumb|Sumitomo Type-39]]&#039;&#039;&#039;Sumitomo Type-39 Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Sumitomo Type-39 FastCat is a fully automatic, highly portable, self-contained core alignment fusion splicer designed for creating quick and effortless low-loss optical fiber splices in any environment. It features a Dual-Automatic Heater System with Auto Start Heater and Auto Start Splice functions, making it the fastest splicer available today.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Dual Independent Splice Protection Heaters&#039;&#039;&#039;: Reduces the bottleneck of “heater wait time” by 88%.&lt;br /&gt;
* &#039;&#039;&#039;Automatic Splice and Heater Start&#039;&#039;&#039;: Improves splicing efficiency by 70%.&lt;br /&gt;
* &#039;&#039;&#039;Automatic Fiber Profiling Detection&#039;&#039;&#039;: Ensures accurate and repeatable splice results.&lt;br /&gt;
* &#039;&#039;&#039;High-resolution Direct Core Monitoring (HDCM) Technology&#039;&#039;&#039;: Forms repeatable low-loss splice results.&lt;br /&gt;
* &#039;&#039;&#039;5.6” Switchable Color Monitor&#039;&#039;&#039;: Allows for front to back or back to front operation.&lt;br /&gt;
* &#039;&#039;&#039;Built-in LED for V-Groove Illumination&#039;&#039;&#039;: Enhances visibility during splicing.&lt;br /&gt;
* &#039;&#039;&#039;User-Friendly Menu Selection System&#039;&#039;&#039;: Simplifies operation.&lt;br /&gt;
* &#039;&#039;&#039;Easier to Load Fiber Holder Unit (Type-39FH)&#039;&#039;&#039;: Compatible with splice-on connectors.&lt;br /&gt;
* &#039;&#039;&#039;24-Hour Technical Support&#039;&#039;&#039;: Available via 888-SPLICER.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: Single-mode, multimode, dispersion shifted, and other specialty fibers.&lt;br /&gt;
* &#039;&#039;&#039;Typical Splice Loss&#039;&#039;&#039;: 0.02 dB for identical single-mode fiber.&lt;br /&gt;
* &#039;&#039;&#039;Heater Cycle Time&#039;&#039;&#039;: 30 seconds for 60mm Fiber Protection Sleeves.&lt;br /&gt;
* &#039;&#039;&#039;Splice Cycle Time&#039;&#039;&#039;: 9 seconds.&lt;br /&gt;
* &#039;&#039;&#039;Power Requirement&#039;&#039;&#039;: 100 to 240V AC; 50/60Hz, 12V DC.&lt;br /&gt;
* &#039;&#039;&#039;Weight&#039;&#039;&#039;: 2.8 kg (6.2 lbs).&lt;br /&gt;
* &#039;&#039;&#039;Dimensions&#039;&#039;&#039;: 150W x 150D x 150H mm (5.9W x 5.9D x 5.9H in).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Optical Fiber Splicing&#039;&#039;&#039;: Suitable for various environments and fiber types.&lt;br /&gt;
* &#039;&#039;&#039;Splice-On Connectors&#039;&#039;&#039;: Compatible with Type-39FH fiber holder unit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: Sumitomo Type-39 Fusion Splicer Specifications. https://www.aaatesters.com/pub/media/datasheets/sumitomo_type-39_specifications_spec_sheet.pdf&lt;br /&gt;
# &#039;&#039;&#039;Fiberoptics4Sale&#039;&#039;&#039;: Sumitomo Type-39 FastCat Core Alignment Fusion Splicer Kit 2. https://www.fiberoptics4sale.com/products/type-39-kit-2&lt;br /&gt;
# &#039;&#039;&#039;RentTele&#039;&#039;&#039;: Sumitomo Type-39 Fusion Splicer. https://renttele.com/product/sumitomo-type-39-fusion-splicer/&lt;br /&gt;
# &#039;&#039;&#039;SplicerStore&#039;&#039;&#039;: Sumitomo Fusion Splicer - Type-39. https://splicerstore.com/fusion-splicer/sumitomo-fusion-splicer-type-39/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: Sumitomo Type-39 SM MM Fusion Splicer w/ Cleaver. https://www.aaatesters.com/sumitomo-type-39-fusion-splicer-model-type39-sumitomo-39.html&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Bancada no fundo&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 11284&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: splicer fusão automático&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770201&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO770201.jpg&amp;diff=762</id>
		<title>File:LCO770201.jpg</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO770201.jpg&amp;diff=762"/>
		<updated>2024-12-16T16:56:33Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Photo of Sumitomo Type-39&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Photo of Sumitomo Type-39&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=761</id>
		<title>Sumitomo Type-39</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=761"/>
		<updated>2024-12-16T16:56:32Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: /* Other info */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Sumitomo Type-39 Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Sumitomo Type-39 FastCat is a fully automatic, highly portable, self-contained core alignment fusion splicer designed for creating quick and effortless low-loss optical fiber splices in any environment. It features a Dual-Automatic Heater System with Auto Start Heater and Auto Start Splice functions, making it the fastest splicer available today.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Dual Independent Splice Protection Heaters&#039;&#039;&#039;: Reduces the bottleneck of “heater wait time” by 88%.&lt;br /&gt;
* &#039;&#039;&#039;Automatic Splice and Heater Start&#039;&#039;&#039;: Improves splicing efficiency by 70%.&lt;br /&gt;
* &#039;&#039;&#039;Automatic Fiber Profiling Detection&#039;&#039;&#039;: Ensures accurate and repeatable splice results.&lt;br /&gt;
* &#039;&#039;&#039;High-resolution Direct Core Monitoring (HDCM) Technology&#039;&#039;&#039;: Forms repeatable low-loss splice results.&lt;br /&gt;
* &#039;&#039;&#039;5.6” Switchable Color Monitor&#039;&#039;&#039;: Allows for front to back or back to front operation.&lt;br /&gt;
* &#039;&#039;&#039;Built-in LED for V-Groove Illumination&#039;&#039;&#039;: Enhances visibility during splicing.&lt;br /&gt;
* &#039;&#039;&#039;User-Friendly Menu Selection System&#039;&#039;&#039;: Simplifies operation.&lt;br /&gt;
* &#039;&#039;&#039;Easier to Load Fiber Holder Unit (Type-39FH)&#039;&#039;&#039;: Compatible with splice-on connectors.&lt;br /&gt;
* &#039;&#039;&#039;24-Hour Technical Support&#039;&#039;&#039;: Available via 888-SPLICER.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: Single-mode, multimode, dispersion shifted, and other specialty fibers.&lt;br /&gt;
* &#039;&#039;&#039;Typical Splice Loss&#039;&#039;&#039;: 0.02 dB for identical single-mode fiber.&lt;br /&gt;
* &#039;&#039;&#039;Heater Cycle Time&#039;&#039;&#039;: 30 seconds for 60mm Fiber Protection Sleeves.&lt;br /&gt;
* &#039;&#039;&#039;Splice Cycle Time&#039;&#039;&#039;: 9 seconds.&lt;br /&gt;
* &#039;&#039;&#039;Power Requirement&#039;&#039;&#039;: 100 to 240V AC; 50/60Hz, 12V DC.&lt;br /&gt;
* &#039;&#039;&#039;Weight&#039;&#039;&#039;: 2.8 kg (6.2 lbs).&lt;br /&gt;
* &#039;&#039;&#039;Dimensions&#039;&#039;&#039;: 150W x 150D x 150H mm (5.9W x 5.9D x 5.9H in).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Optical Fiber Splicing&#039;&#039;&#039;: Suitable for various environments and fiber types.&lt;br /&gt;
* &#039;&#039;&#039;Splice-On Connectors&#039;&#039;&#039;: Compatible with Type-39FH fiber holder unit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: Sumitomo Type-39 Fusion Splicer Specifications. https://www.aaatesters.com/pub/media/datasheets/sumitomo_type-39_specifications_spec_sheet.pdf&lt;br /&gt;
# &#039;&#039;&#039;Fiberoptics4Sale&#039;&#039;&#039;: Sumitomo Type-39 FastCat Core Alignment Fusion Splicer Kit 2. https://www.fiberoptics4sale.com/products/type-39-kit-2&lt;br /&gt;
# &#039;&#039;&#039;RentTele&#039;&#039;&#039;: Sumitomo Type-39 Fusion Splicer. https://renttele.com/product/sumitomo-type-39-fusion-splicer/&lt;br /&gt;
# &#039;&#039;&#039;SplicerStore&#039;&#039;&#039;: Sumitomo Fusion Splicer - Type-39. https://splicerstore.com/fusion-splicer/sumitomo-fusion-splicer-type-39/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: Sumitomo Type-39 SM MM Fusion Splicer w/ Cleaver. https://www.aaatesters.com/sumitomo-type-39-fusion-splicer-model-type39-sumitomo-39.html&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Bancada no fundo&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 11284&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: splicer fusão automático&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770201&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=760</id>
		<title>Sumitomo Type-39</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=760"/>
		<updated>2024-12-16T16:56:32Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Sumitomo Type-39 Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Sumitomo Type-39 FastCat is a fully automatic, highly portable, self-contained core alignment fusion splicer designed for creating quick and effortless low-loss optical fiber splices in any environment. It features a Dual-Automatic Heater System with Auto Start Heater and Auto Start Splice functions, making it the fastest splicer available today.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Dual Independent Splice Protection Heaters&#039;&#039;&#039;: Reduces the bottleneck of “heater wait time” by 88%.&lt;br /&gt;
* &#039;&#039;&#039;Automatic Splice and Heater Start&#039;&#039;&#039;: Improves splicing efficiency by 70%.&lt;br /&gt;
* &#039;&#039;&#039;Automatic Fiber Profiling Detection&#039;&#039;&#039;: Ensures accurate and repeatable splice results.&lt;br /&gt;
* &#039;&#039;&#039;High-resolution Direct Core Monitoring (HDCM) Technology&#039;&#039;&#039;: Forms repeatable low-loss splice results.&lt;br /&gt;
* &#039;&#039;&#039;5.6” Switchable Color Monitor&#039;&#039;&#039;: Allows for front to back or back to front operation.&lt;br /&gt;
* &#039;&#039;&#039;Built-in LED for V-Groove Illumination&#039;&#039;&#039;: Enhances visibility during splicing.&lt;br /&gt;
* &#039;&#039;&#039;User-Friendly Menu Selection System&#039;&#039;&#039;: Simplifies operation.&lt;br /&gt;
* &#039;&#039;&#039;Easier to Load Fiber Holder Unit (Type-39FH)&#039;&#039;&#039;: Compatible with splice-on connectors.&lt;br /&gt;
* &#039;&#039;&#039;24-Hour Technical Support&#039;&#039;&#039;: Available via 888-SPLICER.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;specifications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Specifications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: Single-mode, multimode, dispersion shifted, and other specialty fibers.&lt;br /&gt;
* &#039;&#039;&#039;Typical Splice Loss&#039;&#039;&#039;: 0.02 dB for identical single-mode fiber.&lt;br /&gt;
* &#039;&#039;&#039;Heater Cycle Time&#039;&#039;&#039;: 30 seconds for 60mm Fiber Protection Sleeves.&lt;br /&gt;
* &#039;&#039;&#039;Splice Cycle Time&#039;&#039;&#039;: 9 seconds.&lt;br /&gt;
* &#039;&#039;&#039;Power Requirement&#039;&#039;&#039;: 100 to 240V AC; 50/60Hz, 12V DC.&lt;br /&gt;
* &#039;&#039;&#039;Weight&#039;&#039;&#039;: 2.8 kg (6.2 lbs).&lt;br /&gt;
* &#039;&#039;&#039;Dimensions&#039;&#039;&#039;: 150W x 150D x 150H mm (5.9W x 5.9D x 5.9H in).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;applications&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Applications ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Optical Fiber Splicing&#039;&#039;&#039;: Suitable for various environments and fiber types.&lt;br /&gt;
* &#039;&#039;&#039;Splice-On Connectors&#039;&#039;&#039;: Compatible with Type-39FH fiber holder unit.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: Sumitomo Type-39 Fusion Splicer Specifications. https://www.aaatesters.com/pub/media/datasheets/sumitomo_type-39_specifications_spec_sheet.pdf&lt;br /&gt;
# &#039;&#039;&#039;Fiberoptics4Sale&#039;&#039;&#039;: Sumitomo Type-39 FastCat Core Alignment Fusion Splicer Kit 2. https://www.fiberoptics4sale.com/products/type-39-kit-2&lt;br /&gt;
# &#039;&#039;&#039;RentTele&#039;&#039;&#039;: Sumitomo Type-39 Fusion Splicer. https://renttele.com/product/sumitomo-type-39-fusion-splicer/&lt;br /&gt;
# &#039;&#039;&#039;SplicerStore&#039;&#039;&#039;: Sumitomo Fusion Splicer - Type-39. https://splicerstore.com/fusion-splicer/sumitomo-fusion-splicer-type-39/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: Sumitomo Type-39 SM MM Fusion Splicer w/ Cleaver. https://www.aaatesters.com/sumitomo-type-39-fusion-splicer-model-type39-sumitomo-39.html&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=759</id>
		<title>Sumitomo Type-39</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-39&amp;diff=759"/>
		<updated>2024-12-16T16:56:32Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=758</id>
		<title>Sumitomo Type-37SE</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=758"/>
		<updated>2024-12-16T16:55:55Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO770101.jpg|alt=Sumitomo Type-37SE|thumb|Sumitomo Type-37SE]]&#039;&#039;&#039;Sumitomo Type-37SE Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Sumitomo Type-37SE is a lightweight, portable, fully automatic, self-contained instrument designed for creating low-loss optical fiber splices. It is a micro-core alignment fusion splicer that supports various fiber types including single-mode fiber (SMF), multimode fiber (MMF), NZ-DSF, CSF, and Er-doped Fiber.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Instruments]]&lt;br /&gt;
&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Alignment Method&#039;&#039;&#039;: Core alignment&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: SMF, MMF, NZ-DSF, CSF, Er-doped Fiber&lt;br /&gt;
* &#039;&#039;&#039;Cladding Diameter&#039;&#039;&#039;: 80-150 µm&lt;br /&gt;
* &#039;&#039;&#039;Coating Diameter&#039;&#039;&#039;: 250-900 µm&lt;br /&gt;
* &#039;&#039;&#039;Cleave Length&#039;&#039;&#039;: 8 to 16 mm&lt;br /&gt;
* &#039;&#039;&#039;Splice Loss&#039;&#039;&#039;:&lt;br /&gt;
** SMF: 0.02 dB&lt;br /&gt;
** MMF: 0.01 dB&lt;br /&gt;
** NZ-DSF: 0.04 dB&lt;br /&gt;
* &#039;&#039;&#039;Splice Cycle Time&#039;&#039;&#039;:&lt;br /&gt;
** Quick Mode: 11 seconds&lt;br /&gt;
** Standard Mode: 15 seconds&lt;br /&gt;
* &#039;&#039;&#039;Heater Cycle Time&#039;&#039;&#039;: 50 seconds (for 40mm sleeve)&lt;br /&gt;
* &#039;&#039;&#039;Power Supply&#039;&#039;&#039;:&lt;br /&gt;
** AC Power Module: 100-240V, 50/60Hz&lt;br /&gt;
** DC Battery Module: 10.5-14V, approximately 40 splice cycles&lt;br /&gt;
* &#039;&#039;&#039;Weight&#039;&#039;&#039;: 4.1 kg (9.0 lbs)&lt;br /&gt;
* &#039;&#039;&#039;Operating Conditions&#039;&#039;&#039;:&lt;br /&gt;
** Temperature: -10°C to 50°C&lt;br /&gt;
** Humidity: Up to 95% RH (non-condensing)&lt;br /&gt;
** Altitude: Up to 4000m&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;HDCM (High-resolution Direct Core Monitoring)&#039;&#039;&#039;: For core alignment and splice loss estimation&lt;br /&gt;
* &#039;&#039;&#039;AIAS Alignment System&#039;&#039;&#039;: For precise fiber alignment&lt;br /&gt;
* &#039;&#039;&#039;Simultaneous Dual Image Display&#039;&#039;&#039;: For enhanced visibility&lt;br /&gt;
* &#039;&#039;&#039;Tension Test&#039;&#039;&#039;: 1.96N (200gf) / 4.41N (450gf) (optional)&lt;br /&gt;
* &#039;&#039;&#039;Splice Data Storage&#039;&#039;&#039;: Up to 2400 splices with 18-character description&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;accessories&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Accessories ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cleaver&#039;&#039;&#039;: FC-6S-C, FC-7S, FCP-FH&lt;br /&gt;
* &#039;&#039;&#039;Fiber Holder&#039;&#039;&#039;: FH37-025 (0.25mm), FH37-09 (0.9mm)&lt;br /&gt;
* &#039;&#039;&#039;Jacket Remover&#039;&#039;&#039;: JR-22, JR-5FH&lt;br /&gt;
* &#039;&#039;&#039;Battery&#039;&#039;&#039;: BU-65&lt;br /&gt;
* &#039;&#039;&#039;DC Input Adaptor&#039;&#039;&#039;: DC-65&lt;br /&gt;
* &#039;&#039;&#039;Vehicle Adaptor Cable&#039;&#039;&#039;: PC-V&lt;br /&gt;
* &#039;&#039;&#039;Ultrasonic Cleaner&#039;&#039;&#039;: UFC-1&lt;br /&gt;
* &#039;&#039;&#039;Protection Sleeve&#039;&#039;&#039;: FPS-1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Fiber Optic Parts&#039;&#039;&#039;: https://fiberopticparts.com/product/sumitomo-type-37se-fusion-splicer/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: https://www.aaatesters.com/pub/media/datasheets/sumitomo_type-37se_specifications_spec_sheet.pdf&lt;br /&gt;
# &#039;&#039;&#039;Sumitomo Electric (US)&#039;&#039;&#039;: https://global-sei.com/sumitomo-electric-splicers/americas/&lt;br /&gt;
# &#039;&#039;&#039;AssetRelay&#039;&#039;&#039;: https://assetrelay.com/shop/fusion-splicers/3627-sumitomo-type-37se-fusion-splicer.html&lt;br /&gt;
# &#039;&#039;&#039;Fosco Connect&#039;&#039;&#039;: https://www.fiberoptics4sale.com/products/srps-sumitomo-37&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Bancada no fundo&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 1736&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: splicer fusão&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770101&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=757</id>
		<title>Sumitomo Type-37SE</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=757"/>
		<updated>2024-12-16T16:55:55Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO770101.jpg|alt=Sumitomo Type-37SE|thumb|Sumitomo Type-37SE]]&#039;&#039;&#039;Sumitomo Type-37SE Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Sumitomo Type-37SE is a lightweight, portable, fully automatic, self-contained instrument designed for creating low-loss optical fiber splices. It is a micro-core alignment fusion splicer that supports various fiber types including single-mode fiber (SMF), multimode fiber (MMF), NZ-DSF, CSF, and Er-doped Fiber.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Alignment Method&#039;&#039;&#039;: Core alignment&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: SMF, MMF, NZ-DSF, CSF, Er-doped Fiber&lt;br /&gt;
* &#039;&#039;&#039;Cladding Diameter&#039;&#039;&#039;: 80-150 µm&lt;br /&gt;
* &#039;&#039;&#039;Coating Diameter&#039;&#039;&#039;: 250-900 µm&lt;br /&gt;
* &#039;&#039;&#039;Cleave Length&#039;&#039;&#039;: 8 to 16 mm&lt;br /&gt;
* &#039;&#039;&#039;Splice Loss&#039;&#039;&#039;:&lt;br /&gt;
** SMF: 0.02 dB&lt;br /&gt;
** MMF: 0.01 dB&lt;br /&gt;
** NZ-DSF: 0.04 dB&lt;br /&gt;
* &#039;&#039;&#039;Splice Cycle Time&#039;&#039;&#039;:&lt;br /&gt;
** Quick Mode: 11 seconds&lt;br /&gt;
** Standard Mode: 15 seconds&lt;br /&gt;
* &#039;&#039;&#039;Heater Cycle Time&#039;&#039;&#039;: 50 seconds (for 40mm sleeve)&lt;br /&gt;
* &#039;&#039;&#039;Power Supply&#039;&#039;&#039;:&lt;br /&gt;
** AC Power Module: 100-240V, 50/60Hz&lt;br /&gt;
** DC Battery Module: 10.5-14V, approximately 40 splice cycles&lt;br /&gt;
* &#039;&#039;&#039;Weight&#039;&#039;&#039;: 4.1 kg (9.0 lbs)&lt;br /&gt;
* &#039;&#039;&#039;Operating Conditions&#039;&#039;&#039;:&lt;br /&gt;
** Temperature: -10°C to 50°C&lt;br /&gt;
** Humidity: Up to 95% RH (non-condensing)&lt;br /&gt;
** Altitude: Up to 4000m&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;HDCM (High-resolution Direct Core Monitoring)&#039;&#039;&#039;: For core alignment and splice loss estimation&lt;br /&gt;
* &#039;&#039;&#039;AIAS Alignment System&#039;&#039;&#039;: For precise fiber alignment&lt;br /&gt;
* &#039;&#039;&#039;Simultaneous Dual Image Display&#039;&#039;&#039;: For enhanced visibility&lt;br /&gt;
* &#039;&#039;&#039;Tension Test&#039;&#039;&#039;: 1.96N (200gf) / 4.41N (450gf) (optional)&lt;br /&gt;
* &#039;&#039;&#039;Splice Data Storage&#039;&#039;&#039;: Up to 2400 splices with 18-character description&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;accessories&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Accessories ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cleaver&#039;&#039;&#039;: FC-6S-C, FC-7S, FCP-FH&lt;br /&gt;
* &#039;&#039;&#039;Fiber Holder&#039;&#039;&#039;: FH37-025 (0.25mm), FH37-09 (0.9mm)&lt;br /&gt;
* &#039;&#039;&#039;Jacket Remover&#039;&#039;&#039;: JR-22, JR-5FH&lt;br /&gt;
* &#039;&#039;&#039;Battery&#039;&#039;&#039;: BU-65&lt;br /&gt;
* &#039;&#039;&#039;DC Input Adaptor&#039;&#039;&#039;: DC-65&lt;br /&gt;
* &#039;&#039;&#039;Vehicle Adaptor Cable&#039;&#039;&#039;: PC-V&lt;br /&gt;
* &#039;&#039;&#039;Ultrasonic Cleaner&#039;&#039;&#039;: UFC-1&lt;br /&gt;
* &#039;&#039;&#039;Protection Sleeve&#039;&#039;&#039;: FPS-1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Fiber Optic Parts&#039;&#039;&#039;: https://fiberopticparts.com/product/sumitomo-type-37se-fusion-splicer/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: https://www.aaatesters.com/pub/media/datasheets/sumitomo_type-37se_specifications_spec_sheet.pdf&lt;br /&gt;
# &#039;&#039;&#039;Sumitomo Electric (US)&#039;&#039;&#039;: https://global-sei.com/sumitomo-electric-splicers/americas/&lt;br /&gt;
# &#039;&#039;&#039;AssetRelay&#039;&#039;&#039;: https://assetrelay.com/shop/fusion-splicers/3627-sumitomo-type-37se-fusion-splicer.html&lt;br /&gt;
# &#039;&#039;&#039;Fosco Connect&#039;&#039;&#039;: https://www.fiberoptics4sale.com/products/srps-sumitomo-37&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Bancada no fundo&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 1736&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: splicer fusão&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770101&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO770101.jpg&amp;diff=756</id>
		<title>File:LCO770101.jpg</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO770101.jpg&amp;diff=756"/>
		<updated>2024-12-16T16:55:55Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Photo of Sumitomo Type-37SE&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Photo of Sumitomo Type-37SE&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=755</id>
		<title>Sumitomo Type-37SE</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=755"/>
		<updated>2024-12-16T16:55:54Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: /* Other info */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Sumitomo Type-37SE Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Sumitomo Type-37SE is a lightweight, portable, fully automatic, self-contained instrument designed for creating low-loss optical fiber splices. It is a micro-core alignment fusion splicer that supports various fiber types including single-mode fiber (SMF), multimode fiber (MMF), NZ-DSF, CSF, and Er-doped Fiber.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Alignment Method&#039;&#039;&#039;: Core alignment&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: SMF, MMF, NZ-DSF, CSF, Er-doped Fiber&lt;br /&gt;
* &#039;&#039;&#039;Cladding Diameter&#039;&#039;&#039;: 80-150 µm&lt;br /&gt;
* &#039;&#039;&#039;Coating Diameter&#039;&#039;&#039;: 250-900 µm&lt;br /&gt;
* &#039;&#039;&#039;Cleave Length&#039;&#039;&#039;: 8 to 16 mm&lt;br /&gt;
* &#039;&#039;&#039;Splice Loss&#039;&#039;&#039;:&lt;br /&gt;
** SMF: 0.02 dB&lt;br /&gt;
** MMF: 0.01 dB&lt;br /&gt;
** NZ-DSF: 0.04 dB&lt;br /&gt;
* &#039;&#039;&#039;Splice Cycle Time&#039;&#039;&#039;:&lt;br /&gt;
** Quick Mode: 11 seconds&lt;br /&gt;
** Standard Mode: 15 seconds&lt;br /&gt;
* &#039;&#039;&#039;Heater Cycle Time&#039;&#039;&#039;: 50 seconds (for 40mm sleeve)&lt;br /&gt;
* &#039;&#039;&#039;Power Supply&#039;&#039;&#039;:&lt;br /&gt;
** AC Power Module: 100-240V, 50/60Hz&lt;br /&gt;
** DC Battery Module: 10.5-14V, approximately 40 splice cycles&lt;br /&gt;
* &#039;&#039;&#039;Weight&#039;&#039;&#039;: 4.1 kg (9.0 lbs)&lt;br /&gt;
* &#039;&#039;&#039;Operating Conditions&#039;&#039;&#039;:&lt;br /&gt;
** Temperature: -10°C to 50°C&lt;br /&gt;
** Humidity: Up to 95% RH (non-condensing)&lt;br /&gt;
** Altitude: Up to 4000m&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;HDCM (High-resolution Direct Core Monitoring)&#039;&#039;&#039;: For core alignment and splice loss estimation&lt;br /&gt;
* &#039;&#039;&#039;AIAS Alignment System&#039;&#039;&#039;: For precise fiber alignment&lt;br /&gt;
* &#039;&#039;&#039;Simultaneous Dual Image Display&#039;&#039;&#039;: For enhanced visibility&lt;br /&gt;
* &#039;&#039;&#039;Tension Test&#039;&#039;&#039;: 1.96N (200gf) / 4.41N (450gf) (optional)&lt;br /&gt;
* &#039;&#039;&#039;Splice Data Storage&#039;&#039;&#039;: Up to 2400 splices with 18-character description&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;accessories&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Accessories ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cleaver&#039;&#039;&#039;: FC-6S-C, FC-7S, FCP-FH&lt;br /&gt;
* &#039;&#039;&#039;Fiber Holder&#039;&#039;&#039;: FH37-025 (0.25mm), FH37-09 (0.9mm)&lt;br /&gt;
* &#039;&#039;&#039;Jacket Remover&#039;&#039;&#039;: JR-22, JR-5FH&lt;br /&gt;
* &#039;&#039;&#039;Battery&#039;&#039;&#039;: BU-65&lt;br /&gt;
* &#039;&#039;&#039;DC Input Adaptor&#039;&#039;&#039;: DC-65&lt;br /&gt;
* &#039;&#039;&#039;Vehicle Adaptor Cable&#039;&#039;&#039;: PC-V&lt;br /&gt;
* &#039;&#039;&#039;Ultrasonic Cleaner&#039;&#039;&#039;: UFC-1&lt;br /&gt;
* &#039;&#039;&#039;Protection Sleeve&#039;&#039;&#039;: FPS-1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Fiber Optic Parts&#039;&#039;&#039;: https://fiberopticparts.com/product/sumitomo-type-37se-fusion-splicer/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: https://www.aaatesters.com/pub/media/datasheets/sumitomo_type-37se_specifications_spec_sheet.pdf&lt;br /&gt;
# &#039;&#039;&#039;Sumitomo Electric (US)&#039;&#039;&#039;: https://global-sei.com/sumitomo-electric-splicers/americas/&lt;br /&gt;
# &#039;&#039;&#039;AssetRelay&#039;&#039;&#039;: https://assetrelay.com/shop/fusion-splicers/3627-sumitomo-type-37se-fusion-splicer.html&lt;br /&gt;
# &#039;&#039;&#039;Fosco Connect&#039;&#039;&#039;: https://www.fiberoptics4sale.com/products/srps-sumitomo-37&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Bancada no fundo&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: 1736&lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/01/1900&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: splicer fusão&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO770101&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Ferramenta&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=754</id>
		<title>Sumitomo Type-37SE</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=754"/>
		<updated>2024-12-16T16:55:54Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Sumitomo Type-37SE Fusion Splicer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Sumitomo Type-37SE is a lightweight, portable, fully automatic, self-contained instrument designed for creating low-loss optical fiber splices. It is a micro-core alignment fusion splicer that supports various fiber types including single-mode fiber (SMF), multimode fiber (MMF), NZ-DSF, CSF, and Er-doped Fiber.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;key-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Key Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Alignment Method&#039;&#039;&#039;: Core alignment&lt;br /&gt;
* &#039;&#039;&#039;Fiber Types&#039;&#039;&#039;: SMF, MMF, NZ-DSF, CSF, Er-doped Fiber&lt;br /&gt;
* &#039;&#039;&#039;Cladding Diameter&#039;&#039;&#039;: 80-150 µm&lt;br /&gt;
* &#039;&#039;&#039;Coating Diameter&#039;&#039;&#039;: 250-900 µm&lt;br /&gt;
* &#039;&#039;&#039;Cleave Length&#039;&#039;&#039;: 8 to 16 mm&lt;br /&gt;
* &#039;&#039;&#039;Splice Loss&#039;&#039;&#039;:&lt;br /&gt;
** SMF: 0.02 dB&lt;br /&gt;
** MMF: 0.01 dB&lt;br /&gt;
** NZ-DSF: 0.04 dB&lt;br /&gt;
* &#039;&#039;&#039;Splice Cycle Time&#039;&#039;&#039;:&lt;br /&gt;
** Quick Mode: 11 seconds&lt;br /&gt;
** Standard Mode: 15 seconds&lt;br /&gt;
* &#039;&#039;&#039;Heater Cycle Time&#039;&#039;&#039;: 50 seconds (for 40mm sleeve)&lt;br /&gt;
* &#039;&#039;&#039;Power Supply&#039;&#039;&#039;:&lt;br /&gt;
** AC Power Module: 100-240V, 50/60Hz&lt;br /&gt;
** DC Battery Module: 10.5-14V, approximately 40 splice cycles&lt;br /&gt;
* &#039;&#039;&#039;Weight&#039;&#039;&#039;: 4.1 kg (9.0 lbs)&lt;br /&gt;
* &#039;&#039;&#039;Operating Conditions&#039;&#039;&#039;:&lt;br /&gt;
** Temperature: -10°C to 50°C&lt;br /&gt;
** Humidity: Up to 95% RH (non-condensing)&lt;br /&gt;
** Altitude: Up to 4000m&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;additional-features&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Additional Features ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;HDCM (High-resolution Direct Core Monitoring)&#039;&#039;&#039;: For core alignment and splice loss estimation&lt;br /&gt;
* &#039;&#039;&#039;AIAS Alignment System&#039;&#039;&#039;: For precise fiber alignment&lt;br /&gt;
* &#039;&#039;&#039;Simultaneous Dual Image Display&#039;&#039;&#039;: For enhanced visibility&lt;br /&gt;
* &#039;&#039;&#039;Tension Test&#039;&#039;&#039;: 1.96N (200gf) / 4.41N (450gf) (optional)&lt;br /&gt;
* &#039;&#039;&#039;Splice Data Storage&#039;&#039;&#039;: Up to 2400 splices with 18-character description&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;accessories&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Accessories ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Cleaver&#039;&#039;&#039;: FC-6S-C, FC-7S, FCP-FH&lt;br /&gt;
* &#039;&#039;&#039;Fiber Holder&#039;&#039;&#039;: FH37-025 (0.25mm), FH37-09 (0.9mm)&lt;br /&gt;
* &#039;&#039;&#039;Jacket Remover&#039;&#039;&#039;: JR-22, JR-5FH&lt;br /&gt;
* &#039;&#039;&#039;Battery&#039;&#039;&#039;: BU-65&lt;br /&gt;
* &#039;&#039;&#039;DC Input Adaptor&#039;&#039;&#039;: DC-65&lt;br /&gt;
* &#039;&#039;&#039;Vehicle Adaptor Cable&#039;&#039;&#039;: PC-V&lt;br /&gt;
* &#039;&#039;&#039;Ultrasonic Cleaner&#039;&#039;&#039;: UFC-1&lt;br /&gt;
* &#039;&#039;&#039;Protection Sleeve&#039;&#039;&#039;: FPS-1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;references&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Fiber Optic Parts&#039;&#039;&#039;: https://fiberopticparts.com/product/sumitomo-type-37se-fusion-splicer/&lt;br /&gt;
# &#039;&#039;&#039;AAATesters&#039;&#039;&#039;: https://www.aaatesters.com/pub/media/datasheets/sumitomo_type-37se_specifications_spec_sheet.pdf&lt;br /&gt;
# &#039;&#039;&#039;Sumitomo Electric (US)&#039;&#039;&#039;: https://global-sei.com/sumitomo-electric-splicers/americas/&lt;br /&gt;
# &#039;&#039;&#039;AssetRelay&#039;&#039;&#039;: https://assetrelay.com/shop/fusion-splicers/3627-sumitomo-type-37se-fusion-splicer.html&lt;br /&gt;
# &#039;&#039;&#039;Fosco Connect&#039;&#039;&#039;: https://www.fiberoptics4sale.com/products/srps-sumitomo-37&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=753</id>
		<title>Sumitomo Type-37SE</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Sumitomo_Type-37SE&amp;diff=753"/>
		<updated>2024-12-16T16:55:54Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Created blank page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Edmund_Optics_E-Zoom6&amp;diff=752</id>
		<title>Edmund Optics E-Zoom6</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Edmund_Optics_E-Zoom6&amp;diff=752"/>
		<updated>2024-12-16T16:55:19Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO710301.jpg|alt=Edmund Optics E-Zoom6|thumb|Edmund Optics E-Zoom6]]&#039;&#039;&#039;Edmund Optics E-Zoom6 Microscope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Edmund Optics E-Zoom6 is a stereo zoom microscope designed for versatility and durability, suitable for both laboratory and factory floor environments. Here are some key features and specifications:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Zoom Ratio&#039;&#039;&#039;: 6.3:1 zoom ratio with a magnification range of 0.8X to 5.0X[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Working Distance&#039;&#039;&#039;: Long working distances ranging from 43.5 mm to 211 mm, depending on the model and magnification[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Ergonomic Design&#039;&#039;&#039;: Ergonomically designed for long observation periods, with a rugged housing sealed to prevent contaminants such as dust, oil, and water from interfering with the microscope’s performance[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Electrostatic Discharge Protection&#039;&#039;&#039;: Designed to dissipate electricity almost immediately to prevent electrostatic discharge, making it safe for inspecting electronic components[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Trinocular Version&#039;&#039;&#039;: The E-Zoom6V features a trinocular port with a C-Mount for electronic imaging with any 1/2” sensor C-Mount cameras[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Eyepieces&#039;&#039;&#039;: Includes a pair of 10X eyepieces with built-in diopter adjustment, allowing simultaneous viewing of the sample and reticle. Optional 15X and 20X eyepieces are available[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Supplemental Lenses&#039;&#039;&#039;: 0.5X and 2.0X supplemental lenses can be used to expand the magnification range[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Mounting Options&#039;&#039;&#039;: Various mounting options are available, including a basic stand with rack and pinion mount and boom stands for more robust mounting solutions[2].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applications&#039;&#039;&#039;: - &#039;&#039;&#039;Laboratory and Factory Floor Use&#039;&#039;&#039;: Suitable for laboratory and factory floor environments due to its durability and versatility. - &#039;&#039;&#039;Offline Inspection&#039;&#039;&#039;: Ideal for offline inspection applications including circuit board, biological samples, and gemology[2].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References&#039;&#039;&#039;: 1. &#039;&#039;&#039;Edmund Optics Sourcebook 2016&#039;&#039;&#039;. (2016). Edmund Optics. Retrieved from: https://quad2.mydigitalpublication.com/2016?i=285675&amp;amp;amp;p=332&amp;amp;amp;view=issueViewer 2. &#039;&#039;&#039;Edmund Optics Introduces Stereo Zoom Microscopes&#039;&#039;&#039;. (2007, May 16). Photonicsonline. Retrieved from: https://www.photonicsonline.com/doc/edmund-optics-introduces-stereo-zoom-microsco-0001 3. &#039;&#039;&#039;Understanding Microscopes and Objectives&#039;&#039;&#039;. Edmund Optics. Retrieved from: https://www.edmundoptics.co.uk/knowledge-center/application-notes/microscopy/understanding-microscopes-and-objectives/ 4. &#039;&#039;&#039;Optical Microscope&#039;&#039;&#039;. Wikipedia. Retrieved from: https://en.wikipedia.org/wiki/Optical_microscope 5. &#039;&#039;&#039;Microscope Systems&#039;&#039;&#039;. Edmund Optics. Retrieved from: https://www.edmundoptics.com/c/microscope-systems/628/&lt;br /&gt;
&lt;br /&gt;
[[Category:Instruments]]&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Bancada 3&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/02/2013&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: microscópio geral&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO710301&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Microscópio&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Edmund_Optics_E-Zoom6&amp;diff=751</id>
		<title>Edmund Optics E-Zoom6</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Edmund_Optics_E-Zoom6&amp;diff=751"/>
		<updated>2024-12-16T16:55:19Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LCO710301.jpg|alt=Edmund Optics E-Zoom6|thumb|Edmund Optics E-Zoom6]]&#039;&#039;&#039;Edmund Optics E-Zoom6 Microscope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Edmund Optics E-Zoom6 is a stereo zoom microscope designed for versatility and durability, suitable for both laboratory and factory floor environments. Here are some key features and specifications:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Zoom Ratio&#039;&#039;&#039;: 6.3:1 zoom ratio with a magnification range of 0.8X to 5.0X[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Working Distance&#039;&#039;&#039;: Long working distances ranging from 43.5 mm to 211 mm, depending on the model and magnification[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Ergonomic Design&#039;&#039;&#039;: Ergonomically designed for long observation periods, with a rugged housing sealed to prevent contaminants such as dust, oil, and water from interfering with the microscope’s performance[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Electrostatic Discharge Protection&#039;&#039;&#039;: Designed to dissipate electricity almost immediately to prevent electrostatic discharge, making it safe for inspecting electronic components[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Trinocular Version&#039;&#039;&#039;: The E-Zoom6V features a trinocular port with a C-Mount for electronic imaging with any 1/2” sensor C-Mount cameras[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Eyepieces&#039;&#039;&#039;: Includes a pair of 10X eyepieces with built-in diopter adjustment, allowing simultaneous viewing of the sample and reticle. Optional 15X and 20X eyepieces are available[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Supplemental Lenses&#039;&#039;&#039;: 0.5X and 2.0X supplemental lenses can be used to expand the magnification range[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Mounting Options&#039;&#039;&#039;: Various mounting options are available, including a basic stand with rack and pinion mount and boom stands for more robust mounting solutions[2].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applications&#039;&#039;&#039;: - &#039;&#039;&#039;Laboratory and Factory Floor Use&#039;&#039;&#039;: Suitable for laboratory and factory floor environments due to its durability and versatility. - &#039;&#039;&#039;Offline Inspection&#039;&#039;&#039;: Ideal for offline inspection applications including circuit board, biological samples, and gemology[2].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References&#039;&#039;&#039;: 1. &#039;&#039;&#039;Edmund Optics Sourcebook 2016&#039;&#039;&#039;. (2016). Edmund Optics. Retrieved from: https://quad2.mydigitalpublication.com/2016?i=285675&amp;amp;amp;p=332&amp;amp;amp;view=issueViewer 2. &#039;&#039;&#039;Edmund Optics Introduces Stereo Zoom Microscopes&#039;&#039;&#039;. (2007, May 16). Photonicsonline. Retrieved from: https://www.photonicsonline.com/doc/edmund-optics-introduces-stereo-zoom-microsco-0001 3. &#039;&#039;&#039;Understanding Microscopes and Objectives&#039;&#039;&#039;. Edmund Optics. Retrieved from: https://www.edmundoptics.co.uk/knowledge-center/application-notes/microscopy/understanding-microscopes-and-objectives/ 4. &#039;&#039;&#039;Optical Microscope&#039;&#039;&#039;. Wikipedia. Retrieved from: https://en.wikipedia.org/wiki/Optical_microscope 5. &#039;&#039;&#039;Microscope Systems&#039;&#039;&#039;. Edmund Optics. Retrieved from: https://www.edmundoptics.com/c/microscope-systems/628/&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Bancada 3&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/02/2013&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: microscópio geral&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO710301&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Microscópio&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO710301.jpg&amp;diff=750</id>
		<title>File:LCO710301.jpg</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=File:LCO710301.jpg&amp;diff=750"/>
		<updated>2024-12-16T16:55:19Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: Photo of Edmund Optics E-Zoom6&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Photo of Edmund Optics E-Zoom6&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Edmund_Optics_E-Zoom6&amp;diff=749</id>
		<title>Edmund Optics E-Zoom6</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Edmund_Optics_E-Zoom6&amp;diff=749"/>
		<updated>2024-12-16T16:55:18Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: /* Other info */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Edmund Optics E-Zoom6 Microscope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Edmund Optics E-Zoom6 is a stereo zoom microscope designed for versatility and durability, suitable for both laboratory and factory floor environments. Here are some key features and specifications:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Zoom Ratio&#039;&#039;&#039;: 6.3:1 zoom ratio with a magnification range of 0.8X to 5.0X[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Working Distance&#039;&#039;&#039;: Long working distances ranging from 43.5 mm to 211 mm, depending on the model and magnification[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Ergonomic Design&#039;&#039;&#039;: Ergonomically designed for long observation periods, with a rugged housing sealed to prevent contaminants such as dust, oil, and water from interfering with the microscope’s performance[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Electrostatic Discharge Protection&#039;&#039;&#039;: Designed to dissipate electricity almost immediately to prevent electrostatic discharge, making it safe for inspecting electronic components[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Trinocular Version&#039;&#039;&#039;: The E-Zoom6V features a trinocular port with a C-Mount for electronic imaging with any 1/2” sensor C-Mount cameras[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Eyepieces&#039;&#039;&#039;: Includes a pair of 10X eyepieces with built-in diopter adjustment, allowing simultaneous viewing of the sample and reticle. Optional 15X and 20X eyepieces are available[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Supplemental Lenses&#039;&#039;&#039;: 0.5X and 2.0X supplemental lenses can be used to expand the magnification range[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Mounting Options&#039;&#039;&#039;: Various mounting options are available, including a basic stand with rack and pinion mount and boom stands for more robust mounting solutions[2].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applications&#039;&#039;&#039;: - &#039;&#039;&#039;Laboratory and Factory Floor Use&#039;&#039;&#039;: Suitable for laboratory and factory floor environments due to its durability and versatility. - &#039;&#039;&#039;Offline Inspection&#039;&#039;&#039;: Ideal for offline inspection applications including circuit board, biological samples, and gemology[2].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References&#039;&#039;&#039;: 1. &#039;&#039;&#039;Edmund Optics Sourcebook 2016&#039;&#039;&#039;. (2016). Edmund Optics. Retrieved from: https://quad2.mydigitalpublication.com/2016?i=285675&amp;amp;amp;p=332&amp;amp;amp;view=issueViewer 2. &#039;&#039;&#039;Edmund Optics Introduces Stereo Zoom Microscopes&#039;&#039;&#039;. (2007, May 16). Photonicsonline. Retrieved from: https://www.photonicsonline.com/doc/edmund-optics-introduces-stereo-zoom-microsco-0001 3. &#039;&#039;&#039;Understanding Microscopes and Objectives&#039;&#039;&#039;. Edmund Optics. Retrieved from: https://www.edmundoptics.co.uk/knowledge-center/application-notes/microscopy/understanding-microscopes-and-objectives/ 4. &#039;&#039;&#039;Optical Microscope&#039;&#039;&#039;. Wikipedia. Retrieved from: https://en.wikipedia.org/wiki/Optical_microscope 5. &#039;&#039;&#039;Microscope Systems&#039;&#039;&#039;. Edmund Optics. Retrieved from: https://www.edmundoptics.com/c/microscope-systems/628/&lt;br /&gt;
&lt;br /&gt;
== Other info ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Status&#039;&#039;&#039;: OK&lt;br /&gt;
* &#039;&#039;&#039;Last known location&#039;&#039;&#039;: Bancada 3&lt;br /&gt;
* &#039;&#039;&#039;Serial&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Inventory ID&#039;&#039;&#039;: &lt;br /&gt;
* &#039;&#039;&#039;Arrival Date&#039;&#039;&#039;: 01/02/2013&lt;br /&gt;
* &#039;&#039;&#039;Keywords&#039;&#039;&#039;: microscópio geral&lt;br /&gt;
* &#039;&#039;&#039;Old LCO ID&#039;&#039;&#039;: LCO710301&lt;br /&gt;
* &#039;&#039;&#039;Old LCO Category&#039;&#039;&#039;: Óptico - Microscópio&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
	<entry>
		<id>https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Edmund_Optics_E-Zoom6&amp;diff=748</id>
		<title>Edmund Optics E-Zoom6</title>
		<link rel="alternate" type="text/html" href="https://photonwiki.ifi.unicamp.br/wiki/index.php?title=Edmund_Optics_E-Zoom6&amp;diff=748"/>
		<updated>2024-12-16T16:55:18Z</updated>

		<summary type="html">&lt;p&gt;Jarschel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Edmund Optics E-Zoom6 Microscope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Edmund Optics E-Zoom6 is a stereo zoom microscope designed for versatility and durability, suitable for both laboratory and factory floor environments. Here are some key features and specifications:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Zoom Ratio&#039;&#039;&#039;: 6.3:1 zoom ratio with a magnification range of 0.8X to 5.0X[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Working Distance&#039;&#039;&#039;: Long working distances ranging from 43.5 mm to 211 mm, depending on the model and magnification[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Ergonomic Design&#039;&#039;&#039;: Ergonomically designed for long observation periods, with a rugged housing sealed to prevent contaminants such as dust, oil, and water from interfering with the microscope’s performance[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Electrostatic Discharge Protection&#039;&#039;&#039;: Designed to dissipate electricity almost immediately to prevent electrostatic discharge, making it safe for inspecting electronic components[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Trinocular Version&#039;&#039;&#039;: The E-Zoom6V features a trinocular port with a C-Mount for electronic imaging with any 1/2” sensor C-Mount cameras[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Eyepieces&#039;&#039;&#039;: Includes a pair of 10X eyepieces with built-in diopter adjustment, allowing simultaneous viewing of the sample and reticle. Optional 15X and 20X eyepieces are available[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Supplemental Lenses&#039;&#039;&#039;: 0.5X and 2.0X supplemental lenses can be used to expand the magnification range[1][2].&lt;br /&gt;
* &#039;&#039;&#039;Mounting Options&#039;&#039;&#039;: Various mounting options are available, including a basic stand with rack and pinion mount and boom stands for more robust mounting solutions[2].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applications&#039;&#039;&#039;: - &#039;&#039;&#039;Laboratory and Factory Floor Use&#039;&#039;&#039;: Suitable for laboratory and factory floor environments due to its durability and versatility. - &#039;&#039;&#039;Offline Inspection&#039;&#039;&#039;: Ideal for offline inspection applications including circuit board, biological samples, and gemology[2].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References&#039;&#039;&#039;: 1. &#039;&#039;&#039;Edmund Optics Sourcebook 2016&#039;&#039;&#039;. (2016). Edmund Optics. Retrieved from: https://quad2.mydigitalpublication.com/2016?i=285675&amp;amp;amp;p=332&amp;amp;amp;view=issueViewer 2. &#039;&#039;&#039;Edmund Optics Introduces Stereo Zoom Microscopes&#039;&#039;&#039;. (2007, May 16). Photonicsonline. Retrieved from: https://www.photonicsonline.com/doc/edmund-optics-introduces-stereo-zoom-microsco-0001 3. &#039;&#039;&#039;Understanding Microscopes and Objectives&#039;&#039;&#039;. Edmund Optics. Retrieved from: https://www.edmundoptics.co.uk/knowledge-center/application-notes/microscopy/understanding-microscopes-and-objectives/ 4. &#039;&#039;&#039;Optical Microscope&#039;&#039;&#039;. Wikipedia. Retrieved from: https://en.wikipedia.org/wiki/Optical_microscope 5. &#039;&#039;&#039;Microscope Systems&#039;&#039;&#039;. Edmund Optics. Retrieved from: https://www.edmundoptics.com/c/microscope-systems/628/&lt;/div&gt;</summary>
		<author><name>Jarschel</name></author>
	</entry>
</feed>