Skip to content

Latest commit

 

History

History
121 lines (88 loc) · 3.8 KB

File metadata and controls

121 lines (88 loc) · 3.8 KB

Open Jazari Library (OJL)

OJL Version Java Version Processing Build Status License

📘 Overview

OJL (Open Jazari Library) is a comprehensive framework designed for JVM languages, specializing in:

  • Matrix Operations
  • Data Visualization
  • Image Processing
  • Computer Vision
  • Machine Learning
  • Deep Learning
  • JAZO Labeling Tool
    • Classic Bounding Box
    • Classic Polygon
    • Spline Based Lane Labeling
    • [Future Version] Automatic Labeling (SAM Based)

📖 Academic Citation

Ataş, M. (2016). Open Cezeri Library: A novel java based matrix and computer vision framework. Computer Applications in Engineering Education, 24(5), 736-743.

🚀 Key Features

  • Full JVM language compatibility
  • High-performance matrix computations
  • Advanced visualization techniques
  • Integrated machine learning tools
  • Comprehensive image processing capabilities

📦 Installation

Maven Dependency

<dependency>
   <groupId>com.mycompany.ojl</groupId>
   <artifactId>OJL</artifactId>
   <version>1.0-SNAPSHOT</version>
</dependency> 

Gradle Dependency

implementation 'com.github.hakmesyo:ojl:1.0.0'

Lokal Geliştirme ve Entegrasyon

Eğer kütüphaneyi yerel makinenizde derleyip kendi projelerinizde kullanmak isterseniz:

  1. Projeyi Klonlayın: GitHub deposunu bilgisayarınıza indirin.
  2. Derleme: Proje dizininde mvn clean install komutunu çalıştırın. Bu işlem, OJL'yi yerel Maven deponuza (.m2) kaydeder.
  3. Kullanım: Başka bir projede kullanmak için sadece pom.xml dosyanıza yukarıdaki Maven bağımlılığını eklemeniz yeterlidir. Maven, .m2 deponuzdaki yerel kopyayı otomatik olarak kullanacaktır.

🛠 Usage Examples

1. Data Visualization: Perlin Noise Plotting

int min = -200;
int max = 200;
CMatrix cm1 = CMatrix.getInstance()
        .range(min, max)
        .perlinNoise(0.01f);
CMatrix cm2 = CMatrix.getInstance()
        .range(min, max)
        .perlinNoise(0.022f);
CMatrix cm = cm1.cat(1, cm2);
cm.plot(CMatrix.getInstance().range(min, max).toFloatArray1D());

2. Bar Plot with Custom Attributes

TFigureAttribute attr = new TFigureAttribute(
        "Lane Detection Performance Evaluation",
        new String[]{"Accuracy", "Groups"},
        new String[]{"Epoch-10", "Epoch-20", "Epoch-30", "Epoch-40", "Epoch-50"},
        new String[]{"SCNN", "U-Net", "ENet", "ENet-SAD"}
);
CMatrix cm = CMatrix.getInstance()
        .rand(4, 5, -150f, 151f)
        .bar(attr);

📚 Documentation

Comprehensive documentation available at OJL Documentation

🤝 Contributing

We welcome contributions! Please read our Contribution Guidelines

📞 Contact

👥 Contributors

Contributor Contribution Contact
Berkkan Kaya macOS (Apple Silicon) & Linux platform compatibility [email protected] · GitHub

📜 License

Distributed under Apache 2.0 License. See LICENSE for more information.


Note: OJL is continuously evolving. Your feedback and contributions are valuable! 🌈