Cite o software se você o estiver usando em sua publicação científica:
O mergulho é um visualizador interativo da Web 3D de até milhões de pontos em uma tela que representa dados. Destina-se a fornecer interação para visualizar dados de alta dimensão que foram previamente incorporados em 3D. Para incorporação (redução de dimensionalidade não linear, ou aprendizagem múltipla), recomendamos o LIMEVIS (um novo algoritmo pela Microsoft Research) ou TSNE.
Para uma demonstração on -line, clique aqui. Você também pode usar este site para fazer upload de seus conjuntos de dados em conformidade com o formato de dados descrito abaixo.
NOVO: Um pipeline para Linux que consiste em Largevis e Dive foi lançado aqui: https://github.com/sonjageorgievska/embed-dive.
A maneira mais simples é baixar o código e abrir index.html com o seu navegador. Experimente carregando conjuntos de dados na pasta de dados . O aplicativo pode funcionar completamente offline.
Para usá -lo com um servidor HTTP local:
npm install connect serve-staticnode server.jshttp://localhost:8082/index.html npm install para instalar todos os requisitos de compilaçãogrunt para construir. O JavaScript compilado resultante estará em dist/ e os documentos estarão em documentos em doc/ Todo ponto tem 3 coordenadas e um ID único. (Para uma melhor visualização, os valores absolutos das coordenadas devem ser menores que 1. Ao usar Largevis com semelhanças (pesos) como entrada, isso pode ser alcançado re-escalando as semelhanças para ser menor que 1.)
Um ponto também tem Properties :
Properties é uma lista de strings que podem estar vazias. Cada string, que é um número, representa o valor de uma propriedade numérica respectiva. Cada string que não é um número representa o valor de uma propriedade categórica respectiva. Esses valores são usados na seção de coloração da interface do usuário da página da web. Quando o usuário seleciona uma propriedade, se a propriedade tiver valores categóricos (não numéricos), cada ponto será colorido em uma cor que representa o valor da propriedade categórica. Se a propriedade for numérica, depois que o usuário selecionar uma cor, cada ponto será colorido com um tom da cor selecionada. A intensidade da cor corresponde à intensidade da propriedade selecionada para o ponto específico.Um nó também pode ter uma imagem associada a ele, consulte a seção de formato de dados para obter mais informações.
Um usuário pode pesquisar todos os pontos que contêm uma determinada substring em seus IDs, nomes ou propriedades, usando a seção de pesquisa . Então, todos os pontos que são uma partida ficam vermelhos e o resto fica cinza. Pode -se pesquisar também expressões booleanas de expressões regulares. Um exemplo de expressão booleana é xx AND yy OR NOT zz , onde xx, yy e zz são expressões regulares e não se liga mais do que e, que se liga mais que ou. Nesse caso, todos os pontos que contêm em seus metadados as expressões regulares xx e yy, ou que não contêm ZZ, serão coloridas em vermelho.
O show apenas encontrado nos nós mostrará apenas os nós que resultam da pesquisa.
O botão de cores do currículo na parte inferior retorna as cores dos pontos para o esquema de coloração anterior.
Conforme explicado na seção Descrição e funcionalidade dos dados .
Os dados estão em um formato JSON (JavaScript Object Notation). (Consulte os dados da pasta para exemplos.) Para obter data.js , primeiro uma estrutura de dados
Dictionary<string, Point>
é criado em qualquer linguagem de programação, onde as chaves são os id de pontos e Point é um objeto da classe
public class Point
{
public List<double> Coordinates;
public List<double> Properties;
}
Coordinates e Properties são as discutidas na seção anterior.
Em seguida, o dicionário é serializado usando o JavaScriptSserializer e escrito em data.json (o nome é flexível). Aqui está um exemplo de entrada do dicionário serializado em um arquivo Data.json :
"3951" : {
"Coordinates" : [ 0.99860800383893167 , 0.61276015046241838 , 0.450976426942296 ],
"Properties" : [ " 0 " , " 1 " , " 5 " , " 12688892 " , " 0.998 " , " 5 " , " True " , " 0 " , " False " , " 5 " , " 1 " , " True " , " 1 " , " 518 " , " 0 " , " -1 " , " Rhodotorula " , " " , " Sporidiobolales " , " Microbotryomycetes " ]
}Opcionalmente, se os dados tiverem propriedades, o dicionário também deve conter uma entrada
"NamesOfProperties" :[ " name1 " , " name2 " , , " name_n " ] Opcionalmente, se as imagens estiverem associadas aos nós, a imagem do nó poderá ser exibida em um pop-up ao passar o mouse sobre o nó. Se o arquivo de dados iniciar com namedataset_ a pasta com imagens deve ser images_namedataset nos data da pasta. (Veja exemplos nos data da pasta, desculpe pelo tamanho deles). O nome de uma imagem deve ser nodeId.jpg .
Se suas imagens tiverem uma extensão .png , a pasta fingerprints_namedataset é uma opção, embora atualmente seja feita para os fins de Sherlock.
A saída do LIMEVIS é um arquivo de texto - cada linha possui o ID do ponto e 3 coordenadas (números reais). Somente a primeira linha é uma exceção: ela contém o número de pontos e a dimensão. Aqui está um exemplo:
4271 3
0 -33.729916 17.692684 17.466749
1 -32.923210 17.249269 18.111458
Ele pode ser processado em uma entrada do visualizador usando o script python "makevizdatawithpropermetadata.py" na pasta "scripts_preparedata". É chamado com
python MakeVizDataWithProperMetaData.py -coord coordinatesFile -metadata metaDataFile -dir baseDir -np -namesOfPropertiesFile
coordinatesFile : o arquivo de saída do LIGVIS
metaData : arquivo contendo meta informações sobre dados. Formato: [id] [metadata] . Formato de metadados: "first_line" "second_line" "third_line" (o número de linhas não é limitado). Exemplo de linha de metadata : 35 "A dog" "Age:2" "Color brown" .
baseDir no diretório base para armazenar o arquivo de saída
namesOfPropertiesFile : um arquivo JSON contendo lista de nomes de propriedades. Ex: ["Height", "Weight", "Place of birth"] . Se o arquivo for omitido, seu nome deve ser "No"
O software é lançado sob a licença GPL2. Entre em contato com o autor se quiser uma versão com uma licença Apache